Percona NoSQL与其他NoSQL的比较

3

我正在评估用于存储键/值对的nosql存储库(用于应用程序的某个部分),并发现percona在mysql世界中提供原生的键/值存储。它似乎是一个很好的解决方案,因为它允许存储保持在单个位置(因为其余功能存在于mysql中,并将继续保持不变)。与其他键/值存储库(如cassandra)相比,它是否有其他优势?有什么缺点?

1个回答

8
您在谈论的是HandlerSocket接口,它可以绕过SQL查询层,通过主键在单个InnoDB表中获取和存储行。这样做的想法是避免SQL开销,使应用程序能够以更高的QPS运行。
HandlerSocket有潜力,但目前我们发现(我为Percona工作),瓶颈在于匆忙编写的客户端接口。也就是说,PHP、Ruby等客户端API在当前实现状态下具有如此大的开销,以至于HandlerSocket不比编写简单的SQL语句进行INSERT和SELECT更快。InnoDB已经针对主键访问进行了优化,因为表实际上是按主键聚集索引存储的。
未来为HandlerSocket客户端库编写优化代码的开发应该会随着时间的推移而改善。如果您想帮助这个过程,请参与开源项目以开发这些客户端库。
HandlerSocket的另一个缺点是,据我所知,它不支持原地递增值,这是其他一些键/值存储提供的优化。使用HandlerSocket,您必须获取该值,读取它,递增它,然后将其发送回数据库。这引入了竞争条件,因此您必须以某种方式锁定行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接