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

来源:互联网 发布:p2p网贷平台软件 编辑:程序博客网 时间:2024/06/01 07:24


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

    在研究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如下(不一定准确,仅供参考)

  • http://www.luciddb.org/

  • http://www.infobright.org/

  • http://monetdb.cwi.nl/

  • http://www.equi4.com/metakit/ 

  • http://incubator.apache.org/cassandra/ (也可以归成Key-Value Store)

  • http://hadoop.apache.org/hbase/ (也可以归成Key-Value Store)

  • http://hypertable.org/ (也可以归成Key-Value Store)

  • http://kosmosfs.sourceforge.net/ (也可以归成Key-Value Store)

  • http://www.openneptune.com/ (也可以归成Key-Value Store)

  • http://www.vermontdatabase.com/rc21home.htm

  • http://www.jhterbekke.net/XplainDBMS.html

  • http://db.lcs.mit.edu/projects/cstore/

  • http://www.ingres.com/vectorwise/

  • http://cloudbase.sourceforge.net

  • https://codeforge.lbl.gov/projects/fastbit/

 

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 这样的商用文档数据库外,常见的开源文档数据库:

  • http://couchdb.apache.org/

  • http://www.mongodb.org/

  • http://jackrabbit.apache.org/

  • <p
    >http://riak.basho.com/ 

  • http://rddb.rubyforge.org/

  • http://github.com/yrashk/strokedb

  • http://code.google.com/p/featherdb/

  • http://code.google.com/p/thrudb/

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

 

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

0 0
原创粉丝点击