Распределённые системы
CAP на практике: свободное припоминание
Припоминание сильнее перечитывания. На каждый промпт скажи или запиши полный ответ по памяти, прежде чем открыть образцовый — усилие припоминания закрепляет компромиссы, когда ты рассуждаешь о реальной системе под разделением.
Восстанови ключевые идеи юнита — формальные определения C/A, почему P обязательно, бинарный выбор при разделении, ось PACELC для штатного режима, логические разделения и разрешение конфликтов в AP — не подглядывая в урок.
- 01Почему устойчивость к разделению (P) — не выбор на этапе проектирования, и какой единственный реальный выбор оставляет CAP?
- 02Сформулируй формальные определения согласованности и доступности по Gilbert-Lynch и объясни, почему «высокодоступная» по маркетингу БД часто на деле CP.
- 03Что теорема PACELC добавляет к CAP и чего стоит выбор EC в штатном режиме?
- 04Объясни, как пауза GC или насыщение CPU может вызвать «логическое» разделение в CP-кластере консенсуса.
- 05Ты выбрал AP. Какой налог на разрешение конфликтов ты должен и почему Last-Write-Wins по настенным меткам времени опасен?
- 06Почему кворумное правило W+R > N даёт строгую согласованность и как оно взаимодействует с выбором CP/AP?
Если ты смог восстановить каждый ответ по памяти, ты держишь хребет юнита: P обязательно, поэтому разделение вынуждает бинарный выбор CP-против-AP; согласованность означает линеаризуемость, а доступность — неошибочный ответ от каждого работающего узла, поэтому многие «доступные» БД на деле CP; PACELC добавляет, что строгая согласованность стоит задержки и в штатном режиме; логические разделения приходят от медленных узлов, а не только обрывов каналов; AP должен налог на разрешение конфликтов, где LWW молча теряет данные при дрейфе часов; а W+R > N покупает свежесть на ключ, прижимая тебя к CP при разделении.