sql - 如何将 RDMS 数据库与图形数据库混合使用

标签 sql django database postgresql graph-databases

我正在使用 DjangoPostgreSQL 开发一个网站,这似乎有大量社交网站收集的数据。

我需要将 RDMS 与 SQL 一起用于表格数据,以降低 SQL 的复杂性还需要将 Graph DB 与 Cipher 一起用于大数据,以实现高查询复杂性。

请告诉我该怎么做。也请让我知道它是否可行。

编辑:评论中要求的清晰度:- 数据库结构可以类似于 Facebook 等社交网络的结构。我已经检查了 FB Engineering 页面以获取他们的开放图表。对于图形数据库,我只能找到具有适当 ACID 值的 Neo4J 图形数据库,尽管我更喜欢开源图形数据库。图形数据库结构,我基本上需要汇总与 friend 、更新、每日用户相关更新等关系相关的大量数据作为个人关系。水平可扩展性对于我 future 的升级很重要。

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

最佳答案

基于您对我的查询的回复。我首先建议查看 TitanDB .我相信它可以满足您的许多要求:

  1. 它是开源的。
  2. 水平缩放。

除了满足您的要求外,它已经存在了很长一段时间,许多公司正在生产中使用它。您唯一需要习惯的是它使用 TinkerPop遍历,而不是 Cypher 查询。另请注意,我相信 Titan 对于大多数后端来说都不是 ACID。这是它可水平扩展的结果。

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

OrientDB Gremlin也是一个很好的选择,但缺乏 Titan 的成熟度和支持。

还有许多其他图形供应商,例如 DSE Graph、IBM Graph 等。 . .但是我上面列出的是我使用过的开源软件。

关于sql - 如何将 RDMS 数据库与图形数据库混合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39710797/

相关文章:

java - 防止应用程序被复制/生成激活密码

mysql - sql server中合并行的问题

python - 找不到服务 "taskqueue"的 api 代理

python - 尝试导入 python 模块时的疯狂行为

django - Django 表单集中每个表单的初始数据不同

mysql - 加速使用全文连接的 SQL 查询

sql - 使用 LINQ 的简单编辑/更新操作。我的代码是不是有点错误?

mysql - SQL 在 GROUP BY 中显示最近的记录?

mysql - 如何在 super 查询中使用子查询的结果?

database - 数据库系统是否包含/存储图片、声音和文件,或者只是它们的引用?