A ScyllaDB adatbázis-kezelő rendszer fejlesztői bejelentették, hogy a projektet szabadalmaztatott licencre váltják, amely korlátozza a felhasználás körét. A ScyllaDB 6.2.x ága lesz az utolsó, amely AGPL licenc alatt érhető el. Az érdeklődők, ha szeretnék, létrehozhatják a forkot, és folytathatják a ScyllaDB kódalapjának fejlesztését a régi licenc alatt.
Korábban a ScyllaDB projekt az Open Core fejlesztési modellt követte, amely szerint a termék alapvető része szabad licenc alatt fejlődik, míg a kibővített funkcionalitás zárt és csak a kereskedelmi licenccel rendelkező felhasználók számára elérhető. Az új licencelési rend alapján a ScyllaDB OSS nyílt kiadásának közzététele megszűnik, míg a korábban zárt kereskedelmi termék, a ScyllaDB Enterprise, forráskódja szabadalmaztatott licenc alatt kezd el terjedni. A ScyllaDB OSS helyett a felhasználók ingyenesen használhatják a ScyllaDB Enterprise teljes verzióját, ha bizonyos feltételek teljesülnek.
Az új licenc megtiltja a szoftver használatát a ScyllaDB termékeivel és szolgáltatásaival való versengés céljából, sőt a felhőalapú «alkalmazás mint szolgáltatás» (SaaS, software-as-a-service) és kereskedelmi «adatbázis mint szolgáltatás» (dBaaS, database-as-a-service) rendszerek létrehozását is. A licenc nem korlátozza az ingyenes termék kereskedelmi célú használatát és munkahelyi környezeteiben, de azzal a feltétellel, hogy a klaszter összes csomópontjának tárolókapacitása nem haladja meg a 10 TB-ot, és az adatok feldolgozásához legfeljebb 50 VCPU használható. Azoknak a felhasználóknak, akik nem felelnek meg a megadott feltételeknek, javasolják a kereskedelmi licenc megvásárlását.
Például ingyenesen használható a ScyllaDB egy három csomópontú klaszteren, ha minden csomópont 16 logikai CPU magot és 3TB méretű diszk tárolót tartalmaz. Ez a konfiguráció 100-200 ezer műveletet tud másodpercenként kezelni. A ScyllaDB terjesztése és a kód módosítása engedélyezett, ha a terméket ugyanazt a licencet követve adják át, teljes listát adva minden módosításról és a termék eredeti szerzőjének megjelölésével.
A terjesztési politika megváltoztatásának oka a ScyllaDB-nél az volt, hogy egységesíteni és optimalizálni kell a versengő kereskedelmi és nyílt forráskódú változatok fejlesztését. Ezek különálló fenntartása bonyodalmakat okozott, sok energiát elvont, és erőforrásokat használt fel. Ezen kívül, a belső architektúra bonyolultsága miatt a ScyllaDB kódalapja kizárólag a cég alkalmazottainak munkájával fejlődött, és a nyílt projektben sosem jelentkeztek külső résztvevők, akik a saját módosításaikat átadták volna. A fordulópontot a Raft konszenzusalgoritmus, a táblák és az S3 API beépített támogatásának megvalósítására irányuló munka jelentette, amelynek eredményeként sok segédfunkciót átvittek a külső alkalmazásokból az adatbázis fő összetevőibe.
Végül úgy döntöttek, hogy egyesítik a nyílt és kereskedelmi termékeket, ami egyrészt leegyszerűsíti a fejlesztést, másrészt pedig bővíti a ingyenes verzió lehetőségeit. Például a gratis határokon belül lévő felhasználók hozzáférést kapnak olyan lehetőségekhez, mint az LDAP támogatás, a PGO-optimalizáció (33%-kal csökkenti a késleltetéseket és akár 50%-kal javítja a teljesítményt), fájl szintű streaming mód (a csomópontok hozzáadásának/törlésének felgyorsítása akár 30-szor), a különböző terhelésekhez tartozó prioritások beállítása, RPC forgalom tömörítésének támogatása a csomópontok között ZSTD algoritmus segítségével, a jobb adatcsomagolási stratégia (a tárolási méret 35%-os csökkentése), titkosítás támogatása, Kubernetes operátor a ScyllaDB számára, hosszú távú kiadási támogatási ciklus.
A ScyllaDB lehetővé teszi a elosztott, skálázható és hibatűrő noSQL rendszerek létrehozását, amelyek adatait asszociációs tömbök (hash) formájában tárolják, több szintű beágyazással. Strukturált lekérdezésekhez SQL-szerű CQL (Cassandra Query Language) nyelvet lehet használni. A ScyllaDB alapú klaszterek lineáris skálázhatóságot biztosítanak, ahol a teljesítmény közvetlenül függ a processzormagok számától. Az adatbázisba helyezett adatok automatikusan több csomópont között replikálódnak, és ha egy csomópont meghibásodik, annak funkcióit más csomópontok átvállalják. A klaszterben a csomópontok hozzáadása, frissítése és törlése megállás nélkül és anélkül történik, hogy más csomópontokat újra konfigurálnának.
A ScyllaDB adatbázis-kezelő rendszert Avi Kiviti és Dor Laor alapította tíz éve, akik egy hipervizort és az OSv operációs rendszert is létrehozták. KVM A projekt célja az volt, hogy az Apache Cassandra-t Java nyelvről C++ nyelvre írják át, hogy magasabb teljesítményt érjenek el. Az adatbázis API szinten kompatibilis az Apache Cassandra-val és az Amazon DynamoDB-vel. A végzett tesztek alapján a ScyllaDB az Apache Cassandra-hoz képest 2-5-szörös teljesítménynövekedést mutat. Megjegyzik, hogy egy Apache Cassandra klasztert ki lehet cserélni egy ScyllaDB klaszterre, amely 10-szer kevesebb csomópontot tartalmaz, de a kevesebb csomópont ellenére 42%-kal jobban teljesít.
A ScyllaDB további termékeivel kapcsolatban a Seastar aszinkron szerveralkalmazás-fejlesztési keretrendszer, a Kubernetes meghajtók és üzemeltető továbbra is Apache 2.0 licenc alatt kerülnek forgalomba. A Scylla Manager klaszterkezelő platform, amelyet korábban saját licenc alatt forgalmaztak, átkerült az Apache 2.0 licenc alá. A területi elosztású Kubernetes üzemeltető zárt megvalósítása egyesül a nyílt Kubernetes üzemeltetővel, és Apache 2.0 licenc alatt kerül forgalomba.
Forrás: opennet.ru
