【发布时间】:2013-09-14 00:19:58
【问题描述】:
我正在尝试为数据库确定存储游戏对象的最佳引擎。我一直在尝试查找有关不同表引擎的各种信息,但到目前为止还没有发现太多可以让我朝着一个方向而不是另一个方向动摇的信息。
格式很简单。有一个包含所有对象的表。它有一个键和一个值:
[int64] id (index)
[blob] data (binary serialized data of varying length)
我们首先考虑使用文件系统,但我们想要具有内置集群支持的东西,如果需要可以远程运行,我们不想自己编写分发层。
目前,我们正在研究 MySql,主要是因为它是免费的,而且很容易向前推进。
我们的表将容纳大约 2-5 百万行,我们需要能够在
目前,一行的最大 BLOB 大约为 30kb。
我查看了 InnoDB、MyISAM 和 BDB,但到目前为止,除了 InnoDB 和 BDB 支持事务,而 MyISAM 不支持之外,我似乎无法收集到太多关于它们的信息。我以前在游戏中使用过嵌入式 BDB,但它没有与 MySql 集成,并且因为它没有在服务器后面抽象,所以很难使用。出于同样的原因,它没有固有的集群支持。
总结
所以,我们正在寻找的是:
- 集群支持/故障转移冗余
- 使用 int64 键 (
- 事务支持
问题
- 对于将使用 int64 键的键/值表来说,哪个引擎最好?为什么?
如果有人至少能指出我正确的方向,我将不胜感激。如果您有比 MySql 更好的选择,它是免费的,而且接口不笨,我也很乐意探索其他选项。
我们将使用 Java 进行交互。
请告诉我如何改进这个问题或更具体的问题!谢谢!
【问题讨论】:
-
你正在寻找一个专业的Key-Value Store,也许 - 这是一个很大的名单:)
标签: java mysql database-design innodb