我刚开始研究 NoSQL 并想问下列问题:
就像SQL是所有RMDBS的直接查询语言一样,那么所有 NoSQL 数据库的直接查询语言是什么?如果没有一种直接语言,那么存在哪些查询语言 - 一些查询语言的列表就足够了。
与上述问题1类似,Java是否为所有 NoSQL 数据库提供标准查询语言?
与MongoDB和/或Neo4J上的直接NoSQL查询相比,使用JDO / Datanucleus或Spring Data时是否存在显着的性能差异?例如,就RMDBS而言,与使用JPA / ORM工具相比,通过JDBC编写直接SQL,有利于直接SQL的显着性能差异。
我提出这些问题的原因是为了通过使用JDO / Datanucleus与性能损失或收益来抵消交叉兼容性的优势?
感谢。
答案 0 :(得分:1)
目前,NoSQL没有标准。
如果选择NoSQL来提高性能,添加任何图层都可能会对其产生影响。出于这个原因,大多数NoSQL提供商更愿意为每种语言提供“驱动程序”,以便提高性能并为您提供访问其数据的简便方法。
28io最近努力创建一种语言来查询许多NoSQL数据库。该语言称为JSONiq。
答案 1 :(得分:0)
我写了一个很大的回复,但似乎我没有解决你的问题的具体细节,并对Morphia有很强的(好的)意见。
我查看并寻找一些与Mongo相当容易使用的东西,并遇到了Morphia。我从来没有看过任何其他地方,因为它很容易使用。
您的问题让我想起了SQL的复杂性。我过去两天在五个MySql表上工作,这些表在整个查询中都有加入。我能听到脑袋里传来一个小小的声音:'让Morphia / Mongo -ized的优先级每秒都在增加。'
https://github.com/mongodb/morphia
<!--pom.xml depenency entry -->
<dependency>
<groupId>org.mongodb.morphia</groupId>
<artifactId>morphia</artifactId>
<version>0.105</version>
</dependency>