MongoDB: шардинг и репликация

В этом наборе сценариев мы рассмотрим разницу между шардингом и репликацией MongoDB и объясним, когда каждый из них является наиболее подходящим решением. И репликация, и шардинг — это формы горизонтального масштабирования для создания системы высокой доступности (HA).

И репликация, и шардинг могут быть использованы (по отдельности или вместе) для горизонтального масштабирования установки MongoDB.

Шардинг

Sharding — это решение MongoDB для удовлетворения требований роста данных. Sharding хранит записи данных на нескольких серверах для обеспечения более высокой пропускной способности запросов на чтение и запись, особенно для очень больших наборов данных.

Любой из серверов в кластере sharded может ответить на операцию чтения или записи, что значительно ускоряет выполнение запросов.

Репликация

Репликация — это решение MongoDB для обеспечения стабильности, резервного копирования и аварийного восстановления установки MongoDB. Этот процесс копирует и синхронизирует набор данных реплики на нескольких серверах. Это предотвращает простои, если один сервер выходит из строя.

Любой из вторичных серверов может отвечать на запросы на чтение, но только основной сервер будет выполнять операции записи. Результаты операции записи затем распространяются на вторичные серверы.

Сценарий 1: Устойчивость к сбоям

В этом сценарии пользователь хранит данные биллинга в установке MongoDB. Эти данные критически важны для бизнеса пользователя и должны быть доступны 24 часа в сутки 7 дней в неделю, даже если сервер сломается или будет выведен из сети.

Репликация MongoDB — лучшее решение для этого пользователя. При репликации весь набор данных зеркалируется на нескольких серверах. Если один из серверов выходит из строя или переходит в автономный режим работы, его место занимают другие серверы в кластере.

Сценарий 2: Высокая производительность

В этом сценарии пользователь управляет сайтом социальной сети, который работает на базе данных MongoDB. По мере роста социальной сети набор данных MongoDB растет вместе с ней. Пользователь видит, что время выполнения запросов и загрузки страниц увеличивается сверх допустимого. Очень важно, чтобы пользовательская установка MongoDB получила значительный прирост производительности.

Оптимальным решением для этого пользователя является создание кластера MongoDB с чередованием. Кластер с чередованием будет разбивать набор данных пользователя и хранить его части на отдельных вторичных серверах. Каждый вторичный сервер может отвечать на запросы на чтение или запись своей части данных, что значительно увеличивает время отклика установки.

Оцените статью
cdelat.ru
Добавить комментарий