Дано: 2 Сервера MySQL с 24М единиц данных. Сверху сидит SOLR и индексирует несколько полей. Переиндексация происходит 1 раз в сутки.
Ежедневно обновляются 1 М строчек с помощью нескольких десятков crawler. Т.е. MySQL долбится с двух сторон: Frontend, который делает порядка 2х М запросов(по ID) в сутки и crawler'ы с миллионом UPDATE/INSERT.
Пока это всё работает довольно шустро, за исключением бэкапа, который длится больше часа ночью.
В ближайшее время планируется увеличение базы данных в 10-20 раз.
Что мне в настоящее время не нравится:
мы сами реализируем «sharding» для MySQL.
Иногда бывают «too many connections».
Мы сами запускаем SOLR. Индексации длится ~40мин. В это время у нас «2» SOLR — один рабочий, второй индексирующий. Потом мы переключаемся на второй, а первый вырубается.
Что хочется: 1 интерфейс, который индексирует, выбирает, пишет и сам заботится о shard'ах.
Какая база данных может это? Или так: какой базой данных, с которой вы работали в проекте подобного маштаба, вы были довольны?