`
xidajiancun
  • 浏览: 456592 次
文章分类
社区版块
存档分类
最新评论

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

阅读更多


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

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


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics