La nouvelle version d'Apache CouchDB 3.0 a déjà été publiée et ce sont ses changements

couchDB-logo-1

Le lancement de la nouvelle version de Apache CouchDB 3.0, c'est laquelle une base de données distribuée orientée document, appartenant à la classe des systèmes NoSQL. CouchDB se caractérise par le stockage des données dans un format de liste ordonnée et permet la réplication partielle des données entre plusieurs bases de données en mode maître-maître avec détection et résolution simultanées de situations de conflit.

Chaque serveur stocke son propre jeu de données local, synchronisé avec d'autres serveurs, Ils peuvent se déconnecter et répliquer périodiquement les modifications. En particulier, cette fonctionnalité fait de CouchDB une solution intéressante pour organiser la synchronisation des paramètres du programme entre différents ordinateurs.

Des solutions basées sur CouchDB ont été mises en œuvre par des entreprises comme la BBC, Apple et le CERN.

Les requêtes CouchDB et l'indexation des données peuvent être effectuées selon le paradigme MapReduce en utilisant JavaScript pour générer la logique d'échantillonnage des données.

Le cœur du système est écrit dans le langage Erlang, qui est optimisé pour créer des systèmes distribués servant de nombreuses requêtes parallèles. Le serveur de vue est écrit en langage C et est basé sur le moteur JavaScript du projet Mozilla.

L'accès à la base de données se fait via le protocole HTTP en utilisant l'API RESTful JSON, qui vous permet d'accéder aux données, même à partir d'applications Web exécutées dans le navigateur.

Un document qui a un identificateur unique, une version et qui contient un ensemble arbitraire de champs nommés au format clé / valeur agit comme une unité de stockage de données. P

Pour organiser un ensemble de données pseudostructurées à partir de documents arbitraires (agrégation et échantillonnage), le concept de formation de vues est utilisé, qui est défini à l'aide de JavaScript. En JavaScript, vous pouvez également définir des fonctions pour valider les données lors de l'ajout de nouveaux documents dans une vue spécifique.

Nouveautés d'Apache CouchDB 3.0

Dans cette nouvelle version la protection améliorée est mise en évidence dans les paramètres par défaut. Au démarrage, l'utilisateur admin doit maintenant être défini, sans quoi le serveur terminera son opération avec une erreur.

Pour accéder aux appels vers «/ _all_dbs» vous devez maintenant disposer des droits d'administrateur et toutes les bases de données sont créées par défaut uniquement pour l'utilisateur administrateur (elles peuvent être modifiées via l'objet "_security"), de plus il est interdit par défaut d'éditer des objets dans la base de données _users.

Ajout du possibilité de créer des bases de données segmentées Défini par l'utilisateur (partitionné), vous permettant de définir vos propres règles de distribution des documents par segments (plage de fragments). Ont été ajoutés optimisations spéciales pour les bases de données segmentées aux vues et aux index.

On peut également trouver le mise en œuvre de la séparation automatique lors de la segmentation (fragmentation). Dans la base de données, il est désormais possible de redistribuer les données par segments, en tenant compte de l'augmentation du facteur q utilisé pour déterminer le niveau de désagrégation.

Le sous-système ken a été ajouté pour l'indexation automatique en arrière-plan et maintenez les index secondaires à jour sans lancer explicitement des opérations pour les créer.

La taille maximale du document est réduite à 8 Mo, ce qui peut entraîner des problèmes de réplication de données à partir de serveurs plus anciens après la mise à niveau vers CouchDB 3.0. Pour augmenter la limite, vous pouvez utiliser le paramètre "[couchdb] max_document_size".

Des autres changements qui sont mentionnés:

  • Optimisation des performances du processus couch_server.
  • Programme d'installation considérablement amélioré pour la plate-forme Windows.
  • Le processus smoosh utilisé pour l'empaquetage automatique des bases de données a été complètement réécrit.
  • Un nouveau sous-système de file d'attente d'E / S est proposé, utilisé pour modifier la priorité d'E / S pour certaines opérations.
  • Système de test de régression mis en place.
  • Le support officiel a été ajouté pour les plates-formes arm64v8 (aarch64) et ppc64le (ppc64el).
  • Ajout de la prise en charge de la liaison au moteur JavaScript SpiderMonkey 1.8.5 (branche ESR de Firefox 60) avec une prise en charge améliorée pour ES5, ES6 et ES2016 +.
  • Le cadre comprend un moteur de recherche Dreyfus basé sur Lucene, qui peut grandement simplifier la mise en œuvre d'un moteur de recherche basé sur CouchDB.
  • Ajout du backend pour se connecter à l'aide de systemd-journald.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Terry99 dit

    Intéressant molto. Io gestisco tre serveur CouchDB et ho appena migrato alla 3.0.
    Pour gérer l'automatisme et le script vari, j'utilise PowerShell, si c'est de Windows et de Linux avec le module PSCouchDB (https://github.com/MatteoGuadrini/PSCouchDB) qui facilite la gestion.
    Je l'utilise sopprattutto pour la fonction Import / Export pour la sauvegarde de la base de données, et aussi pour générer un rapport.
    CouchDB est magnifique!