【问题标题】:What NoSQL database is good for complex many to many relationships?什么 NoSQL 数据库适用于复杂的多对多关系?
【发布时间】:2015-04-03 22:34:17
【问题描述】:

我的启动项目需要复杂的数据结构,必须为地理定位和全文搜索做好准备。数据库中的信息是由两种不同类型的用户添加的,他们共同构建了一个复杂的关系网络。

为了更好地理解我的问题,下面是一个显示这种关系的简单图表:

我的第一选择是 MongoDB 和 Elasticsearch,但我注意到了相同数据相乘的问题。进一步规划,我们得出结论,对于应用程序的某些部分需要 ACID 事务的可能性。

哪种 NoSQL 数据库适用于复杂的多对多关系?

什么是我们的好选择?

【问题讨论】:

    标签: mongodb elasticsearch neo4j relationship nosql


    【解决方案1】:

    像 Neo4j 这样的图形数据库非常适合。

    如果您需要 MongoDB 等文档数据库的功能,但使用 Neo4j,请尝试 Structr:http://de.slideshare.net/AxelMorgner/neo4j-as-document-databasehttp://structr.org

    (免责声明:我是Structr的项目发起人)

    【讨论】:

    • 另外澄清一下,您可能仍然需要/想要使用 elasticsearch 进行全文搜索类型的行为。此外,neo4j 支持 ACID 事务。
    • Neo4j 内置 Lucene 用于全文索引,支持多种基于索引的查询类型。此外,Structr 提供空字段的索引、数字/日期范围查询、区分大小写和不区分大小写的搜索。所有索引操作都完全绑定到事务,所以索引在 ACID 范围内,这比试图整合不同的数据库和解决同步问题要好得多。
    • 很公平,但要澄清一下我什至没有考虑过 Lucene 索引的原因是因为它们使用起来很复杂(部分原因是它们被称为遗留索引)
    • 确实如此。 :-) 这就是我们将它们完全封装在 Structr 中的原因,因此用户不必关心它。对于普通的 Neo4j,您还拥有可以通过 Cypher 轻松维护的架构/自动索引。
    • 产品推荐对于 SO 来说是题外话,因为在这种情况下,它们通常是自以为是的
    猜你喜欢
    • 2012-12-26
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 2015-09-07
    相关资源
    最近更新 更多