mysql – percona nosql vs其他nosql

我正在评估用于存储键/值对的nosql存储(对于应用程序的一部分),并且遇到了percona,它在mysql世界中提供本机键/值.这似乎是一个很好的解决方案,因为它允许存储保留在一个单独的位置(因为其余的功能存在于mysql中并且将继续保持原样).除了cassandra之外,还有其他关键/价值存储的其他优势吗?有什么缺点?

解决方法:

您指的是HandlerSocket接口,该接口绕过SQL查询层,并允许您通过主键在单个InnoDB表中获取和存储行.这个想法是避免SQL的开销允许应用程序运行更高的QPS速率.

HandlerSocket显示出了希望,但到目前为止我们发现的(我为Percona工作)的瓶颈是匆忙编写的客户端接口.也就是说,PHP,Ruby等客户端API在其当前的实现状态下具有这样的开销,即HandlerSocket并不比为INSERT和SELECT编写简单的SQL语句更快. InnoDB已经针对主键访问进行了优化,因为表实际上是通过主键存储为聚簇索引.

为HandlerSocket客户端库编写优化代码的未来发展应该随着时间的推移而改进.如果您想帮助这个过程,请参与开源项目以开发这些客户端库.

HandlerSocket的另一个缺点是AFAIK,它不支持值的就地递增,这是一些其他键/值存储提供的优化.使用HandlerSocket,您必须获取值,读取它,递增它,然后将其发回数据库.这会引入竞争条件,因此您必须以某种方式锁定该行.

上一篇:调查MySQL吞吐量的峰值


下一篇:如何优化这个特定的MySQL查询,检查2.84M行和29.49k InnoDB不同的页面