Кассандра – невероятно популярная база данных, которая лежит в основе приложений с большой нагрузкой, таких как Facebook.

Помимо того, что Кассандра является основой для Facebook и Netflix, она может быть очень масштабируемой и отказоустойчивой базой данных, которую легко освоить и легко настроить, предоставляя аккуратные решения для довольно сложных задач. Протоколирование событий, сбор и оценка метрик, мониторинг исторических данных – все эти задачи довольно сложно выполнить корректно, учитывая вариабельность ОС, платформ, браузеров и устройств, с которыми сталкиваются в своей повседневной работе как продукты запуска, так и корпоративные системы.

Хотелось бы выделить 5 важных преимуществ использования Кассандры:

Помогает с легкостью решать сложные задачи

Имеет короткий срок обучения

Снижает накладные расходы администратора и затраты на инженера DevOps.

Быстрое письмо и молниеносное чтение

Крайняя устойчивость и отказоустойчивость

Вот что мы имеем в виду под вышеперечисленными преимуществами.

Кассандра помогает с легкостью решать сложные задачи.

Логирование событий, сбор метрик, выполнение запросов к историческим данным – все эти задачи могут показаться скучными, но они крайне важны как для гигантских рабочих процессов Data, так и для DevOps. Настройка централизованного хранилища для журналов часто является довольно сложной задачей, учитывая изменчивость информации и обилие ее источников, о которых мы упоминали выше.

Построение централизованного хранилища для журналов и метрик, а также извлечение исторической информации из этого хранилища может быть задачей, с которой Cassandra справляется с предельной легкостью. После того, как структура таблицы выбрана и спроектирована, база данных работает как бы очарование, легко масштабируясь по Вашему требованию.

Кассандра характеризуется короткой кривой обучения

Кассандра оперирует CQL – командным языком Кассандры. В основном это SQL, но лишенный более продвинутых возможностей. Хотя это часто является своего рода минусом, это также является огромным преимуществом, потому что инструмент в основном готов к выполнению исключительно хорошо, используя довольно ограниченный список переменных, команд и функций. Благодаря этой простоте огромный инженер данных может освоить Cassandra примерно за 30 дней, что, очевидно, значительно сокращает время, необходимое для подключения продукта.

Кассандра снижает накладные расходы на администрирование и затраты на инженера DevOps.

Как мы уже описывали ранее, протоколирование событий, сбор метрик и работа с историческими данными являются очевидными областями применения Кассандры. Однако, поскольку ваша команда в состоянии использовать инструмент в полной мере (и этот момент придет вам на ум совсем скоро) – они обязательно найдут гораздо больше задач, которые будут делегированы Кассандре и выполнены отлично. Низкая стоимость администрирования делает этот инструмент невероятно полезным, так как ваша команда в состоянии сконцентрироваться больше на своих основных задачах, таких как улучшение товара и его функций, а не на постоянном пожаротушении, например, расшифровке журналов и решении проблем.

Кассандра предлагает быстрое написание и молниеносное чтение.

Так как эта база данных была разработана для Facebook, где в каждую секунду происходит много чтений и записей, она обеспечивает невероятный уровень производительности. Что еще более важно, эти значения линейны и масштабируются почти без усилий. Это говорит о том, что после измерения значений производительности при чтении/записи на одном сервере, вы просто вычислите, какой процент серверов вы должны увеличить кластер, чтобы преуспеть в заданных уровнях производительности, и легко масштабируются. Дополнительно, нарезка на строки разделов (выполняемая так называемыми ключами разделов) обеспечивает молниеносную реакцию на запросы.

Кассандра обеспечивает экстремальную отказоустойчивость и отказоустойчивость.

Поскольку Кассандра может быть кластером без мастера, не существует единой точки отказа. информационные хэши постоянно реплицируются по всему кластеру, чтобы гарантировать 100% работоспособность службы, независимо от временной недоступности до 1/2 серверов. Это часто бывает особенно полезно при выполнении откатных обновлений или некоторых обслуживаний на кластерах. Независимо от того, если сервер, вся серверная стойка или весь центр обработки данных выйдет из строя, ваши клиенты не столкнутся с простоями в обслуживании. Ваше приложение всегда будет снаружи, немного похоже на Facebook и Netflix.