Подходит ли он с использованием движка TokuDB, когда средняя длина записи составляет 3 КБ? - PullRequest
2 голосов
/ 24 февраля 2012

В таблице есть два поля: идентификатор, содержимое и только один первичный ключ (идентификатор).

Тип идентификатора поля - bigint.Тип содержимого поля - TEXT, для этого поля - var-lenth, возможно, какая-то запись будет 20k, а средняя длина записи - 3k.

Схема таблицы:

CREATE TABLE `events` (
  `eventId` bigint(20) NOT NULL DEFAULT '0',
  `content` text,
  PRIMARY KEY (`eventId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Это простоиспользуется в качестве хранилища Key-Value.

Результат моего теста:

InnoDB: 2200 records/second
TokuDB: 1300 records/second
BDB-JE: 12000 records/second
LevelDB-JNI: 22000 records/second(not stable, need test again)

результат очень очень плохой.

3K слишком велико для tokuDB?

В Моем приложении много вставок (> 2000 записей в секунду, около 100 миллионов записей в день) и редких обновлений / удалений.

TokuDB version: mysql-5.1.52-tokudb-5.0.6-36394-linux-x86_64-glibc23.tar.gz 
InnoDB version: mysql 5.1.34
OS: CentOS 5.4 x86_64

Одна из причин, по которой мы выбираем InnoDB / TokuDB, заключается в том, что нам нужна поддержка и поддержка разделов.Может быть, я попробую LevelDB или другое хранилище Key-Value?Любой sugguest будет приветствовать.

===========

Спасибо всем, наконец-то, тестирование производительности TokuDB и InnoDB недостаточно для нашего варианта использования.

Теперь в качестве хранилища используется решение типа bitcask.Производительность записи в стиле только для добавления в Bitcask намного лучше, чем мы ожидаем.Нам просто нужно решить проблему с памятью в отношении хеш-индекса.

Ответы [ 2 ]

0 голосов
/ 14 сентября 2012

Если вы вставляете свои строки по одной за раз, я бы порекомендовал перейти на многострочный оператор вставки, если это возможно, как в «вставка в события (eventId, content) значения (1,« значение 1 »), (2 , 'value 2'), ... ", поскольку может быть довольно много служебных транзакций. Кроме того, TokuDB улучшал производительность с каждым выпуском, я бы рекомендовал работать с текущим выпуском.

0 голосов
/ 09 апреля 2012

главная особенность TokuDB:

  • Горячие изменения схемы:
    • Создание Hotindex: таблицы TokuDB поддерживают вставки, удаления и запросы без простоя, пока индексы добавляются в эту таблицу. Он использует Fractal Tree для индексации, в то время как innodb использует B-Tree
    • Горячее добавление и удаление столбцов: таблицы TokuDB поддерживают вставки, удаления и запросы с минимальным временем простоя, когда таблица изменения добавляет или удаляет столбцы.

Подробнее на Что такое TokuDB? Как установить TokuDB на MySQL 5.1?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...