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