ScyllaDB

Продукт
Название базовой системы (платформы): Apache Cassandra
Разработчики: Cloudius Systems
Дата премьеры системы: 2015/09/23
Технологии: СУБД

ScyllaDB - открытая NoSQL СУБД.

22 сентября 2015 года Cloudius Systems представила ScyllaDB. В рамках проекта компания предприняла попытку переписать СУБД Apache Cassandra с Java на C++[1].

ScyllaDB обеспечивает полную совместимость с NoSQL СУБД Cassandra, но позволяет добиться значительного роста производительности, демонстрируя скорость обработки запросов и отклик на уровне СУБД Redis. СУБД представили Ави Кивити (Avi Kiviti) и Дор Лаор (Dor Laor), в своё время они создали известные открытые проекты гипервизора KVM и операционную систему OSv с воплощением идеи запуска приложений поверх гипервизора.

Код проекта распространяется под лицензией AGPLv3.

Как заявили разработчики, ScyllaDB обеспечивает десятикратное увеличение пропускной способности обработки запросов на каждом узле по сравнению с оригинальной Apache Cassandra, в 99% случаев успевая обработать запрос менее чем за миллисекунду. Например, на типовом узле ScyllaDB способна обрабатывать около одного миллиона транзакций в секунду. Обработка большего числа запросов на одном узле позволяет существенно снизить затраты на кластер, в котором для достижения заданных характеристик потребуется на порядок меньше узлов, чем при создании кластера на основе классической СУБД Cassandra. ScyllaDB также упрощает создание запаса производительности, необходимой при обработке нетипичных пиков нагрузки.

Таблица сравнения показателей СУБД, 2015

Один из факторов, позволивший достичь таких показателей производительности - использование разработанного авторами фреймворка C++ Seastar, нацеленного на создание сложных серверных приложений, обрабатывающих запросы в асинхронном режиме. Seastar учитывает особенности современного оборудования, таких как распараллеливание на многоядерных системах, учёт попадания данных в процессорный кэш, оптимизация для накопителей SSD, прямой доступ к очереди пакетов на сетевой карте и полная утилизация пропускной способности 10/40-гигабитных сетевых карт.

Сравнение времени задержки, 2015

Система построена на основе архитектуры shared-nothing, подразумевающей, что к каждому ядру CPU привязывается отдельный обособленный обработчик, которому выделена отдельная память (отсутствуют задержки из-за организации блокировок) и привязана отдельная очередь пакетов к сетевой карте. Как зародилась масштабная коррупционная схема при внедрении ИТ в ПФР при участии «Техносерва» и «Редсис». Подробности 38.6 т

По сути, каждый процесс-обработчик ScyllaDB включает в себя собственный оптимизирванный TCP/IP-стек, работающий в пространстве пользователя, прикреплённый к отдельному ядру CPU и напрямую взаимодействующий с сетевой картой. Интегрированный сетевой стек поддерживает работу с сетевыми картами на базе чипов Intel, для систем с другими сетевыми адаптерами предусмотрена возможность использования штатного сетевого стека Linux.

Распределение ресурсов системы, 2015

Свойства ScyllaDB: о

  • избавление от задержек при упаковке и восстановлении целостности БД,
  • отсутствие сборщика мусора,
  • возможность переконфигурации кластера (удаление/добавление узлов) без остановки работы,
  • линейная масштабируемость, при которой производительность находится в прямой зависимости от числа процессорных ядер,
  • наличие средств для пакетной загрузки и выгрузки больших объёмов данных из хранилищ Hadoop и Spark.

ScyllaDB поддерживает модель хранения данных на основе семейства столбцов (ColumnFamily, хэши с несколькими уровнями вложенности) и позволяет использовать SQL-подобный язык структурированных запросов CQL (Cassandra Query Language). Для подключения к ScyllaDB можно использовать существующие клиентские драйверы для Apache Cassandra. СУБД ScyllaDB можно использовать в качестве прозрачной замены Apache Cassandra.

Примечания



СМ. ТАКЖЕ (3)


Подрядчики-лидеры по количеству проектов

За всю историю
2021 год
2022 год
2023 год
Текущий год

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Oracle (44, 179)
  SAP SE (6, 175)
  Microsoft (23, 142)
  PostgreSQL Global Development Group (14, 118)
  Постгрес профессиональный (ППГ, Postgres Professional) (6, 37)
  Другие (253, 201)

Распределение систем по количеству проектов, не включая партнерские решения

За всю историю
2021 год
2022 год
2023 год
Текущий год