首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下一代数据库

下一代数据库
EN

Stack Overflow用户
提问于 2008-11-12 02:02:43
回答 8查看 11.6K关注 0票数 54

我正在学习传统的关系数据库(使用PostgreSQL),并做了一些研究,我遇到了一些新类型的数据库。CouchDBDrizzleScalaris等等,下一步要处理的数据库技术是什么?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-11-12 02:25:00

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

SQL是一种用于查询和操作关系数据库的语言。SQL是由一个国际标准规定的。虽然该标准进行了修订,但它似乎始终在关系数据库范例中工作。

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

  • 是一个非关系型数据库。他们称之为面向文档的database.
  • ,也是通过web服务以分布式方式访问的非关系型数据库。亚马逊还有一个名为 Dynamo 的分布式键值存储,它为其一些S3 services.
  • 和提供动力,这些都是受亚马逊Dynamo启发的开源解决方案。
  • 是谷歌使用的专有数据存储解决方案,并使用谷歌文件系统技术实现。谷歌的BigTable.
  • 框架使用stores.
  • 是一种受谷歌MapReduce启发的开源技术,并服务于类似的需求,以分发超大规模数据的工作stores.
  • 是一个分布式事务性键/值存储。也不是关系型的,也不使用SQL。这是柏林Zuse研究所的一个研究项目,Germany.
  • 是存储语义数据的标准,其中数据和元数据是可互换的。它有自己的查询语言SPARQL,表面上看很像SQL,但实际上完全是different.
  • ,它是一个高度可伸缩的面向列的分析数据库,专为分布式(网格)体系结构设计。它确实声称是关系型的和SQL兼容的。它可以通过亚马逊的Elastic Compute使用,Cloud.
  • 是一个高规模的数据仓库数据库管理系统,它同时实现了MapReduce和SQL.
  • ,它根本不是一个数据库管理系统,而是一种交换格式。但是一些数据库管理系统产品需要处理XML format.
  • ,或对象数据库中的数据,是为了管理复杂的数据。在主流中似乎没有任何占主导地位的ODBMS产品,可能是因为缺乏标准化。标准SQL正在逐渐获得一些面向对象的特性(例如,可扩展的数据类型和tables).
  • 是一个关系数据库,它的很多代码都是从MySQL中提取出来的。它包括各种架构更改,旨在管理可扩展的“云计算”系统架构中的数据。据推测,它将继续使用标准SQL与一些Apache enhancements.
  • 是一个高度可扩展的,最终一致的,分布式的,结构化的键值存储,在Facebook由Amazon Dynamo的作者之一开发,并贡献给MySQL Apache project.
  • 是一个非关系的,分布式的,键值存储系统。它在
  • LinkedIn.com中的使用也值得一提。它不是“下一代”,因为它可以追溯到20世纪90年代早期,它是一种流行的键值存储,很容易嵌入到各种应用程序中。这项技术目前归甲骨文公司所有。

也可以看看Richard Jones写的这篇很好的文章:“Anti-RDBMS: A list of distributed key-value stores”。他更详细地描述了其中的一些技术。

可以肯定的是,关系数据库也有弱点。人们一直在争论,从它第一次引入的那一天起,他们就没有处理所有的数据建模需求。

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

尽管这些高级技术可以很好地解决专门的问题,但对于大多数业务需求来说,关系数据库仍然是一个很好的通用解决方案。SQL不会消失。

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

票数 104
EN

Stack Overflow用户

发布于 2009-03-26 22:26:22

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

我是Neo4j项目的一部分,这个项目是用Java语言编写的,但也绑定了Python和Scala。有些人在Clojure或Groovy/Grails中使用它。此外,GUI tool也在不断发展。

票数 25
EN

Stack Overflow用户

发布于 2011-03-19 18:26:02

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

  1. key‐value‐cache

代码语言:javascript
复制
- memcached
- repcached
- coherence
- 
infinispan
- eXtreme
scale
- 
jboss
cache
- velocity
- terracoqa


  1. key‐value‐store

代码语言:javascript
复制
- 
keyspace
- 
flare
- schema‐free
- 
RAMCloud


  1. eventually‐consistent key‐value‐store

代码语言:javascript
复制
- dynamo
- 
voldemort
- 
Dynomite
- 
SubRecord
- 
MongoDb
- 
Dovetaildb

  1. ordered‐key‐value‐store

代码语言:javascript
复制
- tokyo
tyrant
- lightcloud
- 
NMDB
- luxio
- 
memcachedb
- 
actord


  1. data‐structures server

代码语言:javascript
复制
- redis


  1. tuple‐store

代码语言:javascript
复制
- gigaspaces
- 
coord
- 
apache
river

  1. object database

代码语言:javascript
复制
- ZopeDB
- db4o
- 
Shoal


  1. document store

代码语言:javascript
复制
- CouchDB
- Mongo
- 
Jackrabbit
- 
XML
Databases
- 
ThruDB
- 
CloudKit
- 
Perservere
- 
Riak
Basho
- 
Scalaris


  1. wide柱状图store

代码语言:javascript
复制
- BigTable
- Hbase
- Cassandra
- Hypertable
- KAI
- 
OpenNep

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/282783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档