Что такое CAP теорема

«Что такое CAP теорема» — вопрос из категории Базы данных, который задают на 26% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

CAP теорема утверждает, что в распределённой системе невозможно одновременно обеспечить все три свойства:

  • Consistency (согласованность) — все узлы видят одни и те же данные в один момент времени.
  • Availability (доступность) — система всегда отвечает на запросы, даже при сбоях.
  • Partition tolerance (устойчивость к разделению) — система работает при разрывах связи между узлами.

Можно выбрать только два из трёх. Например:

  • CP (как PostgreSQL с репликацией) — жертвует доступностью ради согласованности.
  • AP (как Cassandra) — жертвует согласованностью ради доступности.

Пример на практике:

// AP-система (eventual consistency)  
func GetData(key string) (string, error) {  
    // Возвращает данные даже если они не синхронизированы  
    return cache.Get(key), nil  
}  

Видео-ответы