Question

J'ai trouvé que les bases de données se déclinent généralement en deux versions: votre SGBDR orienté ligne traditionnel ou une base de données orientée objet (OODBMS). Cependant, au milieu des années 90, je me souviens d'une nouvelle génération de bases de données présentant des colonnes. Certains d'entre eux ont reçu le terme 4GL, mais je ne pense pas que ce soit un terme qui a collé.

Ce que j'aimerais savoir, c'est ce qui suit:

  • Quelles bases de données orientées colonnes existent toujours?
  • Quelles sont les caractéristiques de performance de ces bases de données?
  • Existe-t-il des bases de données open source orientées colonnes?
  • Avec quelles plateformes interagissent-ils (.NET, Java, etc.)
  • Quelle a été votre expérience générale avec eux?

Les bases de données orientées colonnes que je me souviens avoir travaillées sont FAME et KDB.

Était-ce utile?

La solution

HBase est un système de base de données à code source libre et à code source inspiré de Le BigTable de Google .

Autres conseils

Infobright
C'est un moteur MySQL orienté colonnes. Vous pouvez utiliser (presque) tous les api / interfaces / tools de MySQL, mais il est orienté colonne.

Il est open-source et possède une version gratuite.
C'est très bon pour l'entreposage. J'ai eu une table de faits 10Gig dans le serveur SQL. Infobright l'a compressé à 15 Mo.

Découvrez également le C-store de Michael Stonebraker: C-store (inclut des liens vers le code source et le document de recherche)

Le document contient un excellent point de vue sur les bases de données orientées colonnes, qui devrait répondre à la plupart de vos questions.

Pour citer le document,

"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."

Sybase IQ est celui dont j'ai entendu parler.

InfiniDB a récemment été publié en open source (GPLv2) par Calpont. Il supporte la plupart des API MySQL et stocke les données sous forme de colonnes. Il est optimisé pour le traitement analytique à grande échelle.

Voici les différents wiki de SGBD axés sur les colonnes Implémentations de SGBD orientées colonnes

Sybase IQ est orienté colonne. Toutes les colonnes sont automatiquement indexées lorsque vous créez une table et les données sont bien compressées dans les colonnes.

C'est une bonne base de données OLAP (... entrepôt de données), mais je ne le recommanderais pas pour tout type de traitement de transaction, car il est conçu pour les opérations d'entrepôt de données.

En ce qui concerne les caractéristiques de performances, SELECTS est très rapide pour les gros volumes de données, mais les actions INSERT / UPDATE / DELETE sont très lentes comparées à une base de données OLTP standard telle que Sybase ASE. Le verrouillage de table est également très différent d’une base de données OLTP. Par conséquent, attendez-vous à des verrous de table exclusifs pour les opérations d’écriture (INSERTS, etc.) lorsque vous travaillez dans le magasin de données MAIN.

Sinon, il prend en charge T-SQL (version Sybase) et Watcom SQL.

A bientôt,

Kevin

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top