Я разрабатываю базу данных, которая содержит большие научные наборы данных. Типичным сценарием использования является то, что каждый день в базу данных будет записываться порядка 5 ГБ новых данных; 5GB также будет удаляться каждый день. Общий размер базы данных составит около 50 ГБ. Сервер, на котором я запущен, не сможет хранить весь набор данных в памяти.Могу ли я ожидать значительного повышения производительности за счет перемещения большого хранилища ключей из MySQL в базу данных NoSQL?
Я структурировал базу данных так, что основная таблица данных - это только хранилище ключей/значений, состоящее из уникального идентификатора и значения.
Запросы, как правило, для примерно 100 последовательных значений, например. SELECT Value WHERE ID BETWEEN 7000000 AND 7000100;
В настоящее время я использую MySQL/MyISAM, и эти запросы занимают порядка 0,1 - 0,3 секунды, но в последнее время я понял, что MySQL, вероятно, не является оптимальным решением для того, что в основном представляет собой большой ключ/хранилище значений.
Прежде чем я начну выполнять большую работу по установке нового программного обеспечения и перезаписи всей базы данных, я хотел бы получить приблизительное представление о том, могу ли я увидеть значительное повышение производительности при использовании базы данных NoSQL (например, Tokyo Tyrant, Cassandra, MongoDB) вместо MySQL для этих типов поиска.
Благодаря
Прежде чем отказаться от RDBMSes, мне нужен профиль для MySQL/Innodb и postgresql. Я также хочу быть уверенным, что у меня есть соответствующие показатели на столе. – tpdi
Re: Indices, My table имеет две колонки: ID BIGINT; Значение FLOAT; и у меня есть ID как мой первичный ключ, так как мои запросы всегда используют идентификатор между ... –
Wow! 50 ГБ данных в таблице с двумя столбцами. Я думаю, от 0,1 до 0,3 секунд не следует чихать, в сложившихся обстоятельствах. Если это какой-то наш бизнес, возможно, вы могли бы рассказать нам, что вы держите в том, что должно быть почти рекордным столом? –