Udviklerne af databasen ScyllaDB har annonceret, at projektet overgår til en proprietær licens, der begrænser anvendelsesområdet. Version 6.2.x af ScyllaDB bliver den sidste, der er tilgængelig under AGPL-licensen. Interessenter kan, hvis de ønsker det, fork og fortsætte udviklingen af ScyllaDB's kodebase under den gamle licens.
Tidligere har projektet ScyllaDB fulgt en Open Core udviklingsmodel, hvor den grundlæggende del af produktet udvikles under en fri licens, mens den udvidede funktionalitet er lukket og kun leveres til indehavere af en kommerciel licens. I henhold til den nye licensordning vil offentliggørelsen af den åbne version af ScyllaDB OSS stopper, og det tidligere lukkede kommercielle produkt ScyllaDB Enterprise vil begynde at blive distribueret med kildekode under en proprietær licens. Brugere vil kunne anvende den fulde version af ScyllaDB Enterprise gratis under visse betingelser.
Den nye licens forbyder brug af softwaren til konkurrencen med produkter og tjenester fra udviklerne af ScyllaDB, samt til at opbygge cloud systemer som ‘app som en tjeneste’ (SaaS, software-as-a-service) og kommercielle systemer som ‘database som en tjeneste’ (dBaaS, database-as-a-service). Licensen begrænser ikke brugen af det gratis produkt til kommercielle formål og i arbejdsomgivelser, så længe den samlede opbevaringskapasitet på alle nodene i klyngen ikke overstiger 10TB og der anvendes højst 50 VCPU til databehandling. Brugere, der ikke opfylder de angivne kriterier, tilbydes at købe en kommerciel licens.
For eksempel kan ScyllaDB gratis anvendes på en klynge med tre noder, hvis hver node har 16 logiske CPU-kerner og en disklagring på 3TB. En sådan konfiguration kan håndtere 100-200 tusind operationer per sekund. Distribution af ScyllaDB og ændringer i koden er tilladt, så længe det leveres under den samme licens, et fuldt liste over alle ændringer tælles, og der gives oplysninger om den oprindelige forfatter af produktet.
Årsagen til ændringen af ScyllaDB's distributionspolitik var ønsket om at forene og optimere udviklingen af de konkurrerende kommercielle og åbne versioner, hvis separate vedligeholdelse skabte vanskeligheder, tog meget energi og brugte ressourcer. Desuden, på grund af den komplekse interne arkitektur, blev ScyllaDB's kodebase udelukkende udviklet af virksomhedens medarbejdere, og det åbne projekt fik aldrig eksterne deltagere til at indsende deres ændringer. Et vendepunkt blev arbejdet med implementeringen af Raft konsensusalgoritmen, tabeller og den indbyggede støtte til S3 API, hvilket resulterede i, at mange hjælpefunktioner blev flyttet fra eksterne applikationer til den primære RDBMS.
I sidste ende blev det besluttet at samle de åbne og kommercielle produkter, hvilket både vil forenkle udviklingen og udvide mulighederne for den gratis version. For eksempel vil brugere, der holder sig inden for gratis grænser, få adgang til funktioner som LDAP-understøttelse, PGO-optimering (reduktion af latens i forespørgsler med op til 33% og forbedring af ydelsen med op til 50%), filniveau streaming (accelereret tilføjelse/fjernelse af noder op til 30 gange), evnen til at sætte egne prioriteter for forskellige belastninger, understøttelse af komprimering af RPC-trafik mellem noderne ved hjælp af ZSTD-algoritmen, forbedret data pakkestrategi (reduktion af lagerstørrelse med op til 35%), understøttelse af kryptering, Kubernetes-operator til ScyllaDB og langsigtet supportcyklus for udgivelser.
ScyllaDB gør det muligt at oprette distribuerede, skalerbare og fejl tolerante noSQL-systemer, der lagrer data i form af associative arrays (hashes) med flere niveauer af indlejring. Til strukturerede forespørgsler kan der anvendes et SQL-lignende sprog kaldet CQL (Cassandra Query Language). Klynger baseret på ScyllaDB sikrer en lineær skaleringsniveau, hvor ydeevnen står i direkte forhold til antallet af processorkerner. Data, der placeres i databasen, bliver automatisk replikeret på flere noder, og hvis en node fejler, overtager andre noder dens funktioner i realtid. Tilføjelse, opdatering og sletning af noder i klyngen kan ske uden afbrydelse af driften og uden omkonfigurering af de andre noder.
Database ScyllaDB blev grundlagt for ti år siden af Avi Kiviti og Dor Laor, som tidligere skabte hypervisoren. KVM og operativsystemet OSv. Projektet blev skabt som et forsøg på at genindskrive Apache Cassandra fra Java til C++ for at opnå højere ydeevne. Databasen er API-kompatibel med Apache Cassandra og Amazon DynamoDB. I gennemførte tests viser ScyllaDB i forhold til Apache Cassandra en kapacitetsforøgelse på 2-5 gange. Det bemærkes, at et cluster baseret på Apache Cassandra kan erstattes af et cluster af ScyllaDB, der indeholder 10 gange færre noder, men som trods færre noder overgår ydeevnen med 42%.
Hvad angår andre produkter fra ScyllaDB, vil rammeværket til udvikling af asynkrone serverapplikationer Seastar, drivere og Kubernetes-operator fortsætte med at blive leveret under Apache 2.0-licensen. Scylla Manager, en platform til clusterstyring, som tidligere blev distribueret under en proprietær licens, er nu blevet overført til Apache 2.0-licensen. Den lukkede version af den geografisk distribuerede Kubernetes-operator er blevet kombineret med den åbne Kubernetes-operator og vil blive leveret under Apache 2.0-licensen.
Kilde: opennet.ru
