我发现数据库通常有两种形式,即传统的面向行的RDBMS或面向对象的数据库(OODBMS)。然而,在90年代中期我记得,一种新的数据库显示出面向列。其中一些被赋予了术语4GL,但我不认为这是一个卡住的术语。
我想知道的是:
我记得使用的两个面向列的数据库是FAME和KDB。
答案 0 :(得分:7)
HBase是一个以Google's BigTable为模型的面向开源列的数据库系统。
答案 1 :(得分:7)
Infobright
它是一个面向列的MySQL引擎
您可以使用(几乎)所有MySQL api / interfaces /工具,但它是面向列的。
它是开源的,有免费版本 这对仓储非常有利。我在SQL server中有一个10Gig事实表。 Infobright压缩到15MB。
答案 2 :(得分:4)
另请查看Michael Stonebraker的C-store: C-store (includes links to source code and research paper)
本文包含对面向列的数据库的优秀观点,应该回答您的大部分问题。
引用论文,
"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 :(得分:3)
Sybase IQ是我听说过的。
答案 4 :(得分:3)
InfiniDB最近由Calpont发布了开源(GPLv2)。它支持大多数MySQL API并以面向列的方式存储数据,并针对大规模分析处理进行了优化。
答案 5 :(得分:2)
这是面向DBMS wiki的不同列 Column-Oriented DBMS Implementations
答案 6 :(得分:1)
Sybase IQ是面向列的。创建表时会自动为所有列编制索引,并且在列中精确压缩数据。
这是一个不错的OLAP数据库(...数据仓库),但我不推荐它用于任何类型的事务处理,因为它是专为数据仓库操作而设计的。
对于性能特征,SELECTS对于大量数据非常快,但与标准OLTP DB(例如Sybase ASE)相比,INSERT / UPDATE / DELETE非常慢。表锁定也与OLTP数据库非常不同,因此在MAIN数据存储中工作时,期望对写操作(INSERTS等)进行独占表锁。
否则它支持T-SQL(Sybase版本)和Watcom SQL。
干杯,
凯文