¿Cómo funcionan las bases de datos columnares?
base de datos en columnas es un concepto más bien una determinada arquitectura / aplicación. En otras palabras, no hay una descripción particular sobre cómo funcionan estas bases de datos; de hecho, varios se basan en DBMS tradicional, orientado a filas, simplemente almacenando la información en tablas con una (o más bien a menudo dos) columnas (y agregando la capa necesaria para acceder a los datos de columna de una manera fácil).
¿Cómo difieren de las bases de datos relacionales? Por lo general, se diferencian de las bases de datos tradicionales (por filas) con respecto a ...
- rendimiento ...
- requisitos de almacenamiento ...
- facilidad de modificación del esquema ...
... en los casos de uso específicos de DBMSes.
En particular, ofrecen ventajas en las áreas mencionadas cuando el uso típico es calcular valores agregados en un número limitado de columnas, en lugar de tratar de recuperar todas/la mayoría de las columnas para una entidad determinada.
¿Existe una versión de prueba de una base de datos en columnas que pueda instalar para jugar? (Estoy en Windows 7) Sí, hay una implementación comercial, gratuita y también de código abierto de bases de datos columnares. Consulte la lista al final de Wikipedia article para empezar.
Tenga en cuenta que varias de estas implementaciones se introdujeron en una necesidad particular (por ejemplo, distribución de datos muy compacta, muy compresible o emulación de matrices de repuesto, etc.) en lugar de proporcionar un DBMS orientado a columnas de uso general per se.
Nota: El comentario sobre la "orientación de propósito único" de varios DBMS columnares no es una crítica de estas implementaciones, sino una indicación adicional de que dicho enfoque para DBMSes se desvía de lo más "natural" (y ciertamente más ampliamente utilizado) para almacenar entidades de registro. Como resultado, este enfoque se utiliza cuando el enfoque orientado a filas no es satisfactorio, y por lo tanto, y tiende a
a) ser designado para un propósito particular b) recibir menos recursos/interés que trabajar en "Propósito general", "Probado y probado", enfoque tabular.
Tentativamente, el modelo de datos Entity-Attribute-Value (EAV), puede ser una estrategia de almacenamiento alternativa que tal vez desee considerar. Aunque es distinto del modelo de DB columna "puro", EAV comparte varias de las características de los DB columnares.
Además del número reducido de búsquedas mencionadas en las respuestas, algunas implementaciones (por ejemplo, el almacén de columnas del servidor SQL) comprimirán los datos. Esto evita el filtrado de fila, pero también puede mejorar el rendimiento de la consulta. – Pace