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

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


分享到:
评论

相关推荐

    分布式分析引擎,用于处理PB级别的数据

    它提供了实时查询、数据分析和机器学习等功能,适用于数据仓库、大数据分析和推荐系统等场景。 Pinot was originally built at LinkedIn to power rich interactive real...Column-oriented: a column-oriented databas

    Oracle Database 12c (winx64_12102_database.part3.rar)

    Oracle Database 12c 适用于Windows 64位系统, winx64_12102_database文件分割成 三个 压缩包,必须集齐 三个 文件后才能一起解压一起使用: Oracle Database 12c (winx64_12102_database.part3.rar) ...

    微软Access Database Engine 2010

    **微软Access Database Engine 2010详解** 微软Access Database Engine 2010,简称ACE引擎,是微软公司开发的一款数据库访问组件,主要用于与Microsoft Access数据库进行交互。这款组件在2010年发布,提供了对...

    RDD编程初级实践Tom,DataBase,80 Tom,Algorithm,50 Tom,DataStructure,60 Jim,DataBas

    首先,我们看到标题中提到了"Tom,DataBase,80",这可能是表示Tom在数据库方面的得分是80。在Spark与数据库的交互中,我们可以使用`spark.read.jdbc()`方法来加载数据库中的数据到RDD,例如连接到MySQL或Hive等。这...

    File opened that is not a database file file is encrypted.docx

    从Android 9.0 (Pie)开始,Google引入了一些更改,其中包括默认启用Write-Ahead Logging(WAL)模式,这可能会导致一些开发者在尝试打开或操作数据库时遇到问题,如标题所示的“File opened that is not a database ...

    好用数据库工具Database4

    《全面解析:Database4——一款超实用的数据库管理工具》 在信息技术日益发达的今天,数据库管理工具在软件开发、数据分析、系统维护等领域扮演着至关重要的角色。Database4,正如其名,是一款备受赞誉的数据库工具...

    database_link是用来做什么的

    数据库链接(Database Link)在Oracle数据库中扮演着重要的角色,它允许用户在不同的数据库之间进行交互,无论是本地还是远程。数据库链接本质上是一个指向其他数据库的指针,它为用户提供了一个透明的方式来访问和...

    DATABAS OVERVIE

    DATABAS OVERVIEDATABAS OVERVIEDATABAS OVERVIEDATABAS OVERVIE

    collectionJava源码-mysql-connection-source-codes:控制台应用程序用于连接到MySQL,如何更新行,

    集合Java源码MySQL连接源代码 小型示例控制台源代码如何连接到MySQL,如何更新行以及如何读取表。 在Windows下运行 将此存储库克隆到您的计算机 安装MySQL (作为Docker容器) ...03-inspect-databas

    Databas-Uppgift:Windows窗体中的Uppgift数据库

    在本项目中,“Databas-Uppgift: Windows窗体中的Uppgift数据库”是一个基于C#编程语言的数据库应用程序,旨在使用Windows窗体界面来管理和操作数据。这个任务可能涉及设计用户友好的图形界面,连接到数据库,执行...

    Industrial Wastewater Compliance Databas-开源

    "Industrial Wastewater Compliance Database"(工业废水排放合规性数据库)是一款专为此目的设计的开源软件,它基于Microsoft Access平台,旨在帮助企业高效、准确地进行废水采样、监测与报告工作。 一、工业废水...

    the Indian Spontaneous Expression Database (ISED)

    ISED_details.mat - It contains the details of the data included in the databas. For easy assess of the database, the paths to all the files are provided here. It also includes the position of face, ...

    DataBase 资料

    - **定义**:数据库(Database)是长期存储在计算机内的、有组织的、可共享的数据集合。 - **作用**:数据库用于存储、管理和检索数据,是现代软件系统的重要组成部分。 #### 2. 常见数据库类型 - **关系型数据库**:...

    Database Design 2001

    正如标题《Database Design 2001》所提示的那样,这本书深入探讨了如何进行数据库设计。描述中提到,设计一个数据库就像设计任何其他事物一样,需要细致周到的规划,如果缺乏这种规划,最终产品的质量将受到影响。 ...

    安装mysql-8.0.19-winx64遇到的问题:Can’t create directory ‘xxxx\Database\’

    如图,用管理员运行,在命令行窗口输入mysqld --initialize --console,执行初始化命令,出现了mysqld: Can’t create directory ‘D: ystem tool\mysql-8.0.19-winx64\Database’ (OS errno 2 – No such

    SQL DataBase-en

    If you are using MySQL Workbench Commercial Editions, see this document for licensing information, including licensing information relating to third-party software that may be included in this ...

    Entitas-Networking-and-Database-Example:这是使用Entitas,Forge Networking和MongoDB作为数据库服务的ECS后端的一个非常基本的示例

    主体网络和数据库示例这是使用Entitas,Forge Networking和MongoDB作为数据库服务的ECS后端的一个非常基本的示例要运行测试项目: 转到Unitys构建设置,将...= 0,则GameEntity被破坏如果启用了Save Databas

    pb连接SQLSERVER2005问题解决

    pb连接SQLSERVER2005,提示如下错误:Unable to load the requested Database interface.Please make sure both the interface and client software are properly installed. 解决办法:下载ntwdblib.dll然后将其copy...

    C# 数据库连接基类 DataBas

    在本主题中,"C# 数据库连接基类 DataBas" 涉及到创建一个基础类来处理数据库连接、查询以及数据操作,如增删改查(CRUD)操作。"PageDataSource" 提到了数据分页功能,这是在显示大量数据时常用的一种优化方法。 ...

    mysql提示[Warning] Invalid (old?) table or database name问题的解决方法

    ) table or database name`警告通常表明系统在尝试访问一个不存在或者已经被删除的表或数据库。这个问题可能由多种原因引起,包括但不限于:表名拼写错误、表已被移动或删除、数据库引擎无法识别的名称、权限问题,...

Global site tag (gtag.js) - Google Analytics