Каковы плюсы и минусы этих движков MySQL для OLTP - XtraDB, PBXT или TokuDB?
Я работаю над социальным сайтом с приблизительным сплит-чтением 90/10. Попытка выбрать движок MySQL. Те, которые меня интересуют:
- XtraDB
- PBXT
- TokuDB
Каковы плюсы и минусы их для моего варианта использования?
Несколько конкретных вопросов:
PBXT использует основанную на журнале структуру, которая избегает двойной записи. Это звучит очень элегантно, но тест, который я видел, не показывает никаких преимуществ перед XtraDB. Есть ли у вас опыт работы с PBXT/XtraDB, которым вы можете поделиться?
TokuDB звучит ОЧЕНЬ интересно. Но все тесты, которые я видел, касаются однопоточных объемных вставок - например, вставка 100-метровых рядов. это не очень актуально для OLTP. Как насчет его производительности с большим количеством одновременных потоков записи и чтения одновременно, работающих на нескольких ядрах? Кто-нибудь пробовал это?
1 ответ
Re: PBXT против XtraDB (InnoDB)
Я сформулировал этот вопрос непосредственно Полу МакКаллаху. Вы можете прочитать его ответ здесь:
http://www.mysqlperformanceblog.com/2009/11/20/paul-mccullagh-answers-your-questions-about-pbxt/
Перефразируя: PBXT - это общий механизм OLTP, поэтому он значительно перекрывается с InnoDB. Большинство прямых "лучших вариантов использования" пока не известны.
Re: TokuDB против XtraDB (InnoDB)
Я думаю, что это немного по-другому. В то время как TokuDB имеет некоторые свойства, которые могут быть хорошими для OLTP, где он действительно сияет:
а) Когда вы имеете дело с таким большим количеством данных, ваши вставки замедляются из ваших индексов, которые больше не помещаются в памяти ("классическая" проблема B-Tree, от которой TokuDB не страдает).
б) Когда вам нужно иметь много специальных индексов для данных.
Вадим рассказывает об этом здесь: http://www.mysqlperformanceblog.com/2009/04/28/detailed-review-of-tokutek-storage-engine/
-
Из вашего описания я собираюсь сделать предположение и сказать, что XtraDB и PBXT являются наиболее очевидным выбором. Оба будут работать. В пользу XtraDB - то, что он существует дольше.
(Отказ от ответственности: я работаю на Percona, авторов XtraDB).