我在一个社交网站上工作,大概读/写分割为90/10。 试图决定一个MySQL引擎。 我感兴趣的是:
他们对我的用例有什么优点和缺点?
一些具体问题:
PBXT使用基于日志的结构,避免了双重写入。 这听起来非常优雅,但我所看到的基准没有比XtraDB显示任何优势。 你有任何使用PBXT / XtraDB的经验吗?
TokuDB的声音非常有趣。 但是我所看到的所有基准都是关于单线程批量插入 – 例如插入100M行。 这与OLTP不太相关。 在同时运行多个核心的情况下,大量并发线程写入和读取的性能如何呢? 任何人都尝试过?
回复:PBXT与XtraDB(InnoDB)
我直接向Paul McCullagh说了这个问题。 你可以在这里阅读他的回应:
http://www.mysqlperformanceblog.com/2009/11/20/paul-mccullagh-answers-your-questions-about-pbxt/
解释:PBXT是一个通用的OLTP引擎,所以它与InnoDB有很大的重叠。 大多数直接的“更好的使用案例”还不知道。
回复:TokuDB与XtraDB(InnoDB)
我认为这些有点不同。 虽然TokuDB的确有一些属性可能对OLTP来说真的很有用:
a)当你处理这么多的数据时,你的插入放慢了索引不再适合内存(TokuDB不受影响的“经典”B-Tree问题)。
b)当你需要在数据上有很多adhoc索引时。
Vadim在这里谈论这个: http : //www.mysqlperformanceblog.com/2009/04/28/detailed-review-of-tokutek-storage-engine/
–
从你的描述中我可能会做一个假设,并说XtraDB和PBXT是最明显的select。 两者都会工作。 在XtraDB的青睐是它已经存在了更长的时间。
(免责声明:我为Pertraa,XtraDB的作者工作)。