2008-11-26 17 views
16

que he encontrado normalmente vienen en dos sabores, su tradicional RDBMS por filas o una base de datos orientada a objetos (SGBDOO). Sin embargo, a mediados de los 90, recuerdo, una nueva generación de bases de datos que aparecían orientadas a columnas. A algunos de ellos se les dio el término 4GL, pero no creo que haya sido un término que haya quedado.Recomendaciones para las bases de datos de las columnas de base de datos orientada a

Lo que me gustaría saber es lo siguiente: todavía existen

    bases de datos orientadas
  • Lo columna?
  • ¿Cuáles son las características de funcionamiento de estas bases de datos?
  • ¿Existen bases de datos orientadas a columnas de código abierto?
  • Con qué plataformas interoperan (.NET, Java, etc.)
  • ¿Cuál ha sido su experiencia general con ellos?

Las bases de datos orientadas en dos columnas con las que recuerdo haber trabajado son FAME y KDB.

+3

No creo que 4GL haya estado generalmente asociado con 'bases de datos orientadas a columnas'; era una referencia al lenguaje de cuarta generación, donde C y los idiomas relacionados son/eran lenguajes de tercera generación, y los 4GL tienden a ser lenguajes "no procedimentales" o "no imperativos". –

+0

FYI Escribimos una comparación de algunas bases de datos de columnas aquí: http://www.timestored.com/time-series-data/column-oriented-databases –

Respuesta

7

Infobright
Es un motor MySQL orientada a columnas
Puede utilizar (casi) todas las API de MySQL/interfaces/herramientas pero es orientado a la columna.

Es de código abierto y tiene una versión gratuita.
Es muy bueno para el almacenamiento. Tenía una tabla de hechos de 10 Gig en el servidor SQL. Infobright lo comprimió a 15MB.

1

Sybase IQ está orientado a la columna. Todas las columnas se indexan automáticamente cuando se crea una tabla y los datos se comprimen muy bien en las columnas.

Es una buena base de datos OLAP (... almacén de datos) pero no lo recomendaría para ningún tipo de procesamiento de transacciones ya que está diseñado para operaciones de almacenamiento de datos.

En cuanto a las características de rendimiento, SELECTS son muy rápidos para grandes volúmenes de datos pero INSERT/UPDATE/DELETE son muy lentos en comparación con un estándar OLTP DB como Sybase ASE, por ejemplo. El bloqueo de tabla también es muy diferente de una base de datos OLTP, por lo que se esperan bloqueos de tabla exclusivos para las operaciones de escritura (INSERTOS, etc.) cuando se trabaja en el almacén de datos PRINCIPAL.

De lo contrario, es compatible con T-SQL (versión de Sybase) y Watcom SQL.

Saludos,

Kevin

4

También puedes ver de Michael Stonebraker C-tienda: C-store (includes links to source code and research paper)

El documento contiene un excelente punto de vista sobre las bases de datos en columnas, que debe responder a la mayoría de sus preguntas.

citar el papel,

"Most major DBMS vendors implement record-oriented 
storage systems, where the attributes of a record (or tuple) 
are placed contiguously in storage. With this row store 
architecture, a single disk write suffices to push all of the 
fields of a single record out to disk. Hence, high 
performance writes are achieved, and we call a DBMS 
with a row store architecture a write-optimized system. 

In contrast, systems oriented toward ad-hoc querying 
of large amounts of data should be read-optimized. Data 
warehouses represent one class of read-optimized system, 
in which periodically a bulk load of new data is 
performed, followed by a relatively long period of ad-hoc 
queries. Other read-mostly applications include customer 
relationship management (CRM) systems, electronic 
library card catalogs, and other ad-hoc inquiry systems. In 
such environments, a column store architecture, in which 
the values for each single column (or attribute) are stored 
contiguously, should be more efficient. This efficiency 
has been demonstrated in the warehouse marketplace by 
products like Sybase IQ [FREN95, SYBA04], Addamark 
[ADDA04], and KDB [KDB04]. In this paper, we discuss 
the design of a column store called C-Store that includes a 
number of novel features relative to existing systems." 
3

InfiniDB fue lanzado recientemente de código abierto (GPLv2) por Calpont. Admite la mayor parte de la API de MySQL y almacena datos de forma orientada a columnas, y está optimizado para el procesamiento analítico a gran escala.

Cuestiones relacionadas