Į dokumentus orientuotos DBMS Apache CouchDB 3.0 išleidimas

įvyko paskirstytos į dokumentus orientuotos duomenų bazės išleidimas Apache CouchDB 3.0, priklausantis NoSQL sistemų klasei. Projekto šaltiniai skleisti licencijuota pagal Apache 2.0.

Patobulinimaiįdiegta Apache CouchDB 3.0:

  • Numatytoji konfigūracija buvo patobulinta.
    Paleidžiant dabar turi būti apibrėžtas administratoriaus vartotojas, be kurio serveris baigsis su klaida (leidžia išspręsti serverių, kurie netyčia palieka prieigą be autentifikavimo, paleidimo problemas). Skambučiams į „/_all_dbs“ dabar reikalingos administratoriaus teisės, o visos duomenų bazės yra sukurtos pagal numatytuosius nustatymus, kurias gali pasiekti tik administratorius (prieigos parametrus galima keisti naudojant objektą „_security“). Pagal numatytuosius nustatymus objektų redagavimas _users duomenų bazėje yra draudžiamas;

  • Pridėta galimybė kurti vartotojo apibrėžtas segmentuotas (suskirstytas) duomenų bazes, leidžiančias apibrėžti savo taisykles, kaip paskirstyti dokumentus segmentuose (shard range). Pridėtas specialus suskaidytų duomenų bazių optimizavimas Mango rodiniuose ir indeksuose;
  • Įgyvendinta automatinis padalijimo režimas segmentavimo (skaldymo) metu. Duomenų bazėje dabar galima perskirstyti duomenis tarp segmentų, atsižvelgiant į padidėjusį q koeficiento, naudojamo suskaidymo lygiui nustatyti, vertės padidėjimą;
  • Pridėta ken posistemė, skirta automatiniam foniniam indeksavimui ir antrinių indeksų (JavaScript, Mango, teksto paieškos indeksų) atnaujinimui, aiškiai nepradėjus jų kūrimo operacijų;
  • Smoosh procesas, naudojamas automatiniam duomenų bazių pakavimui, buvo visiškai perrašytas;
  • Siūlomas naujas posistemis IO eilė, naudojamas tam tikrų operacijų I/O prioritetui pakeisti;
  • Įdiegta regresijos testavimo sistema;
  • Pridėtas oficialus arm64v8 (aarch64) ir ppc64le (ppc64el) platformų palaikymas;
  • Pridėtas susiejimo su „JavaScript“ varikliu „SpiderMonkey 1.8.5“ (ESR „Firefox 60“ šaka) su patobulintu ES5, ES6 ir ES2016+ palaikymu;
  • Paieškos variklis įtrauktas Dreyfus pagrįsta Lucene, kuri labai supaprastina paieškos sistemos, pagrįstos CouchDB, diegimą;
  • Pridėta loginė programa, skirta registravimui naudojant systemd-journald;
  • Pridėtas „[couchdb] single_node“ nustatymas, kai jis nustatytas, CouchDB automatiškai sukurs sistemos duomenų bazes, jei jų trūksta;
  • Couch_server proceso našumas buvo optimizuotas;
  • „Windows“ platformos diegimo programa buvo žymiai patobulinta;
  • Peržiūrų skaičius ribojamas iki 2^28 (268435456) rezultatų. Šį apribojimą galima atskirai sukonfigūruoti įprastiems ir segmentuotiems rodiniams naudojant query_limit ir partition_query_limit parinktis, esančias skiltyje „[query_server_config]“;
  • Pašalinta atskira HTTP vietinio mazgo valdymo sąsaja, paleista 5986 tinklo prievade, kurios funkcionalumas dabar pasiekiamas per bendrą klasterių valdymo sąsają;
  • Maksimalus dokumento dydis sumažintas iki 8 MB, todėl po naujovinimo į CouchDB 3.0 gali kilti problemų dėl duomenų replikacijos iš senesnių serverių. Norėdami padidinti limitą, galite naudoti nustatymą „[couchdb] max_document_size“;
  • Buvo atliktas esminis pasenusių funkcijų, tokių kaip _replicator ir _external calls, disk_size ir data_size laukų bei uždelstų_įpareigojimų parinktis, išvalymas;
  • Dabar norint paleisti CouchDB reikia Erlang/OTP 20.3.8.11+, 21.2.3+ arba 22.0.5. Teoriškai funkcionalumas su Erlang/OTP 19 atšaka išsaugomas, tačiau jį aprėpia testai.

Prisiminkime, kad „CouchDB“ saugo duomenis sutvarkyto sąrašo formatu ir leidžia dalinai replikuoti duomenis tarp kelių duomenų bazių pagrindiniu-pagrindiniu režimu, tuo pačiu metu aptinkant ir sprendžiant konfliktines situacijas. Kiekvienas serveris saugo savo vietinį duomenų rinkinį, sinchronizuotą su kitais serveriais, kuriuos galima naudoti neprisijungus ir periodiškai pakartoti pakeitimus. Visų pirma dėl šios funkcijos CouchDB yra patrauklus sprendimas sinchronizuoti programų nustatymus tarp skirtingų kompiuterių. CouchDB pagrįsti sprendimai buvo įdiegti tokiose įmonėse kaip BBC, Apple ir CERN.

CouchDB užklausas ir duomenų indeksavimą galima atlikti pagal paradigmą „MapReduce“, naudojant „JavaScript“ duomenų atrankos logikai generuoti. Sistemos branduolys parašytas Erlang kalba, kuri yra optimizuota kuriant paskirstytas sistemas, kurios aptarnauja kelias lygiagrečias užklausas. Rodinio serveris parašytas C ir yra pagrįstas Mozilla projekto JavaScript varikliu. Prieiga prie duomenų bazės vykdoma naudojant HTTP protokolą naudojant RESTful JSON API, leidžiančią pasiekti duomenis, įskaitant žiniatinklio programas, veikiančias naršyklėje.

Duomenų saugojimo įrenginys yra dokumentas, turintis unikalų identifikatorių, versiją ir kuriame yra savavališkas įvardytų laukų rinkinys rakto/vertės formatu. Norint organizuoti pseudostruktūrizuotą duomenų rinkinį iš savavališkų dokumentų (sujungimas ir atranka), naudojama vaizdų (vaizdų) formavimo koncepcija, skirta apibrėžti, kuri JavaScript kalba naudojama. „JavaScript“ taip pat gali apibrėžti funkcijas, skirtas duomenims patvirtinti pridedant naujų dokumentų tam tikrame rodinyje.

Šaltinis: opennet.ru

Добавить комментарий