Asiakirjapohjaisen DBMS Apache CouchDB 3.0:n julkaisu

tapahtui hajautetun dokumenttipohjaisen tietokannan vapauttaminen Apache CouchDB 3.0, joka kuuluu NoSQL-järjestelmien luokkaan. Hankkeen lähteet levitän lisensoitu Apache 2.0:lla.

Parannuksiatoteutettu Apache CouchDB 3.0:ssa:

  • Oletuskokoonpanoa on parannettu.
    Käynnistettäessä on nyt määritettävä admin-käyttäjä, jota ilman palvelin lopettaa virheen (voit ratkaista ongelmia sellaisten palvelimien käynnistämisessä, jotka vahingossa jättävät pääsyn ilman todennusta). Kutsut kohteeseen "/_all_dbs" vaativat nyt järjestelmänvalvojan oikeudet, ja kaikki tietokannat luodaan oletusarvoisesti vain pääkäyttäjän käytettävissä (käyttöparametreja voidaan muuttaa "_security"-objektin kautta). Oletusarvoisesti objektien muokkaaminen _users-tietokannassa on kielletty.

  • lisätty kyky luoda käyttäjän määrittämiä segmentoituja (osioituja) tietokantoja, joiden avulla voit määrittää omat säännöt asiakirjojen jakamiseksi segmenttien välillä (shard range). Lisätty erityisiä optimointeja sirpaloituja tietokantoja varten Mango-näkymiin ja indekseihin;
  • Toteutettu automaattinen jakotila segmentoinnin aikana (sharking). Tietokannassa on nyt mahdollista jakaa tiedot uudelleen segmenttien kesken ottaen huomioon erittelytason määrittämiseen käytetyn q-tekijän arvon kasvu;
  • lisätty ken-alijärjestelmä automaattiseen taustan indeksointiin ja toissijaisten indeksien (JavaScript, Mango, tekstihakuindeksit) pitämiseen ajan tasalla ilman, että niiden rakennustoimintaa nimenomaisesti aloitetaan;
  • Automaattiseen tietokannan pakkaamiseen käytetty Smoosh-prosessi on kirjoitettu kokonaan uudelleen;
  • Ehdotettu uusi osajärjestelmä IO-jono, jota käytetään muuttamaan I/O-prioriteettia tietyissä toiminnoissa;
  • Otettiin käyttöön regressiotestausjärjestelmä;
  • Lisätty virallinen tuki arm64v8 (aarch64) ja ppc64le (ppc64el) alustoille;
  • Lisätty tuki linkittämiselle JavaScript-moottoriin SpiderMonkey 1.8.5 (Firefox 60:n ESR-haara) ja parannettu tuki ES5:lle, ES6:lle ja ES2016+:lle;
  • Mukana hakukone Dreyfus perustuu Luceneen, mikä yksinkertaistaa huomattavasti CouchDB:hen perustuvan hakukoneen käyttöönottoa;
  • Lisätty taustajärjestelmä kirjaamiseen systemd-journaldilla;
  • Lisätty "[couchdb] single_node" -asetus, kun se on asetettu, CouchDB luo automaattisesti järjestelmätietokannat, jos ne puuttuvat.
  • Couch_server-prosessin suorituskyky on optimoitu;
  • Windows-alustan asennusohjelmaa on parannettu merkittävästi;
  • Katselukerrat on rajoitettu 2^28 (268435456) tulokseen. Tämä rajoitus voidaan määrittää erikseen tavallisille ja segmentoiduille näkymille käyttämällä "[query_server_config]"-osion query_limit- ja partition_query_limit-asetuksia.
  • Verkkoportissa 5986 käynnistetty erillinen HTTP-paikallinen solmuhallintarajapinta on poistettu, jonka toiminnallisuus on nyt käytettävissä yhteisen klusterinhallintarajapinnan kautta;
  • Asiakirjan enimmäiskoko on pienennetty 8 megatavuun, mikä voi aiheuttaa ongelmia tietojen replikoinnissa vanhoilta palvelimilta CouchDB 3.0 -päivityksen jälkeen. Voit suurentaa rajaa käyttämällä asetusta "[couchdb] max_document_size";
  • Vanhentuneiden ominaisuuksien, kuten _replicator- ja _external calls, disk_size- ja data_size-kenttien sekä delayed_commits-vaihtoehdon, suuri puhdistus on suoritettu;
  • CouchDB:n käyttäminen vaatii nyt Erlang/OTP 20.3.8.11+, 21.2.3+ tai 22.0.5. Teoreettisesti toiminnallisuus Erlang/OTP 19 -haaralla on säilynyt, mutta se on testattu.

Muistetaan, että CouchDB tallentaa tiedot järjestetyssä luettelomuodossa ja mahdollistaa tietojen osittaisen replikoinnin useiden tietokantojen välillä master-master-tilassa, jolloin konfliktitilanteet havaitaan ja ratkaistaan ​​samanaikaisesti. Jokainen palvelin tallentaa oman paikallisen tietojoukkonsa, joka on synkronoitu muiden palvelimien kanssa, jotka voidaan ottaa offline-tilaan ja toisintaa muutokset säännöllisesti. Erityisesti tämä ominaisuus tekee CouchDB:stä houkuttelevan ratkaisun ohjelma-asetusten synkronointiin eri tietokoneiden välillä. CouchDB-pohjaisia ​​ratkaisuja on otettu käyttöön sellaisissa yrityksissä kuin BBC, Apple ja CERN.

CouchDB-kyselyt ja tietojen indeksointi voidaan suorittaa paradigman mukaan MapReduce, käyttämällä JavaScriptiä tietojen näytteenottologiikan luomiseen. Järjestelmän ydin on kirjoitettu Erlangilla, joka on optimoitu luomaan hajautettuja järjestelmiä, jotka palvelevat useita rinnakkaisia ​​pyyntöjä. Näkymäpalvelin on kirjoitettu C-kielellä ja perustuu Mozilla-projektin JavaScript-moottoriin. Pääsy tietokantaan tapahtuu HTTP-protokollalla käyttämällä RESTful JSON API:ta, jonka avulla voit käyttää tietoja, myös selaimessa käynnissä olevista verkkosovelluksista.

Tietojen tallennusyksikkö on dokumentti, jolla on yksilöllinen tunniste, versio ja joka sisältää mielivaltaisen joukon nimettyjä kenttiä avain/arvo-muodossa. Pseudostrukturoidun datajoukon järjestämiseksi mielivaltaisista asiakirjoista (aggregointi ja valinta) käytetään näkemysten (views) muodostamisen käsitettä määrittämään, mitä JavaScript-kieltä käytetään. JavaScript voi myös määrittää toimintoja tietojen vahvistamiseksi, kun uusia asiakirjoja lisätään tiettyyn näkymään.

Lähde: opennet.ru

Lisää kommentti