Задать вопрос

Посоветуйте базу данных

Дано: 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'ах.

Какая база данных может это? Или так: какой базой данных, с которой вы работали в проекте подобного маштаба, вы были довольны?
  • Вопрос задан
  • 2794 просмотра
Подписаться 9 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
@egorinsk
> Иногда бывают «too many connections».

Так это из-за того, что у вас в конфиге MySQL стоит ограничение, а не из-за каких-то проблем.
Ответ написан
Комментировать
tyzhnenko
@tyzhnenko
System Administrator, DevOps, QA Engineer
То что вы хотите реализуется не базами данных, а приложением.
Вот несколько полезных на мой взгляд ссылок. Личным опытом пока не могу поделиться :(

www.insight-it.ru/tag/arxitektura/
www.jurriaanpersyn.com/archives/2009/02/12/database-sharding-at-netlog-with-mysql-and-php
www.slideshare.net/oemebamo/database-sharding-at-netlog
Ответ написан
Комментировать
rhrn
@rhrn
посмотрите в сторону mongodb
Ответ написан
anor
@anor
Как вариант, можно все в облако вынести (Amazon DynamoDB или Microsoft Azure). Нет проблем с масштабируемостью, скоростью и надежностью.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы