如何将RDMS DB与Graph DB混合使用

时间:2016-09-26 19:25:28

标签: sql django database postgresql graph-databases

我正在使用 Django PostgreSQL 开发一个网站,这些网站似乎在社交网站中收集了大量数据。

我需要将RDMS与SQL一起用于表格数据,以减少SQL复杂性图形数据库与密码一起用于大数据以获得高查询复杂度。

请让我知道如何解决这个问题。另请告诉我是否可行。

编辑:评论中提到的清晰度: - 数据库结构可以类似于Facebook等社交网络。我已经检查了FB Engineering页面的开放图表。对于图形DB,我只能找到具有适当ACID值的Neo4J图形DB,尽管我更喜欢开源图形DB。图表数据库结构,我基本上需要汇总与朋友,更新,每日用户相关更新等个人关系相关的大量数据。水平可伸缩性对于我未来的升级非常重要。

我打算使用PostgreSQL作为基础信息数据,并将关系数据更新推送到图形数据库,就像Facebook使用MySql和开放图形一样。

1 个答案:

答案 0 :(得分:1)

根据您对我的疑问的回复。我首先建议看TitanDB。我相信它符合您的许多要求:

  1. 它是开源的。
  2. 水平缩放。
  3. 除了满足您的要求之外,它已经存在了很长一段时间,很多公司都在生产中使用它。您唯一需要习惯的是它使用TinkerPop遍历,而不是Cypher查询。另请注意,我认为Titan对于大多数后端并不是ACID。这是它可水平扩展的结果。

    如果你想要一个更结构化(但显着不太成熟)的图形数据库方法,那么你可以看看我自己和一些同事正在研究的堆栈MindmapsDB,它位于Titan之上,但是使用了更“类似sql”的查询语言。

    OrientDB Gremlin也是一个非常好的选择,但缺乏泰坦的成熟和支持。

    还有许多其他图形供应商,如DSE Graph,IBM Graph等。 。 。但我上面列出的那些是我曾经使用的开源的。