Lëshimi i DBMS Apache CouchDB 3.0 i orientuar nga dokumenti

Ndodhi lëshimi i një baze të dhënash të orientuar drejt dokumentit të shpërndarë Apache CouchDB 3.0, që i përket klasës së sistemeve NoSQL. Burimet e projektit përhapet licencuar sipas Apache 2.0.

Përmirësimetzbatuar në Apache CouchDB 3.0:

  • Konfigurimi i paracaktuar është përmirësuar.
    Kur filloni, tani duhet të përcaktohet përdoruesi i administratorit, pa të cilin serveri do të përfundojë me një gabim (ju lejon të zgjidhni problemet me nisjen e serverëve që lënë pa dashje aksesin pa vërtetim). Thirrjet në "/_all_dbs" tani kërkojnë të drejta administratori dhe të gjitha bazat e të dhënave krijohen si parazgjedhje të aksesueshme vetëm nga përdoruesi i administratorit (parametrat e aksesit mund të ndryshohen përmes objektit "_security"). Si parazgjedhje, redaktimi i objekteve në bazën e të dhënave _users është i ndaluar;

  • Shtuar aftësia për të krijuar baza të të dhënave të segmentuara (të ndara) të përcaktuara nga përdoruesi, duke bërë të mundur përcaktimin e rregullave tuaja për shpërndarjen e dokumenteve nëpër segmente (varg i ndarë). Shtuar optimizime speciale për bazat e të dhënave të copëtuara në pamjet dhe indekset e Mango;
  • Zbatuar modaliteti i ndarjes automatike gjatë segmentimit (sharding). Në bazën e të dhënave, tani është e mundur të rishpërndahen të dhënat midis segmenteve, duke marrë parasysh një rritje të vlerës së faktorit q të përdorur për të përcaktuar nivelin e ndarjes;
  • Shtuar ken nënsistem për indeksimin automatik të sfondit dhe mbajtjen e përditësuar të indekseve dytësore (JavaScript, Mango, indekset e kërkimit të tekstit) pa nisur në mënyrë eksplicite operacionet e tyre të ndërtimit;
  • Procesi smoosh i përdorur për paketimin automatik të bazës së të dhënave është rishkruar plotësisht;
  • Propozohet nënsistem i ri Radha e IO, përdoret për të ndryshuar prioritetin I/O për disa operacione;
  • Zbatoi një sistem testimi të regresionit;
  • Mbështetje zyrtare e shtuar për platformat arm64v8 (aarch64) dhe ppc64le (ppc64el);
  • Mbështetje e shtuar për lidhjen me motorin JavaScript SpiderMonkey 1.8.5 (dega ESR e Firefox 60) me mbështetje të përmirësuar për ES5, ES6 dhe ES2016+;
  • Motori i kërkimit i përfshirë Dreyfus bazuar në Lucene, i cili thjeshton shumë vendosjen e një motori kërkimi të bazuar në CouchDB;
  • Mbështetja e shtuar për prerjet duke përdorur systemd-journald;
  • U shtua cilësimi "[couchdb] single_node", kur të vendoset, CouchDB do të krijojë automatikisht bazat e të dhënave të sistemit nëse ato mungojnë;
  • Performanca e procesit couch_server është optimizuar;
  • Instaluesi për platformën Windows është përmirësuar ndjeshëm;
  • Shikimet janë të kufizuara në 2^28 (268435456) rezultate. Ky limit mund të konfigurohet veçmas për pamjet e rregullta dhe të segmentuara duke përdorur opsionet query_limit dhe partition_query_limit në seksionin “[query_server_config]”;
  • Një ndërfaqe e veçantë e menaxhimit të nyjeve lokale HTTP, e lançuar në portën e rrjetit 5986, është hequr, funksionaliteti i së cilës tani është i disponueshëm përmes ndërfaqes së përbashkët të menaxhimit të grupimeve;
  • Madhësia maksimale e dokumentit është reduktuar në 8 MB, gjë që mund të shkaktojë probleme me riprodhimin e të dhënave nga serverët e vjetër pas përmirësimit në CouchDB 3.0. Për të rritur kufirin, mund të përdorni cilësimin “[couchdb] max_document_size”;
  • Është kryer një pastrim i madh i veçorive të vjetruara, të tilla si thirrjet _replicator dhe _external, fushat disk_size dhe data_size dhe opsioni delayed_commits;
  • Ekzekutimi i CouchDB tani kërkon Erlang/OTP 20.3.8.11+, 21.2.3+ ose 22.0.5. Teorikisht funksionaliteti me degën Erlang/OTP 19 ruhet, por mbulohet me teste.

Le të kujtojmë se CouchDB ruan të dhënat në një format të listës së renditur dhe lejon përsëritjen e pjesshme të të dhënave midis disa bazave të të dhënave në një modalitet master-master me zbulimin dhe zgjidhjen e njëkohshme të situatave të konfliktit. Çdo server ruan grupin e vet lokal të të dhënave, të sinkronizuara me serverë të tjerë, të cilët mund të merren jashtë linje dhe të përsëriten periodikisht ndryshimet. Në veçanti, kjo veçori e bën CouchDB një zgjidhje tërheqëse për sinkronizimin e cilësimeve të programit midis kompjuterëve të ndryshëm. Zgjidhjet e bazuara në CouchDB janë zbatuar në kompani të tilla si BBC, Apple dhe CERN.

Pyetjet e CouchDB dhe indeksimi i të dhënave mund të kryhen sipas paradigmës Ulja e Hartës, duke përdorur JavaScript për të gjeneruar logjikën e kampionimit të të dhënave. Bërthama e sistemit është shkruar në Erlang, e cila është e optimizuar për krijimin e sistemeve të shpërndara që shërbejnë kërkesa të shumta paralele. Serveri i pamjes është i shkruar në C dhe bazohet në motorin JavaScript nga projekti Mozilla. Qasja në bazën e të dhënave kryhet duke përdorur protokollin HTTP duke përdorur një API RESTful JSON, i cili ju lejon të përdorni të dhëna, përfshirë nga aplikacionet në internet që funksionojnë në shfletues.

Njësia e ruajtjes së të dhënave është një dokument që ka një identifikues, version unik dhe përmban një grup arbitrar fushash të emërtuara në formatin çelës/vlerë. Për të organizuar një grup pseudo-strukturuar të dhënash nga dokumente arbitrare (agregim dhe përzgjedhje), përdoret koncepti i formimit të pamjeve (pamjeve), për të përcaktuar se cila gjuhë përdoret JavaScript. JavaScript gjithashtu mund të përcaktojë funksione për të vërtetuar të dhënat kur shtohen dokumente të reja brenda një pamjeje të caktuar.

Burimi: opennet.ru

Shto një koment