Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в 10 раз быстрее
По заявлению разработчиков ScyllaDB обеспечивает десятикратное увеличение пропускной способности обработки запросов на каждом узле по сравнению с оригинальной Apache Cassandra, в 99% случаев успевая обработать запрос менее чем за миллисекунду. Например, на типовом узле ScyllaDB способен обрабатывать около одного миллиона транзакций в секунду. Обработка большего числа запросов на одном узле позволяет существенно снизить затраты на кластер, в котором для достижения заданных характеристик потребуется на порядок меньше узлов, чем при создании кластера на основе классической СУБД Cassandra. ScyllaDB также упрощает создание запаса производительности, необходимой при обработке нетипичных пиков нагрузки.
Одним из факторов, позволившим добиться подобных показателей производительности, является использование разработанного теми же авторами C++ фреймворка Seastar, нацеленного на создание сложных серверных приложений, обрабатывающих запросы в асинхронном режиме. Seastar учитывает особенности современного оборудования, таких как распараллеливание на многоядерных системах, учёт попадания данных в процессорный кэш, оптимизация для накопителей SSD, прямой доступ к очереди пакетов на сетевой карте и полная утилизация пропускной способности 10/40-гигабитных сетевых карт.
Система построена на основе архитектуры shared-nothing, подразумевающей, что к каждому ядру CPU привязывается отдельный обособленный обработчик, которому выделена отдельная память (отсутствуют задержки из-за организации блокировок) и привязана отдельная очередь пакетов к сетевой карте. По сути, каждый процесс-обработчик ScyllaDB включает в себя собственный оптимизирванный TCP/IP-стек, работающий в пространстве пользователя, прикреплённый к отдельному ядру CPU и напрямую взаимодействующий с сетевой картой. Интегрированный сетевой стек поддерживает работу с сетевыми картами на базе чипов Intel, для систем с другими сетевыми адаптерами предусмотрена возможность использования штатного сетевого стека Linux.
ScyllaDB также обладает такими свойствами, как избавление от задержек при проведении упаковки и восстановления целостности БД, отсутствие сборщика мусора, возможность переконфигурации кластера (удаление/добавление узлов) без остановки работы, линейная масштабируемость, при которой производительность находится в прямой зависимости от числа процессорных ядер, наличие средств для пакетной загрузки и выгрузки больших объёмов данных из хранилищ Hadoop и Spark. ScyllaDB поддерживает модель хранения данных на базе семейства столбцов (ColumnFamily, хэши с несколькими уровнями вложенности) и позволяет использовать SQL-подобный язык структурированных запросов CQL (Cassandra Query Language). Для подключения к ScyllaDB можно использовать существующие клиентские драйверы для Apache Cassandra. СУБД ScyllaDB можно использовать в качестве прозрачной замены Apache Cassandra.
Источник: http://www.opennet.ru/opennews/art.shtml?num=43017
|
0 | Tweet | Нравится |
|