我有一个用于游戏的现有数据库--目前使用MySQL存储信息--我希望测试ArangoDB来比较速度。
我想知道是否最好将玩家的所有信息存储在一个集合中,或者将两者分开是否更有效(甚至更好的做法)。
在MySQL中,我没有真正的选择,但使用ArangoDB时我选择了。
例如,在MySQL中存储库存信息:
+---------------------------+
| user_id | item_id | count |
+---------+---------+-------+
| 1 | 1 | 7 |
| 1 | 2 | 4 |
+---------+---------+-------+或者在ArangoDB,我可以这样做:
以上两种方法中的哪一种(甚至是我没有想到的另一种方法)会更有效?
发布于 2019-01-09 14:50:24
答案取决于您期望应用程序如何使用数据。下面是一些关于如何选择如何存储数据的提示:
由于ArangoDB对图形遍历有本地支持,所以上面的设置是为非常快的查找而优化的。当开始从关系数据库转移到图形数据库时,经验法则是主表变成集合,中间(连接)表变成边缘集合。(显然还有更多,但这是一个好的开始)
如果我是从零开始,我可能会首先选择选项3。但是,正如我在开始时提到的,这取决于您打算如何使用数据。
https://stackoverflow.com/questions/54099033
复制相似问题