hajautetun dokumenttipohjaisen tietokannan vapauttaminen , joka kuuluu NoSQL-järjestelmien luokkaan. Hankkeen lähteet lisensoitu Apache 2.0:lla.
toteutettu 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. - 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;
- 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;
- 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ä , 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 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 , 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
