0

我有一个名为关系的PostgreSQL用户关注者表,其大小为 2 亿行,并且它以每周 1000 万新用户和他们之间的新关系的速度增长。我已经在列上设置了索引,并且我需要每对用户和关注者都是唯一的。一个用户的最大关注者数量是 5000,用户查询是针对两个方向的,例如: 关于 关注者时间的用户 :一个简单的查询,比如在我的系统中需要 10 秒,我需要等待半小时才能执行之前提到的查询。
SELECT users, followers FROM relations WHERE users NOT IN (1,2,3);
SELECT users, followers FROM relations WHERE followers NOT IN (1,2,3);
SELECT COUNT(*) FROM relations;

存储此图的最佳数据库是什么(高写入率和高读取率)

4

1 回答 1

0

InfiniteGraph 肯定会处理数据量和增长率,并且对于 50 GB 以下的数据库有免费版本。我们定期测试其每小时摄取数十亿个节点和边缘的能力。这些测试在多节点云架构上运行,因此您的硬件性能可能会有所不同。

InfiniteGraph 支持索引。

InfiniteGraph 查询语言是“DO”,您的查询将类似于:

MATCH path = (u:User)-[:Relation]->(f:Follower) RETURN u, f;

FROM Relation return COUNT(*);

免责声明:我是 InfiniteGraph 的制造商 Objectivity 的现场运营总监。

于 2021-05-19T01:49:40.250 回答