Die Entwickler der ScyllaDB-Datenbank haben bekannt gegeben, dass das Projekt auf eine proprietĂ€re Lizenz umgestellt wird, die den Anwendungsbereich einschrĂ€nkt. Die Version ScyllaDB 6.2.x wird die letzte sein, die unter der AGPL-Lizenz verfĂŒgbar ist. Interessierte können einen Fork erstellen und die Weiterentwicklung der ScyllaDB-Codebasis unter der alten Lizenz fortsetzen.
Das ScyllaDB-Projekt hielt sich zuvor an ein Open-Core-Entwicklungsmodell, bei dem der grundlegende Teil des Produkts unter einer freien Lizenz entwickelt wird, wĂ€hrend erweiterte Funktionen geschlossen sind und nur den Inhabern einer kommerziellen Lizenz zur VerfĂŒgung stehen. Entsprechend dem neuen Lizenzschema wird die Veröffentlichung der offenen Version ScyllaDB OSS eingestellt, wĂ€hrend das zuvor geschlossene kommerzielle Produkt ScyllaDB Enterprise mit Bereitstellung des Quellcodes unter einer proprietĂ€ren Lizenz vertrieben wird. Statt ScyllaDB OSS können Benutzer die vollstĂ€ndige Version von ScyllaDB Enterprise kostenlos nutzen, wenn sie bestimmte Bedingungen erfĂŒllen.
Die neue Lizenz verbietet die Nutzung der Software zur konkurrierenden Entwicklung von Produkten und Dienstleistungen der ScyllaDB-Entwickler sowie zur Erstellung von Cloud-Systemen âApplication as a Serviceâ (SaaS, Software-as-a-Service) und kommerziellen Systemen âDatabase as a Serviceâ (dBaaS, Database-as-Service). Die Lizenz schrĂ€nkt die Nutzung des kostenlosen Produkts zu kommerziellen Zwecken und in Produktionsumgebungen nicht ein, vorausgesetzt, die gesamte SpeicherkapazitĂ€t auf allen Knoten des Clusters ĂŒberschreitet nicht 10TB und fĂŒr die Datenverarbeitung werden nicht mehr als 50 VCPU verwendet. Benutzern, die die angegebenen Kriterien nicht erfĂŒllen, wird angeboten, eine kommerzielle Lizenz zu erwerben.
So kann beispielsweise ScyllaDB kostenlos in einem Cluster aus drei Knoten verwendet werden, wenn jeder Knoten 16 logische CPU-Kerne und ein Speichersystem mit einer GröĂe von 3TB enthĂ€lt. Eine solche Konfiguration kann 100-200.000 Operationen pro Sekunde verarbeiten. Die Verbreitung von ScyllaDB und Ănderungen am Code sind erlaubt, sofern sie unter derselben Lizenz erfolgen, eine vollstĂ€ndige Liste aller Ănderungen aufgefĂŒhrt und Informationen ĂŒber den ursprĂŒnglichen Autor des Produkts angegeben werden.
Der Grund fĂŒr die Ănderung der Verbreitungspolitik von ScyllaDB war der Wunsch, die Entwicklung der konkurrierenden kommerziellen und Open-Source-Varianten zu vereinheitlichen und zu optimieren, deren getrennte Pflege Schwierigkeiten verursachte, viel Energie erforderte und Ressourcen verbrauchte. Zudem entwickelte sich die Codebasis von ScyllaDB aufgrund der KomplexitĂ€t der internen Architektur ausschlieĂlich durch die Mitarbeiter des Unternehmens, und das Open-Source-Projekt hatte keine externen Teilnehmer, die ihre Ănderungen einbrachten. Ein Wendepunkt war die Arbeit an der Implementierung des Raft-Konsensalgorithmus, von Tabellen und der integrierten UnterstĂŒtzung fĂŒr die S3-API, wodurch viele Hilfsfunktionen aus externen Anwendungen in den Kern der Datenbank verschoben wurden.
Letztlich wurde beschlossen, die Open-Source- und kommerziellen Produkte zu vereinen, was einerseits die Entwicklung vereinfachen und andererseits die Möglichkeiten der kostenlosen Version erweitern wird. Zum Beispiel werden Nutzer, die innerhalb der kostenlosen Limits bleiben, Zugang zu Funktionen wie LDAP-UnterstĂŒtzung, PGO-Optimierungen (Reduzierung der Latenzzeiten um 33 % und Steigerung der Leistung um bis zu 50 %), Datei-Streaming-Modus (Beschleunigung von HinzufĂŒgungen/Entfernungen von Knoten um bis zu 30 Mal), Festlegung eigener PrioritĂ€ten fĂŒr verschiedene Workloads, UnterstĂŒtzung fĂŒr die Komprimierung von RPC-Verkehr zwischen Knoten mittels des ZSTD-Algorithmus, verbesserte Datenverpackungsstrategie (Reduzierung des Speicherplatzes um bis zu 35 %), UnterstĂŒtzung fĂŒr VerschlĂŒsselung, einen Kubernetes-Operator fĂŒr ScyllaDB und einen langen Supportzyklus fĂŒr Releases erhalten.
ScyllaDB ermöglicht die Erstellung von verteilten, skalierbaren und ausfallsicheren NoSQL-Systemen, die Daten in Form von assoziativen Arrays (Hashes) mit mehreren Ebenen der Verschachtelung speichern. FĂŒr strukturierte Abfragen kann die SQL-Ă€hnliche Sprache CQL (Cassandra Query Language) verwendet werden. Cluster, die auf ScyllaDB basieren, bieten eine lineare Skalierbarkeit, bei der die Leistung direkt von der Anzahl der Prozessorkerne abhĂ€ngt. Die in die Datenbank eingefĂŒgten Daten werden automatisch auf mehrere Knoten repliziert, und im Falle eines Knotenausfalls ĂŒbernehmen andere Knoten seine Funktionen in Echtzeit. Das HinzufĂŒgen, Aktualisieren und Entfernen von Knoten im Cluster erfolgt ohne Unterbrechung des Betriebs und ohne Neukonfiguration anderer Knoten.
Die Datenbank ScyllaDB wurde vor zehn Jahren von Avi Kiviti und Dor Laor gegrĂŒndet, die zuvor einen Hypervisor und das Betriebssystem OSv erstellt hatten. Das Projekt wurde ins Leben gerufen, um Apache Cassandra von Java nach C++ neu zu schreiben, um eine höhere Leistung zu erzielen. Die Datenbank ist auf API-Ebene mit Apache Cassandra und Amazon DynamoDB kompatibel. In durchgefĂŒhrten Tests zeigt ScyllaDB im Vergleich zu Apache Cassandra eine Leistungssteigerung von 2 bis 5 Mal. Es wird festgestellt, dass ein Cluster auf Basis von Apache Cassandra durch ein ScyllaDB-Cluster ersetzt werden kann, das zehnmal weniger Knoten enthĂ€lt, aber trotz der geringeren Knotenzahl um 42% leistungsstĂ€rker ist. KVM Was andere Produkte von ScyllaDB betrifft, so wird das Framework zur Entwicklung asynchroner Serveranwendungen Seastar, Treiber und der Kubernetes-Operator weiterhin unter der Lizenz Apache 2.0 angeboten. Die Plattform zur Clusterverwaltung Scylla Manager, die zuvor unter einer proprietĂ€ren Lizenz angeboten wurde, wurde auf die Lizenz Apache 2.0 umgestellt. Die geschlossene Implementierung des geografisch verteilten Kubernetes-Operators wird mit dem offenen Kubernetes-Operator zusammengelegt und unter der Lizenz Apache 2.0 bereitgestellt.
Im Multimedia-Framework GStreamer wurden 29 Schwachstellen entdeckt.
Quelle: opennet.ru
