Nouvelle version du SGBD ArangoDB 3.6

Publié sortie d'un SGBD polyvalent ArangoDB 3.6, qui fournit des modèles flexibles pour stocker des documents, des graphiques et des données clé-valeur. Le travail avec la base de données s'effectue via un langage de requête de type SQL AQL ou via des extensions spéciales en JavaScript. Les méthodes de stockage de données sont conformes à l'ACID (Atomicity, Consistency, Isolation, Durability), prennent en charge les transactions et offrent une évolutivité horizontale et verticale. Le SGBD peut être géré via une interface web ou un client console Arango SH. Code ArangoDB distribué par sous licence Apache 2. Le projet est écrit en C et JavaScript.

Principales fonctionnalités d'ArangoDB :

  • La possibilité de se passer de définir un schéma de stockage de données (Schema-free) - les données sont structurées sous forme de documents dans lesquels les métadonnées et les informations sur la structure sont séparées des données utilisateur ;
  • Prise en charge de l'utilisation d'ArangoDB comme serveur pour les applications Web en JavaScript avec la possibilité d'accéder à la base de données via l'API REST/Web ;
  • Utiliser JavaScript pour les applications de navigateur accédant à la base de données et pour les gestionnaires exécutés côté SGBD ;
  • Architecture multithread qui répartit la charge sur tous les cœurs de processeur ;
  • Un modèle de stockage de données flexible qui peut combiner des paires clé-valeur, des documents et des paramètres qui définissent les relations entre les enregistrements (fournit des outils pour parcourir les sommets du graphique) ;
  • Différents modèles de représentation des données (documents, graphiques et paires clé-valeur) peuvent être mélangés dans une seule requête, ce qui simplifie l'agrégation de données hétérogènes ;
  • Prise en charge des requêtes de fusion (JOIN) ;
  • La possibilité de sélectionner le type d'index qui correspond aux tâches à résoudre (par exemple, vous pouvez utiliser l'index pour la recherche en texte intégral) ;
  • Fiabilité personnalisable : l'application elle-même peut déterminer ce qui est le plus important pour elle : une fiabilité ou des performances supérieures ;
  • Un stockage efficace qui tire pleinement parti du matériel moderne (tel que les SSD) et peut utiliser de grands caches ;
  • Transactions : la possibilité d'exécuter des requêtes sur plusieurs documents ou collections à la fois avec cohérence et isolation facultatives des transactions ;
  • Prise en charge de la réplication et du sharding : la possibilité de créer des configurations maître-esclave et de distribuer des ensembles de données à différents serveurs en fonction d'une certaine fonctionnalité ;
  • Un framework JavaScript est fourni pour créer des microservices Foxx, exécuté dans un serveur SGBD avec accès direct aux données.

Changementsproposé dans la version ArangoDB 3.6 :

  • Les performances des sous-requêtes, ainsi que des opérations UPDATE et REPLACE ont été optimisées ;
  • La possibilité de paralléliser l'exécution des requêtes AQL a été implémentée, ce qui permet de réduire le temps de collecte des données réparties sur différents nœuds du cluster ;
  • Mise en œuvre d'une matérialisation différée des documents, qui permet dans certaines situations d'éliminer le besoin de récupérer complètement les documents non pertinents ;
  • Lors de la numérisation de documents, la suppression anticipée des documents qui ne correspondent pas au filtre spécifié est garantie ;
  • Le moteur de recherche en texte intégral ArangoSearch a été amélioré, prenant en charge le classement basé sur la similarité des données. Ajout de la prise en charge de l'analyseur pour l'auto-complétion des requêtes, implémentation des fonctions TOKENS() et PHRASE() pour générer dynamiquement des requêtes de recherche ;
  • Ajout du paramètre maxRuntime pour limiter de manière sélective le temps d'exécution de la requête ;
  • Ajout de l'option « —query.optimizer-rules » pour contrôler l'activation de certaines optimisations lors du traitement des requêtes ;
  • Les possibilités d'organisation du fonctionnement du cluster ont été élargies. Ajout de l'option « -cluster.upgrade » pour sélectionner le mode de mise à niveau pour les nœuds du cluster ;
  • Ajout de la prise en charge de TLS 1.3 pour chiffrer le canal de communication entre le client et le serveur (par défaut, le client continue d'utiliser TLS 1.2).

Source: opennet.ru

Ajouter un commentaire