Domanda

Ho scoperto che i database sono generalmente disponibili in due versioni, il tradizionale RDBMS orientato alle righe o un database orientato agli oggetti (OODBMS). Tuttavia, a metà degli anni '90, ricordo, una nuova generazione di database mostrati orientati alle colonne. Ad alcuni di questi è stato assegnato il termine 4GL, ma non credo che sia stato un termine bloccato.

Quello che vorrei sapere è il seguente:

  • Quali database orientati alle colonne esistono ancora?
  • Quali sono le caratteristiche prestazionali di questi database?
  • Esistono database orientati alle colonne open source?
  • Con quali piattaforme interagiscono (.NET, Java, ecc.)
  • Qual è stata la tua esperienza generale con loro?

I due database orientati alle colonne con cui ricordo di aver lavorato sono FAME e KDB.

È stato utile?

Soluzione

HBase è un sistema di database orientato alle colonne open source modellato su BigTable di Google .

Altri suggerimenti

Infobright
È un motore MySQL orientato alle colonne
Puoi usare (quasi) tutti gli API / interfacce / strumenti di MySQL ma è orientato alle colonne.

È open-source e ha una versione gratuita.
È molto buono per lo stoccaggio. Avevo una tabella dei fatti 10Gig nel server SQL. Infobright lo ha compresso a 15 MB.

Dai un'occhiata anche al C-store di Michael Stonebraker: C-store (include collegamenti al codice sorgente e al documento di ricerca)

Il documento contiene un eccellente punto di vista sui database orientati alle colonne, che dovrebbero rispondere alla maggior parte delle tue domande.

Per citare il documento,

"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 di cui ho sentito parlare.

InfiniDB è stato recentemente rilasciato open source (GPLv2) da Calpont. Supporta la maggior parte dell'API MySQL e archivia i dati in modo orientato alle colonne ed è ottimizzato per l'elaborazione analitica su larga scala.

Ecco la diversa wiki di DBMS orientata alle colonne Implementazioni DBMS orientate alla colonna

Sybase IQ è orientato alla colonna. Tutte le colonne vengono automaticamente indicizzate quando si crea una tabella e i dati sono ben compressi nelle colonne.

È un bel database OLAP (... data warehouse) ma non lo consiglierei per nessun tipo di elaborazione delle transazioni in quanto è progettato per le operazioni di data warehouse.

Per quanto riguarda le caratteristiche prestazionali, SELECTS è molto veloce per grandi volumi di dati ma INSERT / UPDATE / DELETE sono molto lenti rispetto ad un DB OLTP standard come Sybase ASE, ad esempio. Anche il blocco delle tabelle è molto diverso da un database OLTP, quindi aspettati blocchi di tabella esclusivi per le operazioni di scrittura (INSERTS, ecc.) Quando lavori nell'archivio dati MAIN.

Altrimenti supporta T-SQL (versione Sybase) e Watcom SQL.

Saluti,

Kevin

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top