Задать вопрос
@Ivanoff-i

Как масштабировать БД, если основная нагрузка на запись?

Собственно, вопрос. С нагрузкой на чтение понятно, в мастер пишем, со слейвов читаем. А как быть с нагрузкой на запись? Как обеспечить согласованность, если писать на разные сервера? Как обеспечить, например, уникальность значений? Как вообще все это делается?
  • Вопрос задан
  • 408 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
swanrnd
@swanrnd
Издатель HTML5 игр
Ответ написан
Комментировать
@lega
Как обеспечить, например, уникальность значений?

Для этого можно использовать шардинг, ключевое поле (индекс) бъется на диапазоны и данные разносятся по серверам, при этом уникальность сохраняется для ключевого поля.
А как быть с нагрузкой на запись?

Можно использовать ssd вместо, hdd, можно разместить базу в RAM, можно использовать inmemory БД.

Если результирующие данные сразу не нужны, то можно писать просто в файл подряд (это позволяет писать 1..10Млн записей в сек, никакая БД вам столько не даст), а далее например воркерами разгребать и размещать по кластеру или ещё куда.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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