пятница, 23 апреля 2021 г.

ScyllaDB (database) (часть 1)

 Scylla - это распределенное хранилище данных NoSQL с открытым исходным кодом,

ориентированное на столбцы . Он был разработан для совместимости с Apache

Cassandra, обеспечивая при этом значительно более высокую пропускную

способность и меньшие задержки. 


Scylla поддерживает те же протоколы, что и Cassandra (CQL иThrift), и те же форматы файлов (SSTable),

но представляет собой полностью переписанную реализацию с использованием языка

C++ 20, заменяющего Java Cassandra, и библиотеки асинхронного

программирования Seastar? заменяющей потоки. Общая память,

сопоставленные файлы и другие классические методы программирования Linux.

Помимо реализации протоколов Cassandra, Scylla также реализует API Amazon DynamoDB. 


Scylla использует сегментированный дизайн на каждом узле, что означает, что

каждое ядро ЦП обрабатывает свой набор данных. Ядра не обмениваются данными,

а явно обмениваются данными, когда это необходимо. Авторы Scylla утверждают,

что такая конструкция позволяет Scylla достичь гораздо лучшей

производительности на современных машинах NUMA SMP и очень хорошо

масштабироваться с увеличением количества ядер. Они измерили до 2 миллионов

запросов в секунду на одной машине , а также утверждают, что кластер Scylla

может обслуживать столько же запросов, сколько кластер Cassandra, в 10 раз

превышающий его размер - и делать это с меньшими задержками. Независимое

тестирование не всегда могло подтвердить такое 10-кратное улучшение пропускной

способности, а иногда измерялось меньшее ускорение, например, 2-кратное. 

Тест Samsung 2017 года показал 10- кратное ускорение на высокопроизводительных

машинах - тест Samsung показал, что Scylla превзошла Cassandra на кластере

из 24-ядерных машин в 10–37 раз в зависимости от нагрузки YCSB . 


Scylla доступна как локальное решение, у основных поставщиков общедоступного

облака или как DBaaS (Scylla Cloud).



Scylla была основана в декабре 2014 года стартапом Cloudius Systems (позже

переименованным в ScyllaDB Inc.), ранее известным созданием OSv . Scylla был

выпущен с открытым исходным кодом в сентябре 2015 года  под лицензией AGPL

. Сотрудники ScyllaDB Inc. остаются основными кодировщиками Scylla, но его

разработка открыта для общественности и использует общедоступные репозитории

GitHub и общедоступные списки рассылки

#Scylla #ScyllaDB #Cassandra

Комментариев нет:

Отправить комментарий