Похожие презентации:
cap_theorem_distributed_db_ru
1.
КРАТКОЕ ВВЕДЕНИЕСвязь распределённых
СУБД с теоремой CAP
Как база данных выбирает между согласованностью,
доступностью и устойчивостью к сбоям сети
Учебная презентация • 6 слайдов
РАСПРЕДЕЛЁННЫЕ СУБД • ТЕОРЕМА CAP
1
2.
01 / ОСНОВАЧто такое распределённая СУБД?
Это одна логическая база данных, работающая на нескольких связанных между собой узлах.
Узел 1
Узел 2
Узел 3
копия / часть данных
копия / часть данных
копия / часть данных
Репликация
Масштабирование
Отказоустойчивость
Копии данных хранятся
на разных узлах.
Нагрузка распределяется
между серверами.
Система может пережить
отказ отдельного узла.
РАСПРЕДЕЛЁННЫЕ СУБД • ТЕОРЕМА CAP
2
3.
02 / ТЕОРЕМАЧто означает CAP?
Три свойства, которые важны для распределённого хранилища данных.
C — Consistency
Согласованность
После успешной записи чтение
возвращает актуальные данные,
а не устаревшую копию.
A — Availability
Доступность
Каждый запрос к работающей
системе получает ответ — даже
если часть узлов недоступна.
P — Partition Tolerance
Устойчивость к
Система
продолжает работать,
разделению
когда связь между группами
узлов нарушена.
Важно: «доступность» означает ответ на запрос, а не обязательно самые свежие данные.
РАСПРЕДЕЛЁННЫЕ СУБД • ТЕОРЕМА CAP
3
4.
03 / КЛЮЧЕВАЯ ИДЕЯПочему нельзя получить C + A + P одновременно?
Ограничение проявляется именно во время сетевого разделения — когда узлы не могут обмениваться данными.
СВЯЗЬ ПОТЕРЯНА
Группа A
Группа B
Узел A
Узел B
Выбор CP
Выбор AP
Сохранить согласованность: часть
запросов может ждать или получить отказ.
Сохранить доступность: запросы
обслуживаются, но данные могут расходиться.
РАСПРЕДЕЛЁННЫЕ СУБД • ТЕОРЕМА CAP
4
5.
04 / ПРИМЕРЫCP и AP: два подхода
Это упрощённая классификация: реальные СУБД часто позволяют настраивать уровни согласованности.
CP — согласованность + устойчивость
AP — доступность + устойчивость
При сетевом сбое система предпочитает
не выдавать потенциально устаревшие
данные, даже если часть запросов
временно недоступна.
При сетевом сбое узлы продолжают
отвечать. Временно возможны разные
версии данных; позже они синхронизируются.
Пример: MongoDB в типичной конфигурации.
Пример: Apache Cassandra.
CA — согласованность + доступность — возможно без сетевого разделения, но не как гарантия при partition.
РАСПРЕДЕЛЁННЫЕ СУБД • ТЕОРЕМА CAP
5
6.
05 / ИТОГГлавный вывод
Теорема CAP помогает понять компромиссы при проектировании распределённых баз данных.
Финансы и учёт
Социальные сервисы
Архитектура
Чаще важнее точность
и согласованность.
Часто важнее постоянная
доступность.
Выбор зависит от требований
конкретного приложения.
CAP — не рейтинг баз данных, а модель компромиссов.
При сетевом разделении приходится выбирать, что важнее: согласованность или доступность.
Источники: Apache Cassandra Documentation — Guarantees; IBM — What Is the CAP Theorem?; MongoDB — Mastering the CAP Theorem.
РАСПРЕДЕЛЁННЫЕ СУБД • ТЕОРЕМА CAP
6
Базы данных