2013-10-18 16 views
1

我剛開始研究的NoSQL和想問以下幾個問題:查詢的NoSQL從直接和間接關係的Java和性能差異查詢

  1. 就像SQL是所有RMDBS直接查詢語言,那麼對於所有NoSQL數據庫,什麼是直接查詢語言?如果沒有一種直接語言,那麼存在哪些查詢語言 - 一些查詢語言的列表就足夠了。

  2. 與上述問題1類似,Java是否具有所有NoSQL數據庫的標準查詢語言?

  3. 與MongoDB和/或Neo4J上的直接NoSQL查詢相比,在使用JDO/Datanucleus或Spring Data時是否存在顯着的性能差異?例如,根據RMDBS,與使用JPA/ORM工具相比,通過JDBC編寫直接SQL時,直接SQL有顯着的性能差異。

爲什麼我問這些問題的原因是使用JDO/DataNucleus將與性能的損失或收益來抵消交叉兼容性的優勢是什麼?

謝謝。

+4

這個問題似乎是題外話,因爲它是在同一時間 –

+0

@SimonAndréForsberg約太多的問題,但他們都與VS直接JDO/DataNucleus將之間的區別,並給SQL作爲一個例子(以便我能理解這些差異)。 – Jamie

+0

@PeterMmm我的問題是關於JDO/Datanucleus和NoSQL – Jamie

回答

1

此時,NoSQL中沒有標準。

如果您選擇NoSQL的性能,添加任何圖層可能會影響它。出於這個原因,大多數NoSQL提供者更願意提供每種語言的「驅動程序」,以便提高性能併爲您提供訪問數據的簡單方法。

28io最近有一項工作是創建一種語言來跨多個NoSQL數據庫進行查詢。該語言被稱爲JSONiq。

+0

感謝您的回答。請問Spring Data MongoDB/Neo4J是否通過提供者的驅動程序使用直接查詢?如果是這樣,你認爲Spring Data可能會產生比我更新的性能查詢,因爲我是這個遊戲的新手? – Jamie

0

我寫了一個很大的回覆,但好像我沒有提到你的問題的具體細節,並且對Morphia有強烈的(好的)意見。

我看了一下Mongo的相當容易使用的東西,並且遇到了Morphia。我從來沒有看過其他地方,因爲它很容易使用。

您的問題讓我想起了SQL的複雜性。過去兩天我在五個連接查詢的MySql表上工作。我可以在腦後聽到一個小小的聲音,上面寫着:「每秒鐘都會獲得Morphia/Mongoized的優先級。」

https://github.com/mongodb/morphia

<!--pom.xml depenency entry --> 
<dependency> 
     <groupId>org.mongodb.morphia</groupId> 
     <artifactId>morphia</artifactId> 
    <version>0.105</version> 
</dependency> 
+0

http://blog.mongodb.org/post/55165338565/morphia-version-0-101-released < - 一篇圍繞7月份的文章,當時Mongo接受Morphia。 – Tony

+0

感謝您的寶貴意見。 – Jamie