Mise à jour majeure de GreptimeDB v0.4 : la nouvelle version du moteur Mito2 est conçue pour les données de séries chronologiques

introduction

Depuis que GreptimeDB a été lancé pour la première fois en tant qu'open source en novembre de l'année dernière, l'équipe Greptime a traversé des séries d'itérations continues, depuis l'achèvement de l'architecture préliminaire de la v0.1, jusqu'à la v0.2 étant une version autonome compatible avec PromQL, jusqu'à la v0. .3 ajout de capacités de style de distribution.

Le niveau fonctionnel de la v0.3 a été relativement stable, y compris la version autonome, distribuée, la compatibilité PromQL et la prise en charge de différents protocoles d'accès. De nombreux utilisateurs ont commencé à l'essayer et nous avons également reçu de nombreux commentaires et suggestions. en même temps, nous travaillons également sur GreptimeCloud. Le projet mange sa propre nourriture pour chiens et la couche inférieure repose entièrement sur la v0.3, renvoyant constamment les exigences à l'équipe DB.

Parmi eux, le problème le plus important est celui des performances des requêtes. Franchement, bien que la version v0.3 ait des fonctions stables et réponde à la demande de performances d'écriture, il reste encore beaucoup à faire pour améliorer les performances des requêtes, et ce n'est pas le cas. suffisant pour gérer des données à grande échelle.Analyse des requêtes. v0.4 Afin de résoudre ce problème, une mise à niveau majeure a été apportée au moteur de requête de stockage Mito, qui a été presque réécrit, et les composants liés au moteur ont également été restructurés. Enfin, l'amélioration réelle a été mesurée par la suite de tests TSBS par en moyenne 6 fois. , pour plus de détails, veuillez vous référer au rapport de test à la fin de l'article (PS : les amis qui connaissent les voitures peuvent penser que Mito semble familier. Oui, cela vient d'Alfa Romeo MiTo. Qui a autorisé l'entreprise avoir trois propriétaires d'Alfa Romeo).

Avec la garantie de tests suffisants, aujourd'hui, nous pouvons enfin annoncer avec enthousiasme : GreptimeDB v0.4 est officiellement publié. Contrairement aux versions précédentes, la version v0.4 indique que GreptimeDB est fondamentalement prêt à entrer dans l'environnement de production, et qu'il signifie que GreptimeDB est fondamentalement prêt à entrer dans l'environnement de production. Une nouvelle exploration et un nouveau défi sont sur le point de commencer !

En résumé, cette nouvelle mise à jour de version se concentre principalement sur les aspects suivants :

  • Optimisation des performances : nouveau moteur Mito2 repensé ;
  • Optimisation de la stabilité : les DDL tels que CREATE, DROP, ALTER unifient les implémentations mono-machine et distribuées et introduisent le cadre de procédure pour assurer la cohérence finale ;
  • Optimisation de l'expérience : Support Vector/OpenTelemetry, etc.

De la v0.3 à la v0.4, il y a 42 contributeurs de 6 pays et régions dans les principaux projets de l'équipe Greptime. Au . Parallèlement, avec la mise à jour de la version, la documentation d'utilisation et la documentation technique ont également été mises à jour. De plus, nous avons également publié le SDK C++, Erlang et JS, qui prend officiellement en charge 6 langages : Golang/Java/Rust/C++/Erlang/JS. En termes de communauté, nous avons également accueilli un nouveau Committer : @Niwaka .

Contenu clé de GreptimeDB v0.4

  • Performances de stockage des requêtes

    • La nouvelle version du moteur Mito2 a été entièrement repensée et spécialement optimisée pour les données de séries chronologiques. Les performances mesurées sont 5 à 20 fois supérieures à la v0.3 ;
    • Inspiré de Cassandra, il prend en charge la stratégie de compression TWCS (Time Window Compaction Strategy) ;
    • Le nouveau stockage d'objets Google Cloud Storage est pris en charge.
  • Stabilité et fiabilité

    • Enrichir les scénarios de tests SQLness ;
    • S'appuyant sur l'amélioration continue du scénario de test Chaos, la version v0.4 aura une robustesse distribuée plus fiable ;
    • Implémenter des opérations DDL telles que Créer/Modifier/Déposer une table basées sur le cadre de procédure et unifier les implémentations autonomes et distribuées ;
    • L'ensemble de l'architecture distribuée a été reconstruite et le protocole Heartbeat a été optimisé pour rendre la version distribuée plus stable.
  • Optimisation de l'expérience

    • Ajout de la prise en charge de la sélection de plage et de l'utilisation imbriquée avec des fonctions ordinaires ;
    • Tout nouveau tableau de bord ;
    • Optimiser l'expérience DESC TABLE ;
    • Prise en charge des tables externes au format Apache ORC ;
    • Prend en charge le protocole d'écriture au format de ligne gRPC convivial.
  • Intégration et autres

    • Vector ajoute la prise en charge de la sortie pour les métriques GreptimeDB ;
    • Prise en charge de l'utilisation de KubeBlocks pour démarrer le cluster GreptimeDB ;
    • Intégrer EMQX ;
    • Prise en charge de CentOS ;
    • Libérez le client officiel JS/Erlang/C++.

Test de performances GreptimeDB v0.4

GreptimeDB a été testé en performances sur la base de TSBS. TSBS (Time Series Benchmark Suite) est un ensemble de programmes utilisant Go comme langage principal, utilisé pour générer des ensembles de données de séries chronologiques et évaluer les performances de lecture et d'écriture. Initialement publié par les ingénieurs d'InfluxDB, un fabricant chevronné de bases de données de séries chronologiques, et continuellement amélioré par l'équipe TimescaleDB. La suite est extensible et peut inclure différents types de données et types de requêtes et comparer entre les systèmes. GreptimeDB a créé les extensions correspondantes basées sur la suite. L'adresse spécifique du projet : https://github.com/GreptimeTeam/tsbs/

Matériel de test et préparation des données

Environnement matériel

Données de test (basées sur TSBS)

Configuration de démarrage (configuration par défaut, modifier uniquement le répertoire de données)

[storage]
data_home = "/var/greptimedb/"

Résultats des tests (par rapport à la v0.3.2, plus la valeur est petite, mieux c'est)

Conseils de mise à niveau

Afin d'effectuer une optimisation approfondie sans être dérangé par les bagages historiques, il y a quelques changements majeurs dans la version 0.3 -> 0.4, qui nécessitent un temps d'arrêt pour les mises à niveau. Nous fournissons un outil de mise à niveau à cet effet et ajouterons ultérieurement un manuel de mise à niveau à la documentation officielle. Les étapes générales sont les suivantes :

  1. Créez un nouveau cluster 0.4 ;
  2. Fermez l'ancienne entrée de trafic du cluster (arrêtez d'écrire) ;
  3. Exportez les données via l'outil de mise à niveau CLI ;
  4. Importez des données dans le nouveau cluster ;
  5. Le trafic entrant est basculé vers le nouveau cluster 0.4.

Perspectives d'avenir de GreptimeDB

L'objectif principal que GreptimeDB continue de poursuivre est toujours de construire une architecture ServerlessDB flexible. Dans le même temps, nous sommes conscients que la tendance future réside dans l'autonomie des bases de données.Nous investirons progressivement davantage dans l'autonomie des bases de données et la combinerons avec des technologies de planification intelligente pour réaliser progressivement un pilotage automatique et sûr des bases de données de séries chronologiques.

Merci à la communauté

Merci à tous ceux qui prêtent attention à GreptimeDB, font des suggestions à GreptimeDB ou même soumettent du code. C'est votre soutien qui nous fait avancer plus fermement. GreptimeDB est un projet de base de données basé sur Rust. Que vous soyez un étudiant apprenant le langage Rust et recherchant un projet pour démarrer, un expert technique ayant déjà une certaine expérience, ou même un étudiant non technique qui espère contribuer. pour la communauté open source, vous devez trouver le moyen de contribuer qui vous convient dans GreptimeDB, devenir notre contributeur et échanger les dernières technologies avec d'autres contributeurs de la communauté du monde entier. Tranquillement, si vous devenez contributeur, vous pourrez recevoir une édition limitée Greptime et des cadeaux périphériques exquis~

L'auteur du framework open source NanUI s'est tourné vers la vente d'acier et le projet a été suspendu. La liste gratuite numéro un dans l'App Store d'Apple est le logiciel pornographique TypeScript. Il vient de devenir populaire, pourquoi les grands commencent-ils à l'abandonner ? Liste TIOBE d'octobre : Java connaît la plus forte baisse, C# se rapproche de Java Rust 1.73.0 publié Un homme a été encouragé par sa petite amie IA à assassiner la reine d'Angleterre et a été condamné à neuf ans de prison Qt 6.6 officiellement publié Reuters : RISC-V la technologie devient la clé de la guerre technologique sino-américaine Nouveau champ de bataille RISC-V : non contrôlé par une seule entreprise ou un seul pays, Lenovo prévoit de lancer un PC Android
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/6839317/blog/10116982
conseillé
Classement