Base de datos orientada a columnas vs base de datos orientada a filas

He utilizado el diseño de bases de datos orientadas a filas durante mucho tiempo y, a excepción de los proyectos de datawarehouse y Big Data samples, no he utilizado el diseño de bases de datos orientadas a columnas para la aplicación OLTP.

Mi tabla orientada fila se ve como

ID, Make, Model, Month, Miles, Cost
1   BMW   Z3     12     12000  100

Algunas personas en nuestro equipo abogan por el diseño de bases de datos orientadas a columnas. Sugieren que todos los nombres de columnas deben ser nombres de propiedades en una tabla de propiedades. Luego, otra tabla Cita tendrá dos columnas PropertyName y PropertyValue.

En el código .net, leemos cada clave y comparamos y convertimos a objeto fuertemente tipado. El código se está poniendo muy desordenado.

if (qwi.DomainCode == typeof(CoreBO.Base.iQQConstants.MBPCollateralInfo).Name)
     {
        if (qwi.RefCode == iQQConstants.MBPCollateralInfo.ENGINETYPE)
        {
           Aspiration = qwi.Value;
        }
        else if (qwi.RefCode == iQQConstants.MBPCollateralInfo.FUELTYPE)
        {
           FuelType = qwi.Value;
        }
        else if (qwi.RefCode == iQQConstants.MBPCollateralInfo.MAKE)
        {
           Make = qwi.Value;
        }
        else if (qwi.RefCode == iQQConstants.MBPCollateralInfo.MILEAGE)
        {
           int reading = 0;
           bool success = int.TryParse(qwi.Value, out reading);
           if (success)
           {
              OdometerReading = reading;
           }
}
}

El argumento para este diseño orientado a columnas es que no tendremos que cambiar el esquema de la tabla y el procedimiento almacenado (todavía estamos utilizando proc almacenado en lugar de Entity Framework).

Parece que nos dirigimos hacia un problema real. Es un diseño orientado a columnas bien aceptado en la industria.

Respuestas a la pregunta(5)

Su respuesta a la pregunta