从Java查询NoSQL&;直接与间接的绩效差异;间接查询

从Java查询NoSQL&;直接与间接的绩效差异;间接查询,java,mongodb,neo4j,jdo,nosql,Java,Mongodb,Neo4j,Jdo,Nosql,我刚刚开始研究NoSQL,想问以下问题: 就像SQL是所有RMDB的直接查询语言一样,那么所有NoSQL数据库的直接查询语言是什么?如果没有一种直接语言,那么存在哪些查询语言——一个包含几种查询语言的列表就足够了 与问题1类似。上面,Java对所有NoSQL数据库都有标准的查询语言吗 与MongoDB和/或Neo4J上的直接NoSQL查询相比,使用JDO/Datanucleus或Spring数据时是否存在显著的性能差异?例如,就RMDBS而言,通过JDBC编写直接SQL与使用JPA/ORM工具相

我刚刚开始研究NoSQL,想问以下问题:

  • 就像SQL是所有RMDB的直接查询语言一样,那么所有NoSQL数据库的直接查询语言是什么?如果没有一种直接语言,那么存在哪些查询语言——一个包含几种查询语言的列表就足够了

  • 与问题1类似。上面,Java对所有NoSQL数据库都有标准的查询语言吗

  • 与MongoDB和/或Neo4J上的直接NoSQL查询相比,使用JDO/Datanucleus或Spring数据时是否存在显著的性能差异?例如,就RMDBS而言,通过JDBC编写直接SQL与使用JPA/ORM工具相比,直接SQL有显著的性能差异

  • 我问这些问题的原因是为了通过使用JDO/Datanucleus来抵消交叉兼容性相对于性能损失或收益的优势


    谢谢。

    目前,NoSQL中没有标准

    如果您为性能选择NoSQL,添加任何层都可能会影响它。出于这个原因,大多数NoSQL提供商更喜欢为每种语言提供“驱动程序”,以保持性能并为您提供访问其数据的简便方法


    28io最近努力创建一种语言来跨许多NoSQL数据库进行查询。该语言称为JSONiq。

    目前,NoSQL中没有标准

    如果您为性能选择NoSQL,添加任何层都可能会影响它。出于这个原因,大多数NoSQL提供商更喜欢为每种语言提供“驱动程序”,以保持性能并为您提供访问其数据的简便方法


    28io最近努力创建一种语言来跨许多NoSQL数据库进行查询。这种语言叫做JSONiq。

    我写了一个很大的回复,但似乎我没有回答你问题的细节,对Morphia有强烈(良好)的看法

    我找了又找,找了一个很好用的Mongo软件,然后遇到了Morphia。我从来没有看过别的地方,因为它很容易使用

    您的问题让我想起了SQL的复杂性。过去两天,我在五个MySql表上工作,这些表在整个查询中都有连接。我能听到脑后有一个声音说:“让这个梦幻/梦幻化的优先级每秒钟都在增加。”

    
    org.mongodb.morphia
    吗啡
    0.105
    
    我写了一个很大的回复,但似乎我没有回答你问题的细节,对Morphia有强烈(良好)的看法

    我找了又找,找了一个很好用的Mongo软件,然后遇到了Morphia。我从来没有看过别的地方,因为它很容易使用

    您的问题让我想起了SQL的复杂性。过去两天,我在五个MySql表上工作,这些表在整个查询中都有连接。我能听到脑后有一个声音说:“让这个梦幻/梦幻化的优先级每秒钟都在增加。”

    
    org.mongodb.morphia
    吗啡
    0.105
    
    这个问题似乎离题了,因为它涉及的问题太多了time@SimonAndr但它们都与JDO/Datanucleus与Direct之间的差异有关,并以SQL为例(这样我就可以理解这些差异)@PeterMmm我的问题是关于JDO/Datanucleus的,而NoSQLNoSQL是不依赖关系技术或SQL语言的一般数据库类的总称。NoSQL数据库有几十个(如果不是几百个的话)不同的类别(图形、文档、键/值、列)。这个问题根本没有单一(或简单)的答案。性能基于数据模式和相关代码,并结合特定于引擎的优化和特性。查询语言是特定于引擎的。我建议读一本像福勒的《NoSQL蒸馏》这样的书,以便更好地理解整个主题。@SimonAndréForsberg根据条款与条件:我可以就程序员常用的软件工具和软件开发特有的实用、可回答的问题提问题。那么,为什么在讨论Datanucleus和讨论直接查询与使用持久性框架之间的性能问题时,这个问题被搁置了呢?这个问题似乎离题了,因为它涉及的问题太多了time@SimonAndr但它们都与JDO/Datanucleus与Direct和Direct的区别有关以SQL为例(这样我就可以理解它们之间的区别)。@petermm我的问题是关于JDO/Datanucleus的,NoSQLNoSQL是不依赖关系技术或SQL语言的一般数据库类的总称。NoSQL数据库有几十个(如果不是几百个的话)不同的类别(图形、文档、键/值、列)。这个问题根本没有单一(或简单)的答案。性能基于数据模式和相关代码,并结合特定于引擎的优化和特性。查询语言是特定于引擎的。我建议读一本像福勒的《NoSQL蒸馏》这样的书,以便更好地理解整个主题。@SimonAndréForsberg根据条款与条件:我可以就程序员常用的软件工具和软件开发特有的实用、可回答的问题提问题。那么,在讨论Datanucleus和讨论直接查询与使用持久性框架之间的性能问题时,为什么这个问题被搁置了呢?谢谢您的回答。请问Spring Data MongoDB/Neo4J是否通过提供商的驱动程序使用直接查询?如果是这样的话,你认为Spring数据会比我生成更高性能的查询吗?因为我是这个游戏的新手。谢谢你的回答。
    <!--pom.xml depenency entry -->
    <dependency>
            <groupId>org.mongodb.morphia</groupId>
            <artifactId>morphia</artifactId>
        <version>0.105</version>
    </dependency>