Sortie de TimescaleDB 1.7

Publié Version du SGBD Échelle de tempsDB 1.7, conçu pour stocker et traiter des données sous la forme d'une série chronologique (tranches de valeurs de paramètres à intervalles spécifiés ; l'enregistrement forme le temps et un ensemble de valeurs correspondant à ce temps). Cette forme de stockage est optimale pour des applications telles que les systèmes de surveillance, les plateformes de trading, les systèmes de collecte de métriques et d'états des capteurs. Des outils d'intégration avec le projet sont fournis grafana и Prométhée.

Le projet TimescaleDB est implémenté comme une extension de PostgreSQL et distribué par sous licence Apache 2.0. Morceau de code avec des fonctionnalités avancées disponibles sous une licence propriétaire distincte Echelle de temps (TSL), qui n'autorise pas les modifications, interdit l'utilisation de code dans des produits tiers et n'autorise pas une utilisation gratuite dans les bases de données cloud (database-as-a-service).

Parmi les changements de TimescaleDB 1.7 :

  • Ajout de la prise en charge de l'intégration avec le SGBD PostgreSQL 12. La prise en charge de PostgreSQL 9.6.x et 10.x est obsolète (Timescale 2.0 ne prendra en charge que PostgreSQL 11+).
  • Le comportement des requêtes avec des fonctions d'agrégation exécutées en continu (agrégation de données entrantes en continu en temps réel) a été modifié. De telles requêtes combinent désormais des vues matérialisées avec des données nouvellement arrivées et non encore matérialisées (auparavant, l'agrégation ne couvrait que les données déjà matérialisées). Le nouveau comportement s'applique aux agrégations continues nouvellement créées ; pour les vues existantes, le paramètre « timescaledb.materialized_only=false » doit être défini via « ALTER VIEW ».
  • Certains outils avancés de gestion du cycle de vie des données ont été transférés vers la version communautaire à partir de l'édition commerciale, notamment la possibilité de regrouper les données et de traiter les politiques d'expulsion des données obsolètes (vous permettant de stocker uniquement les données actuelles et de supprimer, agréger ou archiver automatiquement les enregistrements obsolètes).

Rappelons que le SGBD TimescaleDB permet d'utiliser des requêtes SQL à part entière pour analyser les données accumulées, combinant la facilité d'utilisation inhérente aux SGBD relationnels avec la mise à l'échelle et les capacités inhérentes aux systèmes NoSQL spécialisés. La structure de stockage est optimisée pour garantir une vitesse d'ajout de données élevée. Il prend en charge l'ajout par lots d'ensembles de données, l'utilisation d'index en mémoire, le chargement rétroactif de tranches historiques et l'utilisation de transactions.

Une fonctionnalité clé de TimescaleDB est sa prise en charge du partitionnement automatique du tableau de données. Le flux de données d'entrée est automatiquement distribué sur les tables partitionnées. Les sections sont créées en fonction du temps (chaque section stocke les données pendant une certaine période de temps) ou par rapport à une clé arbitraire (par exemple, l'ID de l'appareil, l'emplacement, etc.). Pour optimiser les performances, les tables partitionnées peuvent être réparties sur différents disques.

Pour les requêtes, une base de données partitionnée ressemble à une grande table appelée hypertable. Une hypertable est une représentation virtuelle de nombreuses tables individuelles qui accumulent les données entrantes. L'hypertable est utilisée non seulement pour les requêtes et l'ajout de données, mais également pour des opérations telles que la création d'index et la modification de la structure (« ALTER TABLE »), cachant ainsi la structure segmentée de bas niveau de la base de données au développeur. Avec une hypertable, vous pouvez utiliser toutes les fonctions d'agrégation, sous-requêtes, opérations de fusion (JOIN) avec des tables normales et fonctions de fenêtre.

Source: opennet.ru

Ajouter un commentaire