2012-02-12 160 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

相關問題