В этом топике я хотел бы рассказать о том, как устроена
кассандра (
cassandra) — децентрализованная, отказоустойчивая и надёжная база данных “ключ-значение”. Хранилище само позаботится о проблемах наличия
единой точки отказа (
single point of failure), отказа серверов и о распределении данных между
узлами кластера (
cluster node). При чем, как в случае размещения серверов в одном
центре обработки данных (
data center), так и в конфигурации со многими центрами обработки данных, разделенных расстояниями и, соответственно, сетевыми задержками. Под надёжностью понимается
итоговая согласованность (
eventual consistency) данных с возможностью установки
уровня согласования данных (
tune consistency) каждого запроса.
NoSQL базы данных требуют в целом большего понимания их внутреннего устройства чем
SQL. Эта статья будет описывать базовое строение, а в следующих статьях можно будет рассмотреть: CQL и интерфейс программирования; техники проектирования и оптимизации; особенности кластеров размещённых в многих центрах обработки данных.