Я разрабатываю базу данных, которая содержит большие научные наборы данных. Типичный сценарий использования заключается в том, что порядка 5 ГБ новых данных будут записываться в базу данных каждый день; 5 ГБ также будут удаляться каждый день. Общий размер базы данных будет около 50 ГБ. Сервер, на котором я работаю, не сможет хранить весь набор данных в памяти.
Я структурировал базу данных так, что основная таблица данных - это просто хранилище ключей / значений, состоящее из уникального идентификатора и значения.
Запросы обычно для около 100 последовательных значений,
например. SELECT Value WHERE ID BETWEEN 7000000 AND 7000100;
В настоящее время я использую MySQL / MyISAM, и эти запросы занимают порядка 0,1–0,3 секунды, но недавно я пришел к выводу, что MySQL, вероятно, не является оптимальным решением для большого ключа / значения. магазин.
Прежде чем приступить к выполнению большой работы по установке нового программного обеспечения и переписыванию всей базы данных, я хотел получить общее представление о том, могу ли я увидеть значительное повышение производительности при использовании NoSQL DB (например, Tokyo Tyrant, Cassandra, MongoDB ) вместо MySQL для этих типов поиска.
Спасибо