当前位置:  开发笔记 > 编程语言 > 正文

下一代数据库

如何解决《下一代数据库》经验,为你挑选了3个好方法。

我正在学习传统的关系数据库(使用PostgreSQL)并进行一些研究我遇到了一些新类型的数据库.CouchDB,Drizzle和Scalaris仅举几例,下一个要处理的数据库技术是什么?



1> Bill Karwin..:

我会说下一代数据库,而不是下一代SQL.

SQL是一种用于查询和操作关系数据库的语言.SQL由国际标准决定.虽然标准已经修订,但它似乎总是在关系数据库范例内工作.

以下是一些目前受到关注的新数据存储技术:

CouchDB是一个非关系型数据库.他们称之为面向文档的数据库.

Amazon SimpleDB也是通过Web服务以分布式方式访问的非关系数据库.亚马逊还有一个名为 Dynamo的分布式键值存储,它为一些S3服务提供支持.

Dynomite Kai是受Amazon Dynamo启发的开源解决方案.

BigTable是Google使用的专有数据存储解决方案,使用其Google文件系统技术实施.Google的MapReduce框架使用BigTable.

Hadoop是一种开源技术,受Google MapReduce的启发,满足类似的需求,可以分发超大规模数据存储的工作.

Scalaris是一个分布式事务键/值存储.也不是关系,也不使用SQL.这是德国柏林Zuse研究所的一项研究项目.

RDF是用于存储语义数据的标准,其中数据和元数据是可互换的.它有自己的查询语言SPARQL,它在表面上类似于SQL,但实际上完全不同.

Vertica是一个高度可扩展的面向列的分析数据库,专为分布式(网格)架构而设计.它声称是关系和SQL兼容的.它可以通过亚马逊的弹性计算云使用.

Greenplum是一个高级数据仓库DBMS,它实现了MapReduce和SQL.

XML根本不是DBMS,它是一种交换格式.但是一些DBMS产品使用XML格式的数据.

ODBMS或对象数据库用于管理复杂数据.在主流中似乎没有任何主流的ODBMS产品,可能是因为缺乏标准化.标准SQL逐渐获得一些OO功能(例如可扩展数据类型和表).

Drizzle是一个关系数据库,从MySQL中提取了大量代码.它包括旨在管理可扩展"云计算"系统架构中的数据的各种架构更改.据推测,它将继续使用标准SQL和一些MySQL增强功能.

Cassandra是一个高度可扩展,最终一致,分布式,结构化的键值存储,由Amazon Dynamo的一位作者在Facebook开发,并为Apache项目做出了贡献.

Project Voldemort是一种非关系型,分布式,键值存储系统.它在LinkedIn.com上使用

Berkeley DB也值得一提.它不是"下一代",因为它可以追溯到1990年代早期.它是一种流行的键值存储,易于嵌入各种应用程序中.该技术目前归Oracle Corp.所有.

另请参阅Richard Jones的这篇精彩文章:" Anti-RDBMS:分布式键值存储列表." 他详细介绍了其中一些技术.

关系数据库有缺点,可以肯定.人们一直在争论自从它首次推出之日起它们就没有处理所有数据建模要求.

年复一年,研究人员提出了管理数据以满足特殊要求的新方法:处理不适合关系模型的数据关系的要求,或者要求进行数据处理的大规模数量或速度的要求在分布式服务器集合上,而不是中央数据库服务器.

即使这些先进技术能够很好地解决它们所针对的专业问题,但关系数据库仍然是满足大多数业务需求的通用解决方案.SQL不会消失.


我在php | Architect杂志上写了一篇关于非关系数据库创新和关系数据库与非关系数据库数据建模的文章.http://www.phparch.com/magazine/2010-2/september/


PostgreSQL是RDBMS的不错选择.玩得开心!

2> nawroth..:

到目前为止,我在答案中缺少图形数据库.对象的图形或网络在编程中很常见,并且在数据库中也很有用.它可以有效地处理半结构化和互连的信息.图形数据库引起很多兴趣的领域包括语义网和生物信息学.提到了RDF,它实际上是一种代表图形的语言.这里有一些关于图数据库区域内发生的事情的指示:

图表 - 更好的数据库抽象

Graphd,Freebase的后端

Neo4j开源图数据库引擎

AllegroGraph RDFstore

用于生物信息学的Graphdb抽象层

Graphdb在Directed Edge推荐引擎后面

我是Neo4j项目的一部分,该项目是用Java编写的,但也绑定了Python,Ruby和Scala.有些人将它与Clojure或Groovy/Grails一起使用.还有一个GUI工具不断发展.



3> Paolo Bozzol..:

可能不是最好的回答这个,但我想分享这个由Steve Yen创建的noSQL世界的分类(请在http://de.slideshare.net/northscale/nosqloakland-200911021找到)

    键值缓存

    memcached的

    repcached

    相干性

    
在网络nispan

    极端规模

    
jboss缓存

    速度

    terracoqa


    键值店

    
密钥空间

    
佛罗里达州是

    无架构

    
RAMCloud


    最终一致的键值存储

    发电机

    
伏地魔

    
Dynomite

    
子记录

    
MongoDB的

    
Dovetaildb

    有序键值店

    东京暴君

    lightcloud

    
NMDB

    luxio

    
memcachedb

    
actord


    数据结构服务器

    Redis的


    元组店

    GigaSpaces的

    
坐标

    
阿帕奇河

    对象数据库

    ZopeDB

    db4o的

    
浅滩


    文件商店

    CouchDB的

    蒙戈

    
兔崽子

    
XML数据库

    
ThruDB

    
CloudKit

    
Perservere

    
Riak Basho

    
Scalaris


    宽柱状商店

    BigTable的

    HBase的

    卡桑德拉

    Hypertable的

    KAI

    
OpenNep

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有