我是 MySQL 新手,我正在寻找以下问题的一些答案:
a) MySQL 社区服务器可以用于键值对类型的数据库吗?
b) 哪个 MySQL 引擎最适合键值对类型的数据库?
c) MySQL 集群对于基于键值的数据存储的水平扩展是必须的,还是可以使用 MySQL 复制来实现?
d) 在 MySQL 上实现键值对数据存储时,是否有任何文档或白皮书提供最佳实践?
e) 除了使用 MySQL 进行键值对的friendfeed 之外,还有其他已知的大型实现吗?
任何关系数据库都可以提供键值存储,但这不是它们的用途:而且它们并不擅长,与诸如Cassandra之类的本机键值数据库相比也不行。
如果您的要求不是极端的,那么最好的选择是 MyISAM,因为它可能是最快的,并且事务支持在键值数据库的优先级列表中并不(高)。
如果你只做键值对的东西,你可能想看看HandlerSocket for Mysql。我没用过,但是这个概述显示了安装和使用。基本上,它去掉了所有关系的东西(查询解析、连接等)并直接使用 mysql 的存储,使其非常快(但仅适用于键值存储)。
我知道我来晚了,但实际上,MySQL 5.6 版进行了一些更改,使其成为内置 memcached 的键值存储。它看起来非常漂亮: