ScyllaDB andmebaasi arendajad teatasid projekti üleminekust omandi litsentsile, mis piirab kasutusvahemikku. ScyllaDB versioon 6.2.x saab olema viimane, mis on saadaval AGPL-litsentsi all. Huvi korral võivad soovijad luua forki ja jätkata ScyllaDB koodibaasi arendamist vanas litsentsis.
Varasemalt järgnes ScyllaDB projekt avatud tuuma arengumudelile, kus toote põhiosa areneb vaba litsentsi all, samas kui laiendatud funktsionaalsus on suletud ja saadaval ainult kaubandusliku litsentsi omanikele. Uue litsentsimismudeli kohaselt lõpetatakse ScyllaDB OSS avatud versiooni avaldamine, samas kui varem suletud kaubanduslik toode ScyllaDB Enterprise hakkab levima koos allika koodiga omandi litsentsi alusel. ScyllaDB OSS-i asemel saavad kasutajad tasuta kasutada ScyllaDB Enterprise täielikku versiooni, tingimusel et nad järgivad teatud nõudeid.
Uus litsents keelab tarkvara kasutamise, et konkureerida ScyllaDB arendajate toodete ja teenustega, samuti „rakendus kui teenus“ (SaaS, software-as-a-service) ning kommertse süsteemide „andmebaas kui teenus“ (dBaaS, database-as-a-service) loomise. Litsents ei piira tasuta toote kasutamist äritegevuses ja töökeskkondades, kui kogu salvestusruumi suurus kõikides klastrinodes ei ületa 10 TB ning andmete töötlemiseks kasutatakse mitte rohkem kui 50 VCPU-d. Kasutajatele, kes ei vasta esitatud kriteeriumidele, pakutakse võimalust osta kommertslitsents.
Näiteks on tasuta lubatud kasutada ScyllaDB kolmesõlmelises klastris, kui iga sõlm sisaldab 16 loogilist CPU tuuma ja kettaruum, mille suurus on 3 TB. Selline konfiguratsioon suudab töödelda 100-200 tuhat operatsiooni sekundis. ScyllaDB levitamine ja koodi muutmine on lubatud, kui see on tarnitud sama litsentsi alla, loetletakse kõigi muudatuste täielik nimekiri ja märgitakse algse autori teave.
ScyllaDB levitamise poliitika muutumise põhjuseks oli soov ühtlustada ja optimeerida komisjonide vahel konkureerivate äriliste ja avatud variantide arendust, mille eraldi toetamine tekitas keerukusi, nõudis palju ressursse ja aega. Samuti ei olnud ScyllaDB sisemise arhitektuuri keerukuse tõttu koodibaasi arendatud väljaspoolt ettevõtte töötajate, mis tähendab, et avatud projekt ei saanud kunagi väliseid osalejaid, kes oma muudatusi edastaksid. Murdeline hetk oli Rafti konsensuse algoritmi, tabelite ja sisseehitatud S3 API toe rakendamise töö, mille käigus viidi paljusid abifunktsioone välistest rakendustest peamise andmebaasi koostisse.
Lõppkokkuvõttes otsustati ühendada avatud ja kommertstooteid, mis ühel poolt lihtsustab arendust ning teisel poolt laiendab tasuta versiooni võimalusi. Näiteks saavad tasuta limiitidesse mahtuvad kasutajad juurdepääsu sellistele funktsioonidele nagu LDAP-i tugi, PGO-optimeerimine (tekstide viivituste vähendamine 33% ja jõudluse suurendamine kuni 50%), failitasemel voogedastuse režiim (sõlmede lisamise/kustutamise kiirus kuni 30 korda), oma prioriteetide seadmine erinevatele koormustele, RPC-trafi tihendamise tugi sõlmede vahel ZSTD algoritmi abil, parandatud andmete pakkimise strateegia (salvestusruumi vähendamine kuni 35%) ja krüpteerimise tugi, Kubernetes-operator ScyllaDB jaoks, pikaajaline toeta emakate tsüklite tugi.
ScyllaDB võimaldab luua jaotatud, skaleeritavaid ja tõrketaluvusega noSQL-süsteeme, mis salvestavad andmeid assotsiatiivsete massiivide (HASH) kujul, millel on mitu sügavustaset. Struktureeritud päringute jaoks võib kasutada SQL-sarnast keelt CQL (Cassandra Query Language). ScyllaDB-põhised klastrid tagavad lineaarse skaleeritavuse taseme, kus jõudlus sõltub otse protsessori tuumade arvust. Andmed, mis paigutatakse andmebaasi, replitseeruvad automaatselt mitmele sõlmele ning sõlme tõrke korral haaravad selle funktsioonid kiiresti teised sõlmed. Klastrisse sõlmede lisamine, uuendamine ja eemaldamine toimub ilma töö katkestamata ja teiste sõlmede ümberkonfigureerimiseta.
Andmebaas ScyllaDB loodi kümme aastat tagasi Avi Kiviti (Avi Kiviti) ja Dor Laori (Dor Laor) poolt, kes kunagi lõid hüperviisori. KVM ja operatsioonisüsteem OSv. Projekt loodi katsena kirjutada Apache Cassandra Java keelt C++-ks, et saavutada kõrgemat jõudlust. DBMS on API tasemel ühilduv Apache Cassandra ja Amazon DynamoDB-ga. Tehtud testides näitab ScyllaDB võrreldes Apache Cassandra'ga läbilaskevõime kasvu 2-5 korda. Seda on märgitud, et Apache Cassandra baasil klustrit saab asendada ScyllaDB klustriga, mis sisaldab 10 korda vähem sõlmi, kuid hoolimata vähematest sõlmedest ületab see jõudluses 42%.
Mis puudutab ScyllaDB muid tooteid, siis asünkroonsete serverite rakenduste arendamise raamistik Seastar, draiverid ja Kubernetes operator jätkavad pakkumist Apache 2.0 litsentsi alusel. Klusteri haldamise platvorm Scylla Manager, mida varem jagati omaniku litsentsi alusel, on üle viidud Apache 2.0 litsentsile. Suletud territoriaalselt jaotatud Kubernetes operator on ühendatud avatud Kubernetes operatoriga ja pakutakse Apache 2.0 litsentsi alusel.
Allikas: opennet.ru
