2008-11-26 9 views
16

J'ai trouvé que les bases de données sont généralement disponibles en deux versions, votre SGBDR orienté ligne classique ou une base de données orientée objet (OODBMS). Cependant, au milieu des années 90, je me souviens, une nouvelle race de bases de données qui étaient axées sur les colonnes. Certains d'entre eux ont reçu le terme 4GL, mais je ne pense pas que ce terme soit resté.Recommandations pour la base de données orientée colonne

Ce que je voudrais savoir est la suivante:

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

Les deux bases de données orientées colonnes dont je me souviens de travailler avec sont FAME et KDB.

+3

Je ne pense pas que 4GL était généralement associé à des 'bases de données orientées colonne'; c'était une référence à la langue de quatrième génération, où C et les langues apparentées sont/étaient des langues de troisième génération, et les 4GL ont eu tendance à être des langues «non-procédurales» ou «non-impératives». –

+0

FYI Nous avons rédigé une comparaison de certaines bases de données de colonnes ici: http://www.timestored.com/time-series-data/column-oriented-databases –

Répondre

3

Sybase IQ est celui que je l'ai entendu parler.

7

Infobright
Il est un moteur de MySQL orienté colonne
Vous pouvez utiliser (presque) tous MySQL APIs/interfaces/outils, mais il est la colonne orientée.

Il est open-source et a 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.

1

Sybase IQ est orienté sur les colonnes. 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 belle base de données OLAP (... data warehouse) mais je ne la recommanderais pas pour tout type de traitement de transaction car elle est conçue pour les opérations d'entrepôt de données. En ce qui concerne les caractéristiques de performance, les SELECTS sont très rapides pour les gros volumes de données, mais INSERT/UPDATE/DELETE sont très lents par rapport à une base de données OLTP standard comme Sybase ASE par exemple. Le verrouillage de table est également très différent d'une base de données OLTP, alors attendez-vous à des verrous de table exclusifs pour les opérations d'écriture (INSERTS, etc.) lorsque vous travaillez dans le magasin de données PRINCIPAL.

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

Cheers,

Kevin

4

Consultez également C-magasin de Michael Stonebraker: C-store (includes links to source code and research paper)

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

Pour citer le papier,

"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 a été publié récemment open source (GPLv2) par Calpont. Il prend en charge la plupart des API MySQL et stocke les données de manière centrée sur les colonnes. Il est optimisé pour le traitement analytique à grande échelle.

Questions connexes