質問
データベースには通常、従来の行指向のRDBMSまたはオブジェクト指向のデータベース(OODBMS)の2つのフレーバーがあります。しかし、90年代半ばには、列指向の新しい種類のデータベースが現れたことを覚えています。これらの一部には4GLという用語が与えられましたが、それが固執した用語だとは思いません。
私が知りたいことは次のとおりです:
- どの列指向データベースがまだ存在しますか?
- これらのデータベースのパフォーマンス特性は何ですか?
- オープンソースの列指向データベースはありますか?
- どのプラットフォームと相互運用するか(.NET、Javaなど)
- 彼らとの一般的な経験はどうですか?
使用したことを覚えている2つの列指向データベースは、FAMEとKDBです。
解決
HBase は、 GoogleのBigTable 。
他のヒント
Infobright
カラム指向のMySQLエンジンです
(ほぼ)すべてのMySQL api / interfaces / toolsを使用できますが、列指向です。
オープンソースであり、無料版があります。
倉庫保管に非常に適しています。 SQLサーバーに10Gigファクトテーブルがありました。
Infobrightは15MBに圧縮しました。
また、Michael StonebrakerのCストアもご覧ください。 Cストア(ソースコードおよび研究論文へのリンクを含む)
このペーパーには、列指向データベースに関する優れた視点が含まれており、ほとんどの質問に答えられるはずです。
論文を引用するには、
"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 は聞いたことのあるものです。
InfiniDB はCalpontによって最近リリースされたオープンソース(GPLv2)です。 MySQL APIのほとんどをサポートし、列指向の方法でデータを保存し、大規模な分析処理に最適化されています。
これは、異なる列指向のDBMS wikiが持っています 列指向のDBMS実装
Sybase IQは列指向です。テーブルを作成すると、すべての列に自動的にインデックスが付けられ、列内のデータが適切に圧縮されます。
優れたOLAPデータベース(...データウェアハウス)ですが、データウェアハウスの運用用に設計されているため、あらゆる種類のトランザクション処理にはお勧めしません。
パフォーマンス特性に関しては、SELECTは大量のデータに対して非常に高速ですが、INSERT / UPDATE / DELETEは、たとえばSybase ASEなどの標準OLTP DBと比較すると非常に低速です。テーブルロックはOLTPデータベースとも非常に異なるため、MAINデータストアで作業する場合、書き込み操作(INSERTSなど)に対して排他的なテーブルロックが必要です。
それ以外の場合は、T-SQL(Sybaseバージョン)およびWatcom SQLをサポートします。
乾杯、
ケビン