Spustenie nová verzia Apache CouchDB 3.0, ktorý je distribuovaná dokumentovo orientovaná databáza, patriaci do triedy systémov NoSQL. CouchDB sa vyznačuje ukladaním údajov vo formáte usporiadaného zoznamu a umožňuje čiastočnú replikáciu údajov medzi viacerými databázami v režime master-master so súčasnou detekciou a riešením konfliktných situácií.
Každý server ukladá svoju vlastnú lokálnu množinu údajov synchronizovanú s inými servermi, Môžu prejsť do režimu offline a pravidelne replikovať zmeny. Táto vlastnosť robí z CouchDB najmä atraktívne riešenie pre organizáciu synchronizácie nastavení programu medzi rôznymi počítačmi.
Riešenia založené na CouchDB implementovali spoločnosti ako BBC, Apple a CERN.
CouchDB dotazy a indexovanie údajov je možné vykonávať podľa paradigmy MapReduce pomocou JavaScriptu na generovanie logiky vzorkovania údajov.
Jadro systému je napísané v jazyku Erlang, ktorá je optimalizovaná na vytváranie distribuovaných systémov slúžiacich mnohým paralelným požiadavkám. Zobrazovací server je napísaný v jazyku C a je založený na JavaScripte projektu Mozilla.
Prístup do databázy sa vykonáva prostredníctvom protokolu HTTP pomocou RESTful JSON API, ktoré vám umožní prístup k údajom, a to aj z webových aplikácií spustených v prehliadači.
Dokument, ktorý má jedinečný identifikátor, verziu a ktorý obsahuje ľubovoľnú sadu pomenovaných polí vo formáte kľúč / hodnota, slúži ako jednotka na ukladanie údajov. P
Na usporiadanie sady pseudostrukturovaných údajov z ľubovoľných dokumentov (agregácia a vzorkovanie) sa používa koncept formovania pohľadov, ktoré sú definované pomocou JavaScriptu. V JavaScripte môžete tiež definovať funkcie na overenie údajov pri pridávaní nových dokumentov v konkrétnom zobrazení.
Čo je nové v Apache CouchDB 3.0
V tejto novej verzii vylepšená ochrana je zvýraznená v predvolenom nastavení. Pri štarte by mal byť teraz definovaný užívateľ admin, bez ktorého server ukončí svoju činnosť s chybou.
Na prístup k hovorom na «/ _all_dbs» musíte mať práva správcu a všetky databázy sú štandardne vytvárané iba pre administrátora (je možné ich meniť prostredníctvom objektu „_security“), okrem toho je štandardne zakázané upravovať objekty v databáze _users.
Pridané schopnosť vytvárať segmentované databázy Definované používateľom (rozdelené na oddiely), ktoré vám umožňujú definovať vlastné pravidlá distribúcie dokumentov podľa segmentov (rozsah fragmentov). Boli pridané špeciálne optimalizácie pre segmentované databázy k zobrazeniam a indexom.
Môžeme tiež nájsť implementácia automatického oddelenia počas segmentácie (fragmentácie). V databáze je teraz možné redistribuovať údaje podľa segmentov, berúc do úvahy zvýšenie faktora q použitého na určenie úrovne dezagregácie.
Subsystém bol pridaný ken pre automatickú indexáciu pozadia a udržiavať sekundárne indexy aktuálne bez výslovného zahájenia operácií na ich zostavenie.
Maximálna veľkosť dokumentu je znížená na 8 MB, čo môže po aktualizácii na CouchDB 3.0 viesť k problémom s replikáciou údajov zo starších serverov. Na zvýšenie limitu môžete použiť nastavenie „[couchdb] max_document_size“.
Z ďalších zmien ktoré sú uvedené:
- Optimalizácia výkonu procesu couch_server.
- Výrazne vylepšený inštalátor pre platformu Windows.
- Proces smoosh používaný na automatické zabalenie databázy bol úplne prepísaný.
- Navrhuje sa nový subsystém I / O frontu, ktorý sa používa na zmenu priority I / O pre určité operácie.
- Implementovaný systém regresného testovania.
- Oficiálna podpora bola pridaná pre platformy arm64v8 (aarch64) a ppc64le (ppc64el).
- Pridaná podpora prepojenia na JavaScriptový engine SpiderMonkey 1.8.5 (pobočka ESR vo Firefoxe 60) s vylepšenou podporou pre ES5, ES6 a ES2016 +.
- Rámec obsahuje vyhľadávač Dreyfus založený na Lucene, čo môže výrazne zjednodušiť implementáciu vyhľadávača založeného na CouchDB.
- Pridaný backend na prihlásenie pomocou systemd-journald.
Zaujímavé molto. Io gestisco tre server CouchDB a ho appena migrato alla 3.0.
Na správu automatizmu a vari skriptov používam PowerShell, ak je to z Windows a z Linuxu s modulom PSCouchDB (https://github.com/MatteoGuadrini/PSCouchDB) ktorý uľahčuje riadenie.
Používam ho sopprattutto pre funkciu Import / Export na zálohovanie databázy a tiež na generovanie správy.
CouchDB - davvero splendido!