Dokumentorientētās DBMS Apache CouchDB 3.0 izlaidums

Notika izplatītās dokumentorientētās datu bāzes laišana klajā Apache CouchDB 3.0, kas pieder pie NoSQL sistēmām. Projekta avota kods tiek izplatīta ir licencēts saskaņā ar Apache 2.0.

Uzlabojumi, īstenoti Apache CouchDB 3.0:

  • Tika pastiprināta aizsardzība noklusējuma konfigurācijā.
    Tagad palaižot, obligāti jābūt noteiktam lietotājam admin, bez kura servers tiks apstādināts ar kļūdu (risinot problēmas ar serveru palaišanu, aizmirstot atstāt piekļuvi bez autentifikācijas). Lai piekļūtu aicinājumiem «/_all_dbs», tagad nepieciešamas administratora tiesības, un visas datu bāzes noklusējuma iestatījumos tiek veidotas pieejamas tikai lietotājam admin (piekļuves parametrus var mainīt, izmantojot objektu «_security»). Noklusējuma iestatījumos ir liegta objekta rediģēšana datu bāzē _users;
  • Pievienota iespēja veidot lietotāja definētas segmentētas (particētas) datu bāzes, kas ļauj noteikt savus dokumentu sadales noteikumus pa segmentiem (shard range). Skatu un Mango indeksiem pievienotas īpašas optimizācijas segmentētām datu bāzēm;
  • Ieviests automātiskās segmentēšanas režīms (sharding). Datu bāzē tagad iespējama datu pārdale pa segmentiem, ņemot vērā pieaugošo q-faktoru, kas tiek piemērots, lai noteiktu sadalījuma līmeni;
  • Pievienota sistēma ken automātiskai fona indeksēšanai un sekundāro indeksu aktuālizēšanai (JavaScript, Mango, teksta meklēšanas indekssi) bez redzama operāciju uzsākšanas;
  • Pilnībā pārveidots smoosh process, kas tiek izmantots datu bāzu automātiskai iepakošanai;
  • Ieviesa jaunu apakšsistēmu IO Queue, kas tiek izmantota, lai mainītu ievades/izvades prioritāti noteiktām operācijām;
  • Ieviesta regresīvās testēšanas sistēma;
  • Pievienota oficiāla atbalsta platformām arm64v8 (aarch64) un ppc64le (ppc64el);
  • Pievienota atbalsts JavaScript dzinēja SpiderMonkey 1.8.5 (Firefox 60 ESR versija) saistīšanai ar uzlabotu ES5, ES6 un ES2016+ atbalstu;
  • Iekļauts meklēšanas dzinējs Dreyfus balstīts uz Lucene, ļaujot ievērojami atvieglot meklēšanas sistēmas izvietošanu, balstoties uz CouchDB;
  • Pievienots žurnālu apkopes aizmugurējais segments, izmantojot systemd-journald;
  • Pievienota konfigurācija «[couchdb] single_node», kuras laikā CouchDB automātiski izveidos sistēmas datu bāzes, ja tās trūkst;
  • Veikta performanču optimizācija procesam couch_server;
  • Ievērojami uzlabots instalētājs Windows platformai;
  • Skatu izmērs ierobežots līdz 2^28 (268435456) rezultātiem. Šo ierobežojumu var atsevišķi pielāgot parastajiem un segmentētajiem skatījumiem, izmantojot opcijas query_limit un partition_query_limit sadaļā «[query_server_config]»;
  • Izņemts atsevišķs HTTP interfeiss lokālā mezgla pārvaldībai, kas tika palaists tīkla portā 5986, tā funkcionalitāte tagad pieejama caur kopējo klastera pārvaldības interfeisu;
  • Maksimālais dokumenta izmērs samazināts līdz 8 MB, kas var radīt problēmas ar datu replikāciju no vecākām serveriem pēc pārejas uz CouchDB 3.0. Ierobežojuma palielināšanai var izmantot konfigurāciju «[couchdb] max_document_size»;
  • Veikta liela tīrīšana no novecojušām funkcijām, piemēram, izsaukumiem _replicator un _external, lauki disk_size un data_size, opcija delayed_commits;
  • CouchDB tagad prasa Erlang/OTP 20.3.8.11+, 21.2.3+ vai 22.0.5. Teorētiski saglabāta savietojamība ar Erlang/OTP 19 zari, taču tas ir pārklāts ar testiem.

Atgādinām, ka CouchDB glabā datus sakārtotu sarakstu formātā un ļauj veikt daļēju datu replikāciju starp vairākām datu bāzēm «master-master» režīmā ar vienlaicīgu konfliktu atklāšanu un risināšanu. Katrs serveris glabā savu lokālo datu kopu, kas sinhronizēta ar citiem serveriem, kuri var tikt pārvērsti offline režīmā un periodiski replikēt izmaiņas. Šī iespēja padara CouchDB par pievilcīgu risinājumu programmu iestatījumu sinhronizācijai starp dažādiem datoriem. Risinājumi, kas balstīti uz CouchDB, ir ieviesti tādos uzņēmumos kā BBC, Apple un CERN.

Pieprasījumi uz CouchDB un datu indeksācija var tikt veikti saskaņā ar paradigmu MapReduce, izmantojot JavaScript valodu datu atlases loģikas veidošanai. Sistēmas kodols ir uzrakstīts Erlang valodā, kas optimizēta, lai apkalpotu daudzas paralēlas pieprasījumus izkliedētajās sistēmās. Skata servers ir uzrakstīts C valodā un balstās uz JavaScript dzinēja no Mozilla projekta. Pieeja datubāzei tiek nodrošināta, izmantojot HTTP protokolu ar RESTful JSON API, kas ļauj piekļūt datiem, tostarp no pārlūkā izpildītām web lietotnēm.

Datu glabāšanas vienība ir dokuments ar unikālu identifikatoru, versiju un satur nejauši izvēlētus nosaukto lauku kopumus atslēga/vērtība formātā. Lai organizētu pseido-strukturētu datu kopu no nejaušiem dokumentiem (agregācija un atlases veidošana), tiek izmantota skatu veidošanas koncepcija, kuru definē JavaScript valoda. Arī JavaScript var izmantot, lai noteiktu funkcijas datu pareizības pārbaudei, pievienojot jaunus dokumentus noteiktā skatā.

Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster