下一代数据库

Ran*_*din 54 sql database non-relational-database nosql

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

Bil*_*win 103

我会说下一代数据库,而不是下一代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认同)

naw*_*oth 25

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

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


Pao*_*ola 10

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

  1. 键值缓存

    • memcached的
    • repcached
    • 相干性
    • 
在网络nispan
    • 极端规模
    • 
jboss缓存
    • 速度
    • terracoqa

  2. 键值店

    • 
密钥空间
    • 
佛罗里达州是
    • 无架构
    • 
RAMCloud

  3. 最终一致的键值存储

    • 发电机
    • 
伏地魔
    • 
Dynomite
    • 
子记录
    • 
MongoDB的
    • 
Dovetaildb
  4. 有序键值店

    • 东京暴君
    • lightcloud
    • 
NMDB
    • luxio
    • 
memcachedb
    • 
actord

  5. 数据结构服务器

    • Redis的

  6. 元组店

    • GigaSpaces的
    • 
坐标
    • 
阿帕奇河
  7. 对象数据库

    • ZopeDB
    • db4o的
    • 
浅滩

  8. 文件商店

    • CouchDB的
    • 蒙戈
    • 
兔崽子
    • 
XML数据库
    • 
ThruDB
    • 
CloudKit
    • 
Perservere
    • 
Riak Basho
    • 
Scalaris

  9. 宽柱状商店

    • BigTable的
    • HBase的
    • 卡桑德拉
    • Hypertable的
    • KAI
    • 
OpenNep