Название базовой системы (платформы): | 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 привязывается отдельный обособленный обработчик, которому выделена отдельная память (отсутствуют задержки из-за организации блокировок) и привязана отдельная очередь пакетов к сетевой карте. TAdviser выпустил Гид по российским операционным системам
По сути, каждый процесс-обработчик ScyllaDB включает в себя собственный оптимизирванный TCP/IP-стек, работающий в пространстве пользователя, прикреплённый к отдельному ядру CPU и напрямую взаимодействующий с сетевой картой. Интегрированный сетевой стек поддерживает работу с сетевыми картами на базе чипов Intel, для систем с другими сетевыми адаптерами предусмотрена возможность использования штатного сетевого стека Linux.
Распределение ресурсов системы, 2015
Свойства ScyllaDB: о
- избавление от задержек при упаковке и восстановлении целостности БД,
- отсутствие сборщика мусора,
- возможность переконфигурации кластера (удаление/добавление узлов) без остановки работы,
- линейная масштабируемость, при которой производительность находится в прямой зависимости от числа процессорных ядер,
- наличие средств для пакетной загрузки и выгрузки больших объёмов данных из хранилищ Hadoop и Spark.
ScyllaDB поддерживает модель хранения данных на основе семейства столбцов (ColumnFamily, хэши с несколькими уровнями вложенности) и позволяет использовать SQL-подобный язык структурированных запросов CQL (Cassandra Query Language). Для подключения к ScyllaDB можно использовать существующие клиентские драйверы для Apache Cassandra. СУБД ScyllaDB можно использовать в качестве прозрачной замены Apache Cassandra.
Примечания
Подрядчики-лидеры по количеству проектов
SAP CIS (САП СНГ) (38)
Softline (Софтлайн) (35)
РДТЕХ (33)
BeringPro (БерингПойнт) ранее BearingPoint Russia (28)
ФОРС - Центр разработки (25)
Другие (732)
Сапиенс солюшнс (Sapiens solutions) (7)
Navicon (Навикон) (3)
BeringPro (БерингПойнт) ранее BearingPoint Russia (3)
Инфосистемы Джет (2)
Крок (2)
Другие (35)
Эркер (1)
VK (ранее Mail.ru Group) (1)
VK Tech (ранее VK Цифровые технологии, ВК Цифровые технологии и Mail.ru Цифровые технологии) (1)
Айтеко (Ай-Теко, iTeco) (1)
Астерос (1)
Другие (20)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Oracle (44, 179)
SAP SE (6, 178)
Microsoft (23, 142)
PostgreSQL Global Development Group (14, 126)
Постгрес профессиональный (ППГ, Postgres Professional) (6, 40)
Другие (263, 242)
SAP SE (3, 11)
Microsoft (3, 11)
PostgreSQL Global Development Group (3, 10)
Oracle (2, 4)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 3)
Другие (10, 13)
PostgreSQL Global Development Group (4, 9)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 6)
VK Tech (ранее VK Цифровые технологии, ВК Цифровые технологии и Mail.ru Цифровые технологии) (2, 3)
Arenadata (Аренадата Софтвер) (3, 2)
Oracle (2, 2)
Другие (9, 9)
PostgreSQL Global Development Group (3, 13)
Постгрес профессиональный (ППГ, Postgres Professional) (1, 6)
Arenadata (Аренадата Софтвер) (3, 5)
Apache Software Foundation (ASF) (3, 4)
Тантор Лабс (Tantor Labs) (2, 3)
Другие (8, 10)
PostgreSQL Global Development Group (4, 11)
Arenadata (Аренадата Софтвер) (3, 6)
VMware (2, 6)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 5)
Сбербанк-Технологии (СберТех) (2, 2)
Другие (5, 7)
Распределение систем по количеству проектов, не включая партнерские решения
Oracle Database - 106
Microsoft SQL Server - 104
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 103
PostgreSQL СУБД - 80
SAP HANA (High Performance Analytic Appliance) - 72
Другие 374
Microsoft SQL Server - 9
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 8
PostgreSQL СУБД - 7
Oracle Database - 3
SAP HANA (High Performance Analytic Appliance) - 3
Другие 21
Postgres Pro СУБД - 5
ADB - Arenadata DB - 2
PostgreSQL СУБД - 2
Tarantool Платформа in‑memory вычислений - 2
Oracle Database - 2
Другие 13
Postgres Pro СУБД - 6
PostgreSQL СУБД - 4
Tantor СУБД - 3
ADB - Arenadata DB - 3
Apache Kafka - 2
Другие 10
PostgreSQL СУБД - 5
ADB - Arenadata DB - 5
Postgres Pro СУБД - 3
ADH - Arenadata Hadoop - 2
Сбер Platform V Pangolin - 2
Другие 9