面向列的数据库的建议
我发现数据库通常有两种类型:传统的面向行的 RDBMS 或面向对象的数据库 (OODBMS)。 然而,我记得在 90 年代中期,出现了一种新型的面向列的数据库。 其中一些被称为 4GL,但我认为这个术语并没有被沿用下来。
我想知道的是:
- 哪些面向列的数据库仍然存在?
- 这些数据库的性能特点是什么?
- 有没有开源的面向列的数据库?
- 它们与哪些平台进行互操作(.NET、Java 等)
- 您使用它们的一般经验是什么?
我记得使用过的两个面向列的数据库是 FAME 和 KDB。
I've found databases typically come in two flavors, your traditional row-oriented RDBMS or an object oriented database (OODBMS). However, in the mid 90s I remember, a new breed of databases showing up that were column oriented. Some of these were given the term 4GL, but I don't think it was a term that stuck.
What I'd like to know is the following:
- What column oriented databases still exist?
- What are the performance characteristics of these databases?
- Are there any open source column oriented databases?
- What platforms do they interoperate with (.NET, Java, etc)
- What's been your general experience with them?
The two column oriented databases that I remember working with are FAME and KDB.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
HBase 是一个开源的面向列的数据库系统,建模于 Google 的 BigTable。
HBase is an open-source column-oriented database system modelled on Google's BigTable.
Infobright
这是一个面向列的MySQL引擎
您可以使用(几乎)所有 MySQL api/接口/工具,但它是面向列的。
它是开源的并且有免费版本。
非常适合仓储。 我在 SQL Server 中有一个 10Gig 的事实表。
Infobright 将其压缩至 15MB。
Infobright
It's a column oriented MySQL engine
You can use (almost) all MySQL api's/interfaces/tools but it's column oriented.
It's open-source and has a free version.
It's very good for warehousing. I had a 10Gig fact table in SQL server.
Infobright compressed it to 15MB.
另请查看 Michael Stonebraker 的便利店:
C-store(包括源代码和研究论文的链接)
该论文包含关于面向列的数据库的优秀观点,应该可以回答您的大部分问题。
引用该论文,
Also check out Michael Stonebraker's C-store:
C-store (includes links to source code and research paper)
The paper contains an excellent viewpoint on column oriented databases, that should answer most of your questions.
To quote the paper,
Sybase IQ 是我听说过的一个。
Sybase IQ is one I have heard of.
InfiniDB 最近由 Calpont 发布了开源 (GPLv2)。 它支持大多数 MySQL API,并以面向列的方式存储数据,并针对大规模分析处理进行了优化。
InfiniDB was recently released open source (GPLv2) by Calpont. It supports most of the MySQL API and stores data in a column-oriented fashion, and is optimized for large-scale analytic processing.
这是 wiki 中不同的面向列的 DBMS
面向列的 DBMS 实现
Here's the different column oriented DBMS wiki has
Column-Oriented DBMS Implementations
Sybase IQ 是面向列的。 当您创建表时,所有列都会自动索引,并且数据在列中得到很好的压缩。
这是一个不错的 OLAP 数据库(...数据仓库),但我不推荐将其用于任何类型的事务处理,因为它是为数据仓库操作而设计的。
至于性能特征,与标准 OLTP 数据库(例如 Sybase ASE)相比,对于大量数据,SELECT 非常快,但 INSERT / UPDATE / DELETE 非常慢。 表锁定也与 OLTP 数据库有很大不同,因此在 MAIN 数据存储中工作时,需要针对写入操作(INSERTS 等)使用独占表锁定。
另外它支持T-SQL(Sybase版本)和Watcom SQL。
干杯,
凯文
Sybase IQ is column oriented . All columns are automatically indexed when you create a table and data is nicely compressed in the columns.
It's a nice OLAP database (...data warehouse) but I would not recommend it for any kind of transaction processing as it is designed for data warehouse operations.
As for performance characteristics, SELECTS are very fast for large volumes of data but INSERT / UPDATE / DELETEs are very slow compared to a standard OLTP DB such as Sybase ASE for example. Table locking is also very different to a OLTP database so expect exclusive table locks for write operations (INSERTS etc) when working in the MAIN data store.
Otherwise it supports T-SQL (Sybase version) and Watcom SQL.
Cheers,
Kevin