DBMS ScyllaDB kalon nga AGPL në licencë proprietar

Zhvilluesit e DB-së ScyllaDB shpallën kalimin e projektit në një licencë pronësore, e cila kufizon fushën e aplikimit. Dega ScyllaDB 6.2.x do të jetë e fundit që do të jetë e disponueshme nën licencën AGPL. Ata që janë të interesuar mund të krijojnë një fork dhe të vazhdojnë zhvillimin e kodit të ScyllaDB sipas licencës së vjetër.

Më parë, projekti ScyllaDB ndiqte një model zhvillimi Open Core, ku pjesa bazë e produktit zhvillohej nën një licencë të lirë, ndërsa funksionaliteti shtesë ishte i mbyllur dhe ofrohej vetëm për ata që kishin një licencë tregtare. Sipas skemës së re të licencimit, publikimi i versionit të hapur të ScyllaDB OSS do të ndalet, dhe produkti komerciale i mbyllur ScyllaDB Enterprise do të fillojë të shpërndahet me ofrimin e kodit burimor nën një licencë pronësore. Në vend të ScyllaDB OSS, përdoruesit do të mund të përdorin falas versionin e plotë të ScyllaDB Enterprise në përputhje me disa kushte.

Licenca e re ndalon përdorimin e softuerit për të konkurruar me produktet dhe shërbimet e zhvilluesve të ScyllaDB, si dhe për të krijuar sisteme cloud "aplikacion si shërbim" (SaaS, software-as-a-service) dhe sistemet komerciale "DB si shërbim" (dBaaS, database-as-a-service). Licenca nuk kufizon përdorimin e produktit falas për qëllime tregtare dhe në mjedise pune, për sa kohë që totalja e madhësisë së ruajtjes në të gjitha nyjat e klasrës nuk kalon 10TB dhe për përpunimin e të dhënave përdoren jo më shumë se 50 VCPU. Përdoruesve që nuk plotësojnë kriteret e shpallura u ofrohet blerja e një licence tregtare.

Për shembull, mund të përdoret falas ScyllaDB në një klasër prej tre nyjash, nëse çdo nyje përmban 16 bërthamave logjike CPU dhe një hapësirë ruajtjeje disku prej 3TB. Një konfigurim i tillë është i aftë të përpunojë 100-200 mijë operacione në sekondë. Shpërndarja e ScyllaDB dhe bëri ndryshime në kod lejohet me kushtin e dorëzimit nën të njëjtën licencë, listimit të plotë të të gjitha ndryshimeve dhe dhënies së informacionit mbi autorin e origjinës së produktit.

Arsyeja për ndryshimin e politikës së shpërndarjes së ScyllaDB ishte dëshira për të unifikuar dhe optimizuar zhvillimin e varianteve tregtare dhe të hapura që konkurrojnë mes tyre, mbajtja e ndarë e të cilave krijonte vështirësi, e merrte shumë forcë dhe shpenzonte burime. Përveç kësaj, për shkak të kompleksitetit të arkitekturës së brendshme, kodi i ScyllaDB është zhvilluar ekskluzivisht nga punonjësit e kompanisë dhe projekti i hapur nuk kishte pasur asnjë kontribues të jashtëm që do të dorëzonte ndryshimet e tyre. Një moment vendimtar ishte puna për implementimin e algoritmit të konsensusit Raft, tabelave dhe mbështetjes të integruar API S3, nga e cila shumë funksione ndihmëse u transferuan nga aplikacione të jashtme, në strukturën kryesore të DB-së.

Në fund të fundit, u vendos që të bashkohen produktet e hapura dhe ato tregtare, gjë që nga njëra anë do ta thjeshtojë zhvillimin dhe nga ana tjetër do të zgjerojë mundësitë e versionit falas. Për shembull, përdoruesit që përputhen me kufizimet falas do të kenë akses në mundësi të tilla si mbështetje LDAP, optimizimet PGO (reduktimi i vonesave në tekste me 33% dhe rritja e performancës deri në 50%), modalitetin e transmetimit në nivelin e skedave (përshpejtimi i shtimit/hiqjes së nyjave deri në 30 herë), vendosja e prioriteteve të tyre për ngarkesa të ndryshme, mbështetje për kompresimin e trafikut RPC midis nyjave përmes algoritmit ZSTD, strategji të përmirësuar për paketimin e të dhënave (reduktimi i madhësisë së ruajtjes deri në 35%), mbështetje për enkriptimin, operator Kubernetes për ScyllaDB, dhe një cikël të gjatë mbështetjeje për lëshimet.

ScyllaDB lejon krijimin e sistemeve noSQL të shpërndara, të shkallëzueshme dhe të qëndrueshme, që ruajnë të dhëna në formën e array-ve asociativë (hash) me disa nivele në thellësi. Për pyetjet e strukturuara mund të përdoret gjuhë e ngjashme me SQL CQL (Cassandra Query Language). Klastrat e bazuar në ScyllaDB ofrojnë një nivel të thjeshtë të shkallëzimit, ku performanca është në varësi të numrit të bërthamave të procesorëve. Të dhënat e vendosura në DB automatikisht replikohen në disa nyje, dhe në rastin e dështimit të një nyje, funksionet e saj kapen në temporalitet nga nyje të tjera. Shtimi, përditësimi dhe heqja e nyjeve në klasër bëhet pa ndërprerjen e punës dhe pa rinovimin e konfigurations së nyjeve të tjera.

DB ScyllaDB është themeluar dhjetë vjet më parë nga Avi Kiviti dhe Dor Laor, të cilët njëkohësisht krijuan hypervisorin. KVM dhe sistemi operativ OSv. Projekti u krijua si një përpjekje për të rishkruar Apache Cassandra nga gjuha Java në C++ për të arritur më shumë performancë. Baza e të dhënave është e kompatibel me nivelin API me Apache Cassandra dhe Amazon DynamoDB. Në testet e kryera, ScyllaDB tregon një rritje të kapacitetit prej 2-5 herë krahasuar me Apache Cassandra. Vërehet se një kluster i bazuar në Apache Cassandra mund të zëvendësohet me një kluster ScyllaDB që ka 10 herë më pak node, por duke arritur përformancë të 42% më të lartë pavarësisht numrit më të vogël të node-ve.

Sa i përket produkteve të tjera të kompanisë ScyllaDB, kuadri i zhvillimit të aplikacioneve serverikes asinkrone Seastar, drejtuesit dhe operatori Kubernetes do të vazhdojnë të ofrohen nën licencën Apache 2.0. Platforma e menaxhimit të klustereve Scylla Manager, e cila më parë u shpërnda nën një licencë proprietare, është transferuar në licencën Apache 2.0. Implementimi i mbyllur i operatores së shpërndarë gjeografikisht Kubernetes është bashkuar me operatorin e hapur Kubernetes dhe do të ofrohet nën licencën Apache 2.0.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster