2012-02-12 162 views
9

我想知道是否有任何标准语言或API访问NoSQL数据库(或至少BigData或Column存储)数据库?NoSQL数据库是否有新兴的标准API?

或者您是否需要为每个供应商的贡献了解域特定语言?

+1

我希望人们不要关闭这个问题。我真的只想知道是否有统一的API?不知道为什么这会被认为是有争议的? – 2012-02-12 19:46:46

+0

就像在数据库不可知的抽象层(如PDO for PHP)一样?我不确定NoSQL的标准是什么,除了“不是SQL”。 – mrlee 2012-02-12 20:00:06

+1

我可能会错过堆栈溢出的观点 - 为什么这个问题有争议,并且是否有更好的论坛来进行这项调查?我正在努力研究NoSQL的一篇文章,我认为这是一个非常相关的问题。 – 2012-02-12 21:08:21

回答

2

关系数据库具有SQL语言。

NoSQL数据库有不同的类型:图形,列,文档。键值等。

它们都是专门处理的。也许一种类型可以有一个统一的语言,但是在它们之间,这可能不那么自然。所以是的,你必须使用/学习每种类型的API。

在另一个层面上,如果你使用java作为编程语言,你可以使用spring数据,它提出了一组库来访问这些数据库。我没有使用它,但使用它你可以很容易地比较不同数据库类型之间的API。

然后你有这个问题,似乎也关系到你:Are there any NoSQL standards emerging?

+0

图形数据库与Columnar没有相同的API,但HBase vs. Cassandra呢? – 2012-02-12 21:10:00

2

只见2项举措,其目标是提供一个统一的接口来所有的NoSQL数据库的。 一个是UnQL,它提供了一个非常类似于SQL DML的界面。

另一种是Apache Thrift,它提供了一种语言无关的方式来描述和实现查询。

3

AppScaleAppScale为HBase,Hypertable,MySQL Cluster,Cassandra,Voldemort,MongoDB,MemcacheDB和Redis提供了一个统一的API。该API由Google为Google App Engine定义,可用于JavaPythonGo

+0

噢,如果您使用Java中的Google App Engine API,则应该查看Objectify https://code.google.com/p/objectify-appengine/ – mjaggard 2012-12-18 08:34:04

相关问题