Vývojáři databázového systému ScyllaDB oznámili, že projekt přechází na vlastní licenci s omezenou oblastí použití. Větev ScyllaDB 6.2.x bude poslední dostupná pod licencí AGPL. Zájemci si mohou vytvořit fork a pokračovat ve vývoji kódu ScyllaDB pod starou licencí.
Dříve projekt ScyllaDB dodržoval model vývoje Open Core, kde základní část produktu se vyvíjela pod volnou licencí, zatímco rozšířená funkcionalita byla uzavřena a nabízena pouze držitelům komerční licence. Podle nové licenční schémy bude publikace otevřené edice ScyllaDB OSS ukončena a dříve uzavřený komerční produkt ScyllaDB Enterprise začne být distribuován se zveřejněním zdrojového kódu pod vlastní licencí. Místo ScyllaDB OSS budou uživatelé moci zdarma využívat plnou verzi ScyllaDB Enterprise za splnění určitých podmínek.
Nová licence zakazuje používání softwaru pro soutěžení s produkty a službami vývojářů ScyllaDB, stejně jako pro vytváření cloudových systémů „aplikace jako služba“ (SaaS, software-as-a-service) a komerčních systémů „DB jako služba“ (dBaaS, database-as-a-service). Licence neomezuje používání zdarma produktu pro komerční účely a pracovní prostředí, ale za podmínky, že celková kapacita úložiště na všech uzlech clusteru nepřekročí 10 TB a pro zpracování dat se použije nejvýše 50 VCPU. Uživatelům, kteří nesplní uvedené kritéria, se doporučuje zakoupit komerční licenci.
Například je možné zdarma používat ScyllaDB na clustru ze tří uzlů, pokud každý uzel obsahuje 16 logických jader CPU a diskové úložiště o velikosti 3 TB. Taková konfigurace je schopna zpracovávat 100-200 tisíc operací za sekundu. Rozšiřování ScyllaDB a provádění změn v kódu je povoleno za podmínky, že bude dodáván pod stejnou licencí, bude uveden kompletní seznam všech změn a informace o původním autorovi produktu.
Důvodem změny politiky distribuce ScyllaDB bylo přání sjednotit a optimalizovat vývoj konkurenčních komerčních a open-source variant, jejichž oddělená podpora způsobovala komplikace, vyžadovala mnoho úsilí a spotřebovávala zdroje. V důsledku složitosti vnitřní architektury se kódová báze ScyllaDB vyvíjela výhradně silami zaměstnanců společnosti, přičemž otevřený projekt nedokázal získat externí účastníky, kteří by přenášeli své změny. Zlomovým momentem se stala práce na implementaci konsensuálního algoritmu Raft, tabulek a vestavěné podpory API S3, v jejímž důsledku se mnoho pomocných funkcí přesunulo z externích aplikací do hlavního jádra DBMS.
Nakonec bylo rozhodnuto spojit open-source a komerční produkty, což na jedné straně zjednoduší vývoj a na druhé straně rozšíří možnosti bezplatné verze. Například uživatelé, kteří se vejdou do bezplatných limitů, získají přístup k možnostem, jako je podpora LDAP, PGO optimalizace (snížení latence textů o 33 % a zvýšení výkonu až o 50 %), režim streamování na úrovni souborů (urychlení přidávání/odebírání uzlů až o 30krát), možnost definice vlastních priorit pro různá zatížení, podpora komprese RPC provozu mezi uzly pomocí algoritmu ZSTD, vylepšená strategie balení dat (snížení velikosti úložiště až o 35 %), podpora šifrování, Kubernetes operátor pro ScyllaDB a dlouhý cyklus podpory vydání.
ScyllaDB umožňuje vytváření distribuovaných, škálovatelných a odolných noSQL systémů, které ukládají data ve formě asociativních polí (hashů) s několika úrovněmi vložení. Pro strukturované dotazy lze použít SQL podobný jazyk CQL (Cassandra Query Language). Klastery založené na ScyllaDB poskytují lineární úroveň škálovatelnosti, při které je výkon přímo závislý na počtu procesorových jader. Data umístěná v DB se automaticky replikují na několik uzlů a při selhání uzlu jeho funkce okamžitě přebírají jiné uzly. Přidávání, aktualizace a odstraňování uzlů v klastru se provádí bez zastavení provozu a bez pře-konfigurování ostatních uzlů.
Systém správy databází ScyllaDB byl založen před deseti lety Avi Kivitim a Dorem Laorem, kteří dříve vytvořili hypervizor. KVM a operační systém OSv. Projekt byl založen jako pokus přepsat Apache Cassandra z jazyka Java do C++ za účelem dosažení vyšší výkonnosti. Systém je kompatibilní na úrovni API s Apache Cassandra a Amazon DynamoDB. Testy ukazují, že ScyllaDB má ve srovnání s Apache Cassandra až pětinásobnou propustnost. Je také zaznamenáno, že cluster založený na Apache Cassandra lze nahradit clusterem ScyllaDB, který obsahuje desetkrát méně uzlů, a přesto o 42 % překonává výkonem.
Pokud jde o další produkty společnosti ScyllaDB, framework pro vývoj asynchronních serverových aplikací Seastar, ovladače a operátor Kubernetes budou i nadále dodávány pod licencí Apache 2.0. Platforma pro správu clusteru Scylla Manager, která byla dříve distribuována pod proprietární licencí, byla převedena na licenci Apache 2.0. Uzavřená implementace geograficky distribuovaného operátora Kubernetes se spojila s otevřeným operátorem Kubernetes a bude dodávána pod licencí Apache 2.0.
Zdroj: opennet.ru
