您认为在C ++服务器上运行的实时MMO游戏中存储播放器信息的最佳非sql数据库是什么?
答案 0 :(得分:2)
男人,请你选择:)
目前,我正在使用MongoDB获取有关用户的信息。 MongoDB速度非常快,如果你有足够的内存来存储所有东西,它会表现得特别好(在这一点上它就像MemcacheD一样有文件支持)。然而,MongoDB确实在“耐久性”方面做出了一些让步以达到其速度。
如果您正在操作MMO,那么您真正想要查看的内容是分片和副本对。这两种技术将允许您水平扩展数据库,同时仍为节点发生故障提供“热备份”。 Replica Pairs将帮助您绕过典型的耐久性特许权,允许您强制重复更新。
然而,我在TokyoCabinet上读到的数字也非常令人印象深刻。
当然,TokyoCabinet的文档很痛苦。所以这真的是你的电话。
答案 1 :(得分:1)
如果您认为自己很“模特”,我会推荐Redis。您必须非常好地考虑您的模型,因为redis以及tokio cabinet,kyoto,hamsterdb,bdb都是键值存储,通常无法进行查询。如果您需要查询,可能应该测试mongodb或couchdb。
Redis它的速度非常快,全部都在内存中但是支持保存到磁盘,它有很好的文档记录,并且用c ++实现。
在slideshare中搜索,你会看到许多使用redis的大牌
答案 2 :(得分:0)
我最好的选择是东京内阁,你应该知道大多数k / v数据库没有附带更新功能,这对mmo服务器至关重要。