Nosql 正在寻找使用.NET或C+的成熟、可扩展的GraphDB+;结合

Nosql 正在寻找使用.NET或C+的成熟、可扩展的GraphDB+;结合,nosql,graph-databases,distributed-database,Nosql,Graph Databases,Distributed Database,我的基本要求来自图表b: 成熟(生产就绪) NET.NET或C++语言绑定 横向可伸缩性:两者都有 自动数据冗余和分片 分布式图算法/查询执行 目前,我取消了以下资格: < LI>无限图:没有C++语言.NET语言绑定 超图形:没有C++语言.NET语言绑定 微软三位一体:不成熟 Neo4j:未分发 我不确定以下各项的可扩展性: 稀疏指数 弗兰兹快板公司 Sones GraphDB 我发现关于水平可伸缩性功能的可用信息相当普遍。我想这是有充分理由的 任何信息都将不胜感激。不幸的

我的基本要求来自图表b:

  • 成熟(生产就绪)
  • NET.NET或C++语言绑定
  • 横向可伸缩性:两者都有
    • 自动数据冗余和分片
    • 分布式图算法/查询执行
目前,我取消了以下资格:

    < LI>无限图:没有C++语言.NET语言绑定 超图形:没有C++语言.NET语言绑定
  • 微软三位一体:不成熟
  • Neo4j:未分发
我不确定以下各项的可扩展性:

  • 稀疏指数
  • 弗兰兹快板公司
  • Sones GraphDB
我发现关于水平可伸缩性功能的可用信息相当普遍。我想这是有充分理由的


任何信息都将不胜感激。

不幸的是,您的基本要求已经扩展到了今天对图形的一般理解——甚至在学术界也是如此。没有列出的纯图形数据库能够满足您的所有需求。分布式图算法是一个重要的研究课题,它能够识别大型分布但相互关联的图。因此,对于您的应用程序,最好是找到一个匹配良好的图形数据库、图形处理堆栈或RDF存储,然后自己实现缺少的部分。 当您的应用程序主要是在线事务图处理(OLTP)(读/写繁重)并关注顶点时,您可以暂时放弃分布式算法,然后使用以下其中一种:

  • Neo4j
  • 定向数据库
  • 指数
  • 超图数据库
  • 无限图形
  • 信息网格
  • 微软霍顿
当更多的是在线分析处理(OLAP)(主要是读取)时,仍然关注顶点和分布,那么:

  • 阿帕奇哈马(早期项目)
  • 微软三位一体(研究项目)
  • 金色球体(很好,但仅限Java)
  • 信号/收集(http://www.ifi.uzh.ch/ddis/research/sc ,但这是一个研究项目)
或者它更关注边缘、逻辑推理/模式匹配,您需要或更好地适应边缘级别的分布,如语义网,然后使用以下RDF-/Triple-/Quadstore之一:

  • AllegroGraph(好的,它们是graphdb/rdf store混合型;)
  • 耶拿
  • 芝麻
  • 星狗
  • 演奏家
  • …还有更多的RDF商店
好的起点可能是DEX或NeN4J:如果你正在寻找一个好的、非常快速的C++内核的图形内核,那就最好了,但是你必须自己实现大量的网络和分发东西。Neo4j有很多分布和容错功能,但目前更多的是在顶点切分级别,它的内核是Java。关于实现分布式图算法的想法和灵感,请看一下Golden Orb和Signal/Collect。
另一种方法可能是从AllegroGraph或Stardog开始。尤其是快板在一开始可能有点棘手,直到你习惯了他们的思维方式。Stardog还很年轻,有Java语言,但速度很快,已经相当成熟。

距离您最初的回复已经一年多了,您现在如何描述图形环境?(更新原始答案?)