TGViewer
METANIT.COM METANIT.COM @devnull22 · 5.82K subscribers
Post #3056 1.99K
Replication, Partitioning и Sharding
(продолжение предыдущего поста)

1. Replication (репликация)

- Суть: копирование данных на множество серверов. Каждый сервер хранит полную копию датасета.
- Ключевые особенности:
- обеспечивает работу системы при сбоях (если один сервер выходит из строя, другие продолжают работать);
- масштабирует трафик чтения (но не записи);
- использует модели «ведущий–ведомый» (leader–follower) или «множество ведущих» (multi–leader);
- оптимальна для нагрузок с преобладанием операций чтения (read–heavy workloads).
- Пример использования: создание дополнительных slave–серверов для снятия нагрузки с основного сервера, выполнение ресурсоёмких задач (например, аналитических отчётов) на отдельных серверах без влияния на работу других пользователей.

2. Partitioning (партиционирование)

- Суть: разделение большой таблицы на более мелкие части (партиции) внутри одного сервера базы данных. Каждая партиция хранит подмножество строк.
- Ключевые особенности:
- ускоряет запросы к большим таблицам за счёт распределения нагрузки;
- упрощает обслуживание и очистку данных (cleanup and maintenance);
- не требует добавления новых машин — работает в рамках одного сервера;
- разбивает данные по выбранным администратором критериям (например, по дате публикации на новостных сайтах).
- Пример использования: секционирование таблиц с большим объёмом данных для ускорения обработки запросов.

3. Sharding (шардирование)

- Суть: распределение данных по разным физическим машинам (шардам) на основе ключа шардинга. Связанные данные группируются и хранятся на одном сервере.
- Ключевые особенности:
- позволяет горизонтально масштабировать систему (horizontal scaling);
- масштабирует как трафик чтения, так и записи;
- требует логики маршрутизации, «осведомлённой» о шардах (shard–aware routing logic);
- используется, когда одна база данных не справляется с нагрузкой;
- ключ шардинга (например, ID пользователя) определяет, на каком сервере будут храниться данные.
- Пример использования: в социальных сетях все данные пользователя (по ключу — ID пользователя) хранятся и обрабатываются на одном сервере, что упрощает обработку и ускоряет запросы.

### Краткое резюме:
- Replication — про отказоустойчивость и масштабирование чтения через копирование полных копий данных.
- Partitioning — про ускорение работы с большими таблицами путём разделения данных внутри одного сервера.
- Sharding — про распределение данных по разным серверам для масштабирования как чтения, так и записи, подходит для крупномасштабных систем.
Telegram METANIT.COM Replication, Partitioning и Sharding (продолжение в следующем посте)
  • ❤ 3
  • 👍 3
  • 🤝 3
More from @devnull22
  1. Mar 19, 2026Добавил в руководство по JavaScript главу про работу с датами и временем с помощью Tempora…
  2. Mar 19, 2026Роскомнадзор перестал полностью справляться с блокировками в интернете Роскомнадзор (РКН)…
  3. Mar 18, 2026Минцифры опубликовало законопроект о государственном регулировании ИИ. Закон должен начать…
  4. Mar 18, 2026Microsoft призвала разработчиков создавать ИИ-приложения в Electron на Windows 11 Microsof…
  5. Mar 18, 2026Oracle анонсировала проект Detroit, который будет развиваться в составе OpenJDK и нацелен…
  6. Mar 17, 2026Вышла новая версия платформы Java - JDK 26. JDK 26 — краткосрочная версия с поддержкой Pre…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →