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

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

Собственно, вопрос. С нагрузкой на чтение понятно, в мастер пишем, со слейвов читаем. А как быть с нагрузкой на запись? Как обеспечить согласованность, если писать на разные сервера? Как обеспечить, например, уникальность значений? Как вообще все это делается?
  • Вопрос задан
  • 409 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Слёрм
    PostgreSQL База
    4 недели
    Далее
  • beONmax
    SQL и PostgreSQL для начинающих
    1 неделя
    Далее
  • Java Online Projects
    Микросервисы, Kafka, Docker, Spring Cloud, реактивный стек
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 2
swanrnd
@swanrnd
Издатель HTML5 игр
Ответ написан
Комментировать
@lega
Как обеспечить, например, уникальность значений?

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

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

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

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

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