При выборе системы управления данными необходимо учитывать три основные проблемы: согласованность, доступность и устойчивость к разделению.
- Согласованность — означает, что каждый клиент всегда имеет одинаковое представление данных.
- Доступность — означает, что все клиенты всегда могут читать и писать.
- Допуск на разделы – означает, что система хорошо работает между физическими разделами сети.
Согласно теореме CAP, вы можете выбрать только два.
Помимо конфигураций CAP, еще одним важным отличием систем управления данными является используемая ими модель данных: реляционная, ключ-значение, столбцовая или документальная (есть и другие, но это основные).
- Реляционные системы — это базы данных, которые мы используем уже некоторое время. СУРБД и системы, поддерживающие ACIDity и соединения, считаются реляционными.
- Системы «ключ-значение» в основном поддерживают операции получения, помещения и удаления на основе первичного ключа.
- Системы, ориентированные на столбцы, по-прежнему используют таблицы, но не имеют соединений (объединения должны обрабатываться в вашем приложении). Очевидно, что они хранят данные по столбцам, в отличие от традиционных баз данных, ориентированных на строки. Это значительно упрощает агрегирование.
- Системы, ориентированные на документы, хранят структурированные «документы», такие как JSON или XML, но не имеют соединений (объединения должны обрабатываться внутри вашего приложения). Очень легко сопоставить данные объектно-ориентированного программного обеспечения с этими системами.
Итог
Ключевой вывод для собеседования: Каковы три основные проблемы при выборе системы управления данными?