Baza de date ScyllaDB a trecut de la AGPL la o licență proprietară

Dezvoltatorii bazei de date ScyllaDB au anunțat tranziția proiectului la o licență proprietară, care restricționează domeniul de aplicare. Ramura ScyllaDB 6.2.x va fi ultima disponibilă sub licența AGPL. Dacă doresc, persoanele interesate pot crea un fork și pot continua dezvoltarea bazei de cod ScyllaDB sub vechea licență.

Anterior, proiectul ScyllaDB a urmat un model de dezvoltare Open Core, în care partea de bază a produsului este dezvoltată sub o licență liberă, iar funcționalitatea extinsă este închisă și disponibile doar deținătorilor de licențe comerciale. În conformitate cu noua schemă de licențiere, publicarea versiunii deschise ScyllaDB OSS va fi încheiată, iar produsul comercial închis ScyllaDB Enterprise va începe să fie distribuit cu furnizarea codului sursă sub licență proprietară. În loc de ScyllaDB OSS, utilizatorii vor putea folosi gratuit versiunea completă ScyllaDB Enterprise, cu respectarea unor condiții.

Noua licență interzice utilizarea software-ului pentru a concura cu produsele și serviciile dezvoltatorilor ScyllaDB, precum și pentru a crea sisteme cloud de tip „aplicație ca serviciu” (SaaS, software-as-a-service) și sisteme comerciale de tip „Bază de date ca serviciu” (dBaaS, database-as-a-service). Licența nu limitează utilizarea produsului gratuit în scopuri comerciale și în medii de lucru, dar cu condiția ca dimensiunea totală a stocării pe toate nodurile clusterului să nu depășească 10TB și pentru procesarea datelor să nu fie folosite mai mult de 50 VCPU. Utilizatorii care nu îndeplinesc criteriile declarate sunt invitați să achiziționeze o licență comercială.

De exemplu, se poate utiliza gratuit ScyllaDB pe un cluster format din trei noduri, fiecare nod având 16 nuclee logice CPU și stocare pe disc de 3TB. O astfel de configurație este capabilă să proceseze între 100.000 și 200.000 de operațiuni pe secundă. Distribuirea ScyllaDB și modificarea codului sunt permise cu condiția să fie livrate sub aceeași licență, enumerând întreaga listă a tuturor modificărilor și furnizând informații despre autorul inițial al produsului.

Motivul schimbării politicii de distribuție a ScyllaDB a fost dorința de a unifica și optimiza dezvoltarea variantelor comerciale și deschise, care concurau între ele, menținerea separată a cărora crea dificultăți, consuma multă energie și resurse. De asemenea, din cauza complexității arhitecturii interne, baza de cod a ScyllaDB a evoluat exclusiv cu ajutorul angajaților companiei și proiectul deschis nu a reușit să atragă participanți externi care să contribuie cu modificările lor. Un moment de cotitură a fost implementarea algoritmului de consens Raft, a tabelilor și a suportului încorporat pentru API S3, în urma căreia multe funcții secundare au fost mutate din aplicații externe în structura principală a SGBD-ului.

În cele din urmă, s-a decis unificarea produselor deschise și comerciale, ceea ce, pe de o parte, va simplifica dezvoltarea, iar pe de altă parte, va extinde posibilitățile versiunii gratuite. De exemplu, utilizatorii care se încadrează în limitele gratuite vor avea acces la funcționalități precum suport LDAP, optimizări PGO (reducerea întârzierilor cu 33% și creșterea performanței cu până la 50%), modul de streaming la nivel de fișiere (accelerarea adăugării/ștergerii nodurilor cu până la 30 de ori), stabilirea propriei priorități pentru diferite sarcini, suport pentru comprimarea traficului RPC între noduri folosind algoritmul ZSTD, o strategie îmbunătățită de ambalare a datelor (reducerea dimensiunii stocării cu până la 35%), suport pentru criptare, operator Kubernetes pentru ScyllaDB și un ciclu lung de suport pentru lansări.

ScyllaDB permite crearea de sisteme noSQL distribuite, scalabile și tolerante la erori, care stochează date sub formă de array-uri associative (hash-uri) cu mai multe niveluri de imbricare. Pentru interogările structurate, se poate folosi un limbaj asemănător cu SQL, numit CQL (Cassandra Query Language). Clusterele bazate pe ScyllaDB oferă un nivel liniar de scalabilitate, în care performanța depinde în mod direct de numărul de nuclee de procesor. Datele introduse în baza de date sunt replicate automat pe mai multe noduri, iar în caz de defecțiune a unui nod, funcțiile acestuia sunt preluate în timp real de alte noduri. Adăugarea, actualizarea și ștergerea nodurilor din cluster se face fără a opri activitatea și fără a reconfigura alte noduri.

Sistemul de gestionare a bazelor de date ScyllaDB a fost fondat acum zece ani de Avi Kiviti și Dor Laor, care la acea vreme au creat un hipervizor. KVM Proiectul a fost inițiat ca o încercare de a rescrie Apache Cassandra din Java în C++ pentru a obține o performanță mai bună. ScyllaDB este compatibil la nivel API cu Apache Cassandra și Amazon DynamoDB. Testele efectuate arată că ScyllaDB oferă o creștere a lățimii de bandă de 2-5 ori comparativ cu Apache Cassandra. Se observă că un cluster bazat pe Apache Cassandra poate fi înlocuit cu un cluster ScyllaDB care conține de 10 ori mai puține noduri, dar, în ciuda acestui lucru, depășește cu 42% performanța.

În ceea ce privește celelalte produse ale companiei ScyllaDB, cadrul pentru dezvoltarea aplicațiilor server bazate pe asyncronism Seastar, driverele și operatorul Kubernetes vor continua să fie furnizate sub licența Apache 2.0. Platforma de gestionare a clusterelor Scylla Manager, care anterior era disponibilă sub licență proprietară, a fost transferată pe licența Apache 2.0. Implementarea închisă a operatorului Kubernetes distribuit regional a fost combinată cu operatorul Kubernetes open-source și va fi furnizată sub licența Apache 2.0.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster