Izdanje DBMS-a Apache CouchDB 3.0 usmjerenog na dokumente

odvijao izdanje distribuirane baze podataka orijentirane na dokumente Apache CouchDB 3.0, koji pripada klasi NoSQL sustava. Izvori projekta širenje licenciran pod Apache 2.0.

Poboljšanjaimplementirano u Apache CouchDB 3.0:

  • Zadana konfiguracija je poboljšana.
    Prilikom pokretanja sada mora biti definiran admin korisnik, bez kojeg će poslužitelj završiti s pogreškom (omogućuje rješavanje problema s pokretanjem poslužitelja koji nenamjerno ostavljaju pristup bez provjere autentičnosti). Pozivi na "/_all_dbs" sada zahtijevaju administratorska prava, a sve baze podataka su prema zadanim postavkama dostupne samo korisniku administratoru (parametri pristupa mogu se mijenjati kroz objekt "_security"). Prema zadanim postavkama, uređivanje objekata u bazi podataka _users je zabranjeno;

  • Dodano mogućnost kreiranja korisnički definiranih segmentiranih (particioniranih) baza podataka, čime je moguće definirati vlastita pravila za distribuciju dokumenata po segmentima (raspon fragmenata). Dodane su posebne optimizacije za razdijeljene baze podataka u Mango prikaze i indekse;
  • Provedeno način automatskog dijeljenja tijekom segmentacije (sharding). U bazi podataka sada je moguće redistribuirati podatke među segmentima, uzimajući u obzir povećanje vrijednosti q-faktora koji se koristi za određivanje razine kvara;
  • Dodano ken podsustav za automatsko pozadinsko indeksiranje i održavanje sekundarnih indeksa (JavaScript, Mango, indeksi pretraživanja teksta) ažurnim bez izričitog pokretanja njihovih konstrukcijskih operacija;
  • Smoosh proces koji se koristi za automatsko pakiranje baze podataka potpuno je prepisan;
  • Predložen novi podsustav IO red, koristi se za promjenu I/O prioriteta za određene operacije;
  • Implementiran sustav regresijskog testiranja;
  • Dodana službena podrška za arm64v8 (aarch64) i ppc64le (ppc64el) platforme;
  • Dodana podrška za povezivanje s JavaScript motorom SpiderMonkey 1.8.5 (ESR ogranak Firefoxa 60) s poboljšanom podrškom za ES5, ES6 i ES2016+;
  • Uključena tražilica Dreyfus temeljeno na Luceneu, što uvelike pojednostavljuje implementaciju tražilice temeljene na CouchDB-u;
  • Dodana pozadina za bilježenje pomoću systemd-journalda;
  • Dodana je postavka “[couchdb] single_node”, kada je postavljena, CouchDB će automatski kreirati sistemske baze podataka ako one nedostaju;
  • Izvedba procesa couch_server je optimizirana;
  • Instalacijski program za Windows platformu značajno je poboljšan;
  • Pregledi su ograničeni na 2^28 (268435456) rezultata. Ovo se ograničenje može zasebno konfigurirati za obične i segmentirane poglede pomoću opcija query_limit i partition_query_limit u odjeljku “[query_server_config]”;
  • Uklonjeno je odvojeno HTTP lokalno sučelje za upravljanje čvorom, pokrenuto na mrežnom priključku 5986, čija je funkcionalnost sada dostupna putem zajedničkog sučelja za upravljanje klasterom;
  • Maksimalna veličina dokumenta smanjena je na 8 MB, što može uzrokovati probleme s replikacijom podataka sa starijih poslužitelja nakon nadogradnje na CouchDB 3.0. Za povećanje ograničenja možete upotrijebiti postavku “[couchdb] max_document_size”;
  • Provedeno je veliko čišćenje zastarjelih značajki, kao što su _replicator i _external pozivi, polja disk_size i data_size i opcija delayed_commits;
  • Pokretanje CouchDB-a sada zahtijeva Erlang/OTP 20.3.8.11+, 21.2.3+ ili 22.0.5. Teoretski, funkcionalnost s granom Erlang/OTP 19 je sačuvana, ali je pokrivena testovima.

Podsjetimo, CouchDB pohranjuje podatke u formatu uređene liste i omogućuje djelomičnu replikaciju podataka između nekoliko baza podataka u master-master modu uz istovremenu detekciju i rješavanje konfliktnih situacija. Svaki poslužitelj pohranjuje vlastiti lokalni skup podataka, sinkroniziran s drugim poslužiteljima, koji se mogu isključiti i povremeno replicirati promjene. Konkretno, ova značajka čini CouchDB atraktivnim rješenjem za sinkronizaciju programskih postavki između različitih računala. Rješenja temeljena na CouchDB-u implementirana su u tvrtkama kao što su BBC, Apple i CERN.

CouchDB upiti i indeksiranje podataka mogu se izvesti prema paradigmi MapReduce, koristeći JavaScript za generiranje logike uzorkovanja podataka. Jezgra sustava napisana je u Erlangu, koji je optimiziran za stvaranje distribuiranih sustava koji služe višestrukim paralelnim zahtjevima. Poslužitelj pogleda je napisan u C jeziku i temelji se na JavaScript motoru iz Mozilla projekta. Pristup bazi podataka provodi se pomoću HTTP protokola pomoću RESTful JSON API-ja, koji vam omogućuje pristup podacima, uključujući i web aplikacije koje se izvode u pregledniku.

Jedinica za pohranu podataka je dokument koji ima jedinstveni identifikator, verziju i sadrži proizvoljan skup imenovanih polja u formatu ključ/vrijednost. Za organiziranje pseudostrukturiranog skupa podataka iz proizvoljnih dokumenata (agregacija i selekcija) koristi se koncept formiranja pogleda (views), za definiranje kojeg se koristi JavaScript jezik. JavaScript također može definirati funkcije za provjeru podataka prilikom dodavanja novih dokumenata unutar određenog prikaza.

Izvor: opennet.ru

Dodajte komentar