La nuova versione di Apache CouchDB 3.0 è già stata rilasciata e queste sono le sue modifiche

DivanoDB-logo-1

Il lancio di la nuova versione di Apache CouchDB 3.0, che è un database distribuito orientato ai documenti, appartenente alla classe dei sistemi NoSQL. CouchDB è caratterizzato dalla memorizzazione dei dati in un formato elenco ordinato e consente la replica parziale dei dati tra più database in modalità master-master con rilevamento e risoluzione simultanei di situazioni di conflitto.

Ogni server memorizza il proprio set di dati locale, sincronizzato con altri server, Possono andare offline e replicare periodicamente le modifiche. In particolare, questa caratteristica rende CouchDB una soluzione interessante per organizzare la sincronizzazione delle impostazioni del programma tra diversi computer.

Le soluzioni basate su CouchDB sono state implementate da aziende come BBC, Apple e CERN.

Le query CouchDB e l'indicizzazione dei dati possono essere eseguite secondo il paradigma MapReduce utilizzando JavaScript per generare la logica di campionamento dei dati.

Il nucleo del sistema è scritto nella lingua Erlang, ottimizzato per la creazione di sistemi distribuiti che servono molte richieste parallele. Il server di visualizzazione è scritto in linguaggio C e si basa sul motore JavaScript del progetto Mozilla.

L'accesso al database avviene tramite il protocollo HTTP utilizzando l'API JSON RESTful, che consente di accedere ai dati, anche dalle applicazioni web in esecuzione nel browser.

Un documento che ha un identificatore univoco, una versione e contiene un insieme arbitrario di campi denominati nel formato chiave / valore funge da unità di memorizzazione dei dati. P

Per organizzare un set di dati pseudostrutturato da documenti arbitrari (aggregazione e campionamento), viene utilizzato il concetto di formazione di viste, definite mediante JavaScript. In JavaScript, puoi anche definire funzioni per convalidare i dati quando aggiungi nuovi documenti all'interno di una vista specifica.

Novità di Apache CouchDB 3.0

In questa nuova versione la protezione avanzata è evidenziata nelle impostazioni predefinite. All'avvio dovrebbe ora essere definito l'utente admin, senza il quale il server terminerà il suo funzionamento con un errore.

Per accedere alle chiamate a «/ _all_dbs» ora devi avere i diritti di amministratore e tutti i database sono creati di default solo per l'utente amministratore (possono essere modificati tramite l'oggetto "_security"), inoltre è proibito di default modificare oggetti nel database _users.

Aggiunto il capacità di creare database segmentati Definito dall'utente (partizionato), che consente di definire le proprie regole per la distribuzione dei documenti per segmenti (intervallo di frammenti). Sono stati aggiunti ottimizzazioni speciali per database segmentati a visualizzazioni e indici.

Possiamo anche trovare il file implementazione della separazione automatica durante la segmentazione (frammentazione). Nel database è ora possibile ridistribuire i dati per segmento, tenendo conto dell'aumento del fattore q utilizzato per determinare il livello di disaggregazione.

Il sottosistema ken è stato aggiunto per l'indicizzazione automatica in background e mantenere aggiornati gli indici secondari senza avviare esplicitamente operazioni per crearli.

La dimensione massima del documento è ridotta a 8 MB, che può portare a problemi di replica dei dati da server meno recenti dopo l'aggiornamento a CouchDB 3.0. Per aumentare il limite, puoi utilizzare l'impostazione "[couchdb] max_document_size".

Delle altre modifiche che sono menzionati:

  • Ottimizzazione delle prestazioni del processo couch_server.
  • Programma di installazione notevolmente migliorato per la piattaforma Windows.
  • Il processo smoosh utilizzato per il packaging automatico del database è stato completamente riscritto.
  • Viene proposto un nuovo sottosistema della coda di I / O, utilizzato per modificare la priorità di I / O per determinate operazioni.
  • Sistema di test di regressione implementato.
  • È stato aggiunto il supporto ufficiale per le piattaforme arm64v8 (aarch64) e ppc64le (ppc64el).
  • Aggiunto supporto per il collegamento al motore JavaScript SpiderMonkey 1.8.5 (ramo ESR di Firefox 60) con supporto migliorato per ES5, ES6 e ES2016 +.
  • Il framework include un motore di ricerca Dreyfus basato su Lucene, che può semplificare notevolmente l'implementazione di un motore di ricerca basato su CouchDB.
  • Aggiunto backend per accedere utilizzando systemd-journald.

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Terry99 suddetto

    Interessante molto. Io gestisco tre server CouchDB e ho appena migrato alla 3.0.
    Per gestire automatismi e script vari, utilizzo powershell, se da Windows e da Linux con il modulo PSCouchDB (https://github.com/MatteoGuadrini/PSCouchDB) che ne facilita la gestione.
    Lo uso sopprattutto per la funzione Import / Export per il backup del database, e anche per generare un report.
    CouchDB è davvero splendido!