我正在使用 Django 和 PostgreSQL 开发一个网站,这似乎有大量社交网站收集的数据。
我需要将 RDMS 与 SQL 一起用于表格数据,以降低 SQL 的复杂性,还需要将 Graph DB 与 Cipher 一起用于大数据,以实现高查询复杂性。
请告诉我该怎么做。也请让我知道它是否可行。
编辑:评论中要求的清晰度:- 数据库结构可以类似于 Facebook 等社交网络的结构。我已经检查了 FB Engineering 页面以获取他们的开放图表。对于图形数据库,我只能找到具有适当 ACID 值的 Neo4J 图形数据库,尽管我更喜欢开源图形数据库。图形数据库结构,我基本上需要汇总与 friend 、更新、每日用户相关更新等关系相关的大量数据作为个人关系。水平可扩展性对于我 future 的升级很重要。
我打算将 PostgreSQL 用于基础信息数据,并将关系数据更新推送到图形数据库,就像 Facebook 同时使用 MySql 和开放图形一样。
最佳答案
基于您对我的查询的回复。我首先建议查看 TitanDB .我相信它可以满足您的许多要求:
- 它是开源的。
- 水平缩放。
除了满足您的要求外,它已经存在了很长一段时间,许多公司正在生产中使用它。您唯一需要习惯的是它使用 TinkerPop遍历,而不是 Cypher 查询。另请注意,我相信 Titan 对于大多数后端来说都不是 ACID。这是它可水平扩展的结果。
如果您想要一种更结构化(但明显不够成熟)的图形数据库方法,那么您可以查看我和一些同事正在研究的堆栈 MindmapsDB它位于 Titan 之上,但使用更“类似 sql”的查询语言。
OrientDB Gremlin也是一个很好的选择,但缺乏 Titan 的成熟度和支持。
还有许多其他图形供应商,例如 DSE Graph、IBM Graph 等。 . .但是我上面列出的是我使用过的开源软件。
关于sql - 如何将 RDMS 数据库与图形数据库混合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39710797/