出家如初,成佛有余

Row-Oriented Database 、Column-Oriented Database 、Key-Value Store Database 、Document-Oriented Database

Posted in Uncategorized by chuanliang on 2009/10/04

    在研究Key-Value Database数据库时候,不可避免地遇见了几种类型的数据库划分方式:Row-Oriented Database 、Column-Oriented Database 、Key-Value Database 、Document-Oriented Database,简单总结一下。

1、Row-Oriented Database:

    行导向的数据库实际上就是传统的关系数据库(RDBMS),关系数据库的数据是按行来存储的,即把一条记录的所有属性(列)存储在一起。传统关系数据库的典型应用场合是OLTP(On-Line Transaction Processing )领域,这些领域以事务处理为主,包括数据的增加、删除、修改、查询。

key-value store,Row-Oriented Database ,Column-Oriented Database,Document-Oriented Database,行数据库,列数据库,文档数据库

 

2、Column-Oriented Database:

    列导向的数据库的典型应用场合是OLAP(On-Line Analysis Processing),因此以列导向的架构设计非常适合于数据仓库的应用。对于大多数数据仓库的分析场景中,实际关注的数据很多时候都只有那么一列或者少数几列的数据。所以在以列为导向的设计中,大部分的分析查询都只需要读取某一个(或者几个)表的几列,而不需要像传统以行为导向的数据库那样需要扫描整个表的数据,这两者IO量的差距是非常大的。

    要理解列导向的数据库可以参考下图(摘自What’s a Column-Oriented DBMS?)。

key-value store,Row-Oriented Database ,Column-Oriented Database,Document-Oriented Database,行数据库,列数据库,文档数据库

    参考文章及Wikipedia的划分方法,常见的Column-Oriented Database如下(不一定准确,仅供参考)

 

3、Column-Oriented Database VS. Row-Oriented Database

key-value store,Row-Oriented Database ,Column-Oriented Database,Document-Oriented Database,行数据库,列数据库,文档数据库

 

OLTP, OLAP,key-value store,Row-Oriented Database ,Column-Oriented Database,Document-Oriented Database,行数据库,列数据库,文档数据库

4、Key-Value Store Database

    在distributed key-value store 杂思 对一些常见Key-Value Store数据库进行了总结,其实精确来说,不应当都叫Key-Value Store Database,而应当叫做Anti-RDBMS或NOSQL Database。

5、Document-Oriented Database

    文档数据库一般用于存储半结构化的数据,在文档数据库中文档是处理信息的基本单位。文档数据库允许创建许多不同类型的非结构化的或任意格式的字段。文档数据库一般采用XML、YAML 、JSON作为存储协议。由于文档数据库中的文档也需要一个唯一的key来标识文档(当然key可以是JSON、XML结构),文档的内容可以看做value,因此一般把文档数据库也归到Key-Value Store Database中,当然所有的XML数据库其实也可以归成文档数据库。

    文档数据库很适合CMS、知识库、OA系统,用于存储新闻稿件、电子邮件、书籍、Web页面、多媒体文件等半结构化的数据。   

    除了Lotus Notes 、Amazon SimpleDB 这样的商用文档数据库外,常见的开源文档数据库:

6、参考文档

    http://ronaldbradford.com/data-store-products/

    http://internetmindmap.com/database_software

    http://en.wikipedia.org/wiki/Column-oriented_DBMS

    http://en.wikipedia.org/wiki/Document-oriented_database

 

No Responses Yet

Subscribe to comments with RSS.

  1. bet365 said, on 2009/10/13 at 15:17

    抢沙发了

  2. 视频聊天 said, on 2009/10/13 at 15:18

    很复杂

  3. bet365 said, on 2009/10/13 at 15:19

    支持博主


发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: