五大主流数据库模型

导读:无论是关系型数据库还是非关系型数据库,都是某种数据模型的实现。本文将为大家简要介绍5种常见的数据模型,让我们来追本溯源,窥探现在流行的数据库解决方案背后的神秘世界。

什么是数据模型?

访问数据库中的数据取决于数据库实现的数据模型。数据模型会影响客户端通过API对数据的操作。不同的数据模型可能会提供或多或少的功能。一般而言,数据模型不会直接提供过多的功能,许多功能必须由客户端自行实现。

数据模型决定了客户端如何对数据进行编码存储。应用程序需要某种域模型与存储技术支持的特性进行映射。

迄今为止,主导的数据模型仍然是关系模型。在这里,我们主要想为大家介绍一下非关系模型,作为对比,本文也会简要介绍一下关系模型。

数据模型概述

1.关系模型

关系模型使用记录(由元组组成)进行存储,记录存储在表中,表由架构界定。表中的每个列都有名称和类型,表中的所有记录都要符合表的定义。SQL是专门的查询语言,提供相应的语法查找符合条件的记录,如表联接(Join)。表联接可以基于表之间的关系在多表之间查询记录。

表中的记录可以被创建和删除,记录中的字段也可以单独更新。

关系模型数据库通常提供事务处理机制,这为涉及多条记录的自动化处理提供了解决方案。

对不同的编程语言而言,表可以被看成数组、记录列表或者结构。表可以使用B树和哈希表进行索引,以应对高性能访问。

2.键值存储

键值存储提供了基于键对值的访问方式。

键值对可以被创建或删除,与键相关联的值可以被更新。

键值存储一般不提供事务处理机制。

对不同的编程语言而言,键值存储类似于哈希表。对此,不同的编程语言有不同的名字(如,Java称之为“HashMap”,Perl称之为“hash”,Python称之为“dict”,PHP称之为“associative array”),C++则称之为“boost::unordered_map<...>”。

键值存储支持键上自有的隐式索引。

键值存储看起来好像不太有用,但却可以在“值”上存储大量信息。“值”可以是一个XML文档,一个JSON对象,或者其它任何序列化形式。

重要的是,键值存储引擎并不在意“值”的内部结构,它依赖客户端对“值”进行解释和管理。

3.文档存储

文档存储支持对结构化数据的访问,不同于关系模型的是,文档存储没有强制的架构。

事实上,文档存储以封包键值对的方式进行存储。在这种情况下,应用对要检索的封包采取一些约定,或者利用存储引擎的能力将不同的文档划分成不同的集合,以管理数据。

与关系模型不同的是,文档存储模型支持嵌套结构。例如,文档存储模型支持XML和JSON文档,字段的“值”又可以嵌套存储其它文档。文档存储模型也支持数组和列值键。

与键值存储不同的是,文档存储关心文档的内部结构。这使得存储引擎可以直接支持二级索引,从而允许对任意字段进行高效查询。支持文档嵌套存储的能力,使得查询语言具有搜索嵌套对象的能力,XQuery就是一个例子。MongoDB通过支持在查询中指定JSON字段路径实现类似的功能。

4.列式存储

如果翻转数据,列式存储与关系存储将会非常相似。与关系模型存储记录不同,列式存储以流的方式在列中存储所有的数据。对于任何记录,索引都可以快速地获取列上的数据。

Map-reduce的实现Hadoop的流数据处理效率非常高,列式存储的优点体现的淋漓极致。因此,HBaseHypertable通常作为非关系型数据仓库,为Map-reduce进行数据分析提供支持。

关系类型的列标对数据分析效果不好,因此,用户经常将更复杂的数据存储在列式数据库中。这直接体现在Cassandra中,它引入的“column family”可以被认为是一个“super-column”。

列式存储支持行检索,但这需要从每个列获取匹配的列值,并重新组成行。

(列式数据库InfoBright 数据仓库性能很不错)

5.图形数据库

图形数据库存储顶点和边的信息,有的支持添加注释。

图形数据库可用于对事物建模,如社交图谱、真实世界的各种对象。IMDB(Internet Movie Database)站点的内容就组成了一幅复杂的图像,演员与电影彼此交织在一起。

图形数据库的查询语言一般用于查找图形中断点的路径,或端点之间路径的属性。Neo4j是一个典型的图形数据库。

选择哪一种数据模型?

数据模型有着各自的优缺点,它们适用于不同的领域。不管是选择关系模型,还是非关系模型,都要根据实际应用的场景做出选择。也许你会发现单一的数据模型不能满足你的解决方案,许多大型应用可能需要集成多种数据模型。(张志平/编译)

五个值得关注的图形数据库

图形数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。最常见的一个例子,就是社会网络中人与人之间的关系。关系型数据库用于存储“关系型”数据的效果并不好,其查询复杂、缓慢、超出预期,而图形数据库的独特设计恰恰弥补了这个缺陷。

Google的图形计算系统名为Pregel,下面让我们来为您介绍几个流行的图形数据库。

1. Neo4j

Neo4j是一个流行的图形数据库,它是开源的。

2. FlockDB

FlockDB是Twitter为进行关系数据分析而构建的。FlockDB迄今为止还没有稳定的版本,对于它是否是一个真正的图形数据库,尚有争议。

3. AllegroGraph

AllegroGraph是一个基于W3c标准的为资源描述框架构建的图形数据库。它为处理链接数据和Web语义而设计,支持SPARQL、RDFS++和Prolog。

4. GraphDB

GraphDB是德国sones公司在.NET基础上构建的。GraphDB托管在Windows Azure平台上。

5. InfiniteGraph

InfiniteGraph基于Java实现,它的目标是构建“分布式的图形数据库”,已被美国国防部和美国中央情报局所采用。

下一代Hadoop战略——数据即平台

在上周的Strata大会上,与会者透露出有关下代Hadoop的消息。包括对6000节点的支持、配备高可用性的HDFS以及下一代MapReduce的特性等。而未来Hadoop替代操作系统的大胆想法也让我们充满无限遐想。

在Strata会议上Hortonworks创始人和Apache Hadoop项目VP Arun Murthy透露新版Hadoop的相关特性。下一代的Hadoop将支持6000节点,同时配备高可用性的HDFS(Hadoop Distributed File System)。

而下一代MapReduce框架则被命名为YARN或MRv2(MapReduce version 2)。新框架已经不再是传统的MapReduce框架,甚至与MapReduce无关,YARN可被看做是通用的运行时框架,用户可以编写自己的计算框架,在该运行环境中运行。经过改良的MapReduce将分离HDFS中块和命名空间的管理,提高数据的可伸缩性。最重要的是改良后的MapReduce将对非MapReduce应用进行支持,这使得更多类型应用将具备在MapReduce工作的能力。

谷歌算法揭秘:一次搜索请求平均往返2400公里

谷歌搜索演进

作为全球使用最广泛的搜索引擎,谷歌算法一直有一层神秘面纱。近日谷歌工程总监斯科特·霍夫曼向腾讯科技讲述谷歌算法幕后故事,称2011年有520多项改进,自2003年到现在,Google搜索已解决4500亿个搜索请求。

斯科特还透露,谷歌一个搜索请求平均往返于电脑和数据中心单程距离是750英里,这也意味着一次搜索请求平均往返需要1500英里,约合2400公里。

RavenDB:基于Windows/.NET平台的NoSQL数据库

众所周知,NoSQL运动旨在成为大数据时代传统关系数据库管理系统的替代品。如今Microsoft对开源的态度有所转变,RavenDB就是很好的例子。Microsoft对RavenDB(NoSQL数据库)的认可令很多人感到惊讶。RavenDB可以轻易的替代关系数据库管理系统并兼容以往的.NET应用。

RavenDB是针对Windows/.NET平台而设计的文档数据库。RavenDB的出现将.NET应用与非关系数据库连接到一起。数据以Shcema-less方式存储,并直接通过HTTP、RESTful API或更方便的.NET客户端API连接。.NET客户端API使用LINQ操作RavenDB数据库文档存储。

云计算:亚马逊第一 第二把交椅何人坐?

亚马逊对用户推出的Web服务,使它成为迄今为止最大的云服务提供商。就像大多数的大型云供应商一样,亚马逊并没有就当前或计划中的数据中心透露太多。

埃森哲分析师Huan Liu的最新研究结果显示,亚马逊的Elastic Compute Cloud(EC2)在高达45万台服务器上运行。亚马逊没有公布AWS的营收,但有人表示它可能已经是一项10亿美元的业务。

本文预计Rackspace、Google、微软、IBM、惠普、VMware、Facebook这七家公司将成为亚马逊的云对手。

新密钥技术简化云端数据加密

由于在云环境中,IT团队缺乏对数据安全的直接控制,所以数据迁移到云环境将会给IT团队带来新的复杂的安全问题。此外,云供应商认为数据安全是需要共同承担责任,即服务供应商保证物理安全,用户必须保护其服务器和数据的安全。这将需要新的加密策略和密钥管理策略,将密钥存储在云环境外部,而不是云环境中。

初创安全公司Porticor刚刚推出了一个解决方案,专门解决云环境中静态数据安全问题。Porticor公司提供了一种分离密钥加密解决方案,云客户是唯一知道主密钥的人。另外,Porticor公司解决了所有与加密数据有关的复杂问题,客户几乎不要去想这些问题。这种独特的密钥管理解决方案既提供了安全性,也提供了便利性。

微软下调Azure云服务价格 与亚马逊竞争

微软上周下调了其Azure云存储服务和Windows Azure Extra Small计算服务的价格。此举是微软在亚马逊下调其Web服务价格几天之后采取的行动。

这一切意味着什么?对于IT买主来说,云计算价格正在迅速下降并且已经与电费水平一样。考虑到电费受天然气价格、季节和其它可变因素的影响,云计算的价格可能更便宜。

原文地址:http://www.csdn.net/article/2012-03-16/313206

时间: 2024-10-13 00:27:55

五大主流数据库模型的相关文章

2013年五大主流浏览器 HTML5 和 CSS3 兼容性大比拼【转】

摘要: 这篇文章给大家带来<五大主流浏览器 HTML5 和 CSS3 兼容性大比拼>,让我们一起来看看2013年的浏览器现状.浏览器厂商之间的竞争促使各大浏览器对 HTML5 和 CSS3 的支持越来越完善 ... ... ... 转眼又已过去了一年,在这一年里,Firefox 和 Chrome 在拼升级,版本号不断飙升:IE10 随着 Windows 8 在去年10月底正式发布,在 JavaScript 性能和对 HTML5 和 CSS3 的支持方面让人眼前一亮.这篇文章给大家带来<五

五大主流浏览器 CSS3 和 HTML5 兼容性大比拼

让人眼花缭乱的 HTML5 和 JavaScript 效果 使用 CSS3 可以实现的五种很酷很炫的效果 九个让人难以置信的HTML5和JavaScript实验 推荐18个基于 HTML 5 Canvas 开发的图表库 29款基于 HTML5 Canvas 开发的网页游戏 各大主流浏览器对 CSS3 和 HTML5 的支持越来越完善,曾经让多少前端开发人员心碎的IE系也开始拥抱标准.就在前几天,W3C的 HTML5 社区领袖 Shelley 宣布,HTML5的开发工作已经接近完成,如果进展顺利,

五大主流浏览器及四大内核

一.五大浏览器 任何上过网的用户对浏览器是再熟悉不过了.只是用户看到仅仅只是浏览器本身,却很少能看到浏览器最核心的部分--浏览器内核.从第一款libwww(Library WorldWideWeb)浏览器发展至今已经经历了无数竞争与淘汰了.现在国内常见的浏览器有:IE.Firefox.QQ浏览器.Safari.Opera.Google Chrome.百度浏览器.搜狗浏览器.猎豹浏览器.360浏览器.UC浏览器.遨游浏览器.世界之窗浏览器等.但目前最为主流浏览器有五大款,分别是IE.Firefox

五大主流浏览器与四大内核

任何上过网的用户对浏览器是再熟悉不过了.只是用户看到仅仅只是浏览器本身,却很少能看到浏览器最核心的部分—浏览器内核.从第一款libwww(Library WorldWideWeb)浏览器发展至今已经经历了无数竞争与淘汰了.现在国内常见的浏览器有:IE.Firefox.QQ浏览器.Safari.Opera.Google Chrome.百度浏览器.搜狗浏览器.猎豹浏览器.360浏览器.UC浏览器.遨游浏览器.世界之窗浏览器等.但目前最为主流浏览器有五大款,分别是IE.Firefox.Google C

五大主流浏览器与四大浏览器内核

本文内容: 五大主流浏览器与其内核 移动端浏览器内核 浏览器内核优缺点 五大浏览器的故事 四大浏览器内核的故事 五大主流浏览器与其内核 浏览器最重要的部分是浏览器的内核.浏览器内核是浏览器的核心,可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎.最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎. 国内的浏览器(诸如360,QQ,搜狗)大多数用了第三方的内核,不同的只是外观以及一些装

五大主流SQL数据库

一. 开放性 1. SQL Server 只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的.Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业.而且windows平台的可靠性,安全性和伸缩性是非常有限的.它不象unix那样久经考验,尤其是在处理大数据库. 2. Oracle 能在所有主流平台上运行(包括 windows).完全支持所有的工业标准.采用完全开放策略.可以使客户选择最适合的解决方案.对开发商全力支持.  Oracle数

背单词APP你用对了吗?五大主流背单词APP测评

本文转载至桂林锐拓官网www.ruituo.net 想了解更多信息请加QQ:3167750573 欢迎转载,转载请注明! 我想大多数手机背单词APP用户和锐拓君相同并非英语牛人(当然牛人不用这么费尽心力背单词了),所以估量对背单词软件最垂青的和锐拓君的请求也是相同的: 1.是不是能够让我记牢 ?2.是不是能够有用鼓励我坚持学习 ?当然,一款好的背单词软件,它需求在各个方面都出色,才会全体给用户带来较高的体会,锐拓君将主要从以下几个要素评估一下市面上锐拓君接触到的背单词APP: ?[回忆方法--词

【转】五大主流数据库比较 (DB2 Oracle MySQL SyBase SQLServer)

无意中在网上看到,我看到的也是别人转载的,作者不详. 一. 开放性 1. SQL Server 只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的.Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业.而且windows平台的可靠性,安全性和伸缩性是非常有限的.它不象unix那样久经考验,尤其是在处理大数据库. 2. Oracle 能在所有主流平台上运行(包括 windows).完全支持所有的工业标准.采用完全开放策略.可以使客户选择

主流浏览器CSS3和HTML5兼容性详细清单

各大主流浏览器对 CSS3 和 HTML5 的支持越来越完善,曾经让多少前端开发人员心碎的IE系也开始拥抱标准.就在前几天,W3C的 HTML5 社区领袖 Shelley 宣布,HTML5的开发工作已经接近完成,如果进展顺利,HTML5 将在 2012 年正式成为国际标准. 当然,即使标准正式制定了,现代浏览器要普及到大部分用户也是需要一个相当漫长的过程.如果你现在就希望使用 CSS3 和 HTML5 创建你的站点,需要对各个浏览器对这两种新技术的支持情况有一个全面了解. findmebyip.