XNUMX käynnistäminen uuden version Apache CouchDB 3.0, mikä on hajautettu asiakirjapohjainen tietokanta, joka kuuluu NoSQL-järjestelmäluokkaan. CouchDB on ominaista tietojen tallentaminen järjestetyssä luettelomuodossa ja mahdollistaa osittaisen tietojen replikoinnin useiden tietokantojen välillä master-master-tilassa samanaikaisella konfliktitilanteiden havaitsemisella ja ratkaisemisella.
Kukin palvelin tallentaa oman paikallisen tietojoukonsa synkronoituna muiden palvelinten kanssa, He voivat siirtyä offline-tilaan ja toistaa muutokset säännöllisesti. Erityisesti tämä ominaisuus tekee CouchDB: stä houkuttelevan ratkaisun ohjelma-asetusten synkronoinnin järjestämiseen eri tietokoneiden välillä.
CouchDB-pohjaiset ratkaisut ovat toteuttaneet yritykset, kuten BBC, Apple ja CERN.
CouchDB-kyselyt ja tietojen indeksointi voidaan tehdä MapReduce-paradigman mukaisesti käyttämällä JavaScriptiä luomaan datanäytteenottologiikka.
Järjestelmän ydin on kirjoitettu Erlang-kielellä, joka on optimoitu luomaan hajautettuja järjestelmiä, jotka palvelevat monia rinnakkaisia pyyntöjä. Näkymäpalvelin on kirjoitettu C-kielellä ja se perustuu Mozilla-projektin JavaScript-moottoriin.
Pääsy tietokantaan tapahtuu HTTP-protokollan kautta käyttämällä RESTful JSON -sovellusliittymää, jonka avulla voit käyttää tietoja, jopa selaimessa käynnissä olevista verkkosovelluksista.
Asiakirja, jolla on yksilöllinen tunniste, versio ja joka sisältää mielivaltaisen joukon nimettyjä kenttiä avain / arvo-muodossa, toimii tietojen tallennusyksikkönä. P
Pseudostrukturoidun tietojoukon järjestämiseksi mielivaltaisista asiakirjoista (yhdistäminen ja otanta) käytetään näkymien muodostamisen käsitettä, jotka määritetään JavaScriptin avulla. JavaScriptissä voit myös määrittää toiminnot tietojen vahvistamiseksi, kun uusia asiakirjoja lisätään tiettyyn näkymään.
Apache CouchDB 3.0: n uudet ominaisuudet
Tässä uudessa versiossa tehostettu suojaus on korostettu oletusasetuksissa. Käynnistyksen yhteydessä on määritettävä järjestelmänvalvojan käyttäjä, jota ilman palvelin lopettaa toimintansa virheellä.
«/ _All_dbs» -puheluihin pääsemiseksi sinulla on nyt oltava järjestelmänvalvojan oikeudet ja kaikki tietokannat luodaan oletusarvoisesti vain järjestelmänvalvojan käyttäjille (niitä voidaan muuttaa "_security" -objektin kautta), lisäksi oletusarvoisesti on kiellettyä muokata objekteja _users-tietokannassa.
Lisätty kyky luoda segmentoituja tietokantoja Käyttäjän määrittelemä (osioitu), jonka avulla voit määrittää omat säännöt asiakirjojen jakamisesta segmenttien (fragmenttien alue) mukaan. On lisätty erityiset optimoinnit segmentoiduille tietokannoille näkymiin ja hakemistoihin.
Voimme myös löytää automaattisen erottamisen toteuttaminen segmentoinnin aikana (pirstoutuminen). Tietokannassa on nyt mahdollista jakaa tietoja segmenteittäin uudelleen ottaen huomioon q-tekijän kasvu, jota käytettiin hajottamisen tason määrittämiseen.
Osajärjestelmä ken on lisätty automaattista taustan indeksointia varten ja pitää toissijaiset hakemistot ajan tasalla aloittamatta nimenomaisesti toimintoja niiden rakentamiseksi.
Asiakirjan enimmäiskoko on pienennetty 8 Mt: iin, mikä voi aiheuttaa ongelmia vanhempien palvelimien tietojen replikoinnissa päivityksen jälkeen CouchDB 3.0: ksi. Voit lisätä rajaa käyttämällä asetusta "[couchdb] max_document_size".
Muista muutoksista jotka mainitaan:
- Couch_server-prosessin suorituskyvyn optimointi.
- Huomattavasti parannettu Windows-alustan asennusohjelma.
- Automaattisiin tietokantapakkauksiin käytetty smoosh-prosessi on kirjoitettu kokonaan uudelleen.
- Ehdotetaan uutta I / O-jonoalijärjestelmää, jota käytetään muuttamaan I / O-prioriteettia tietyille toiminnoille.
- Regressiotestausjärjestelmä otettu käyttöön.
- Virallinen tuki on lisätty arm64v8 (aarch64) - ja ppc64le (ppc64el) -alustoille.
- Lisätty tuki linkittämiseen SpiderMonkey 1.8.5 JavaScript-moottoriin (Firefox 60: n ESR-haara), parannettu tuki ES5: lle, ES6: lle ja ES2016 +: lle.
- Kehys sisältää Lucene-pohjaisen Dreyfus-hakukoneen, joka voi yksinkertaistaa huomattavasti CouchDB-pohjaisen hakukoneen toteuttamista.
- Lisätty backend kirjautumiseen käyttäen systemd-journald.
Mielenkiintoinen molto. Io gestisco tre -palvelin CouchDB ja ho appena migrato alla 3.0.
Automaattisuuden ja komentosarjan vaihtelujen hallitsemiseksi käytän powershelliä, jos se on Windowsista ja Linuxista PSCouchDB-moduulin kanssa (https://github.com/MatteoGuadrini/PSCouchDB), joka helpottaa hallintaa.
Käytän sitä sopprattutto Import / Export-toimintoon tietokannan varmuuskopiointiin ja myös raportin luomiseen.
CouchDB on mahtava!