Amélioration de l'efficacité de la base de données de séries chronologiques Goku chez Pinterest (Partie - 3)
Goku, la base de données de série chronologique de Pinterest, se compose de sous-composants : Goku Short Term (GokuS), Goku Long Term (GokuL), Goku Compactor et Goku Root.Afin de réduire les coûts, Pinterest a mis en œuvre deux fonctionnalités pour l'équipe Observabilité : L'espace de noms de métriques permet des configurations de stockage flexibles pour différentes familles de métriques, tandis que la fourniture des métriques d'écriture lourdes en tête aide à identifier les métriques à bloquer, réduisant les données stockées dans GokuS.Les changements architecturaux dans GokuS, Compactor et Ingestor visent à réduire l'empreinte des ressources. Les améliorations de l'indexation ont optimisé le stockage des noms de métriques, réduisant significativement la consommation de mémoire de processus.Les améliorations de la compaction ont utilisé l'encodage de dictionnaire pour représenter les noms de métriques, ce qui a entraîné une réduction de l'utilisation de la mémoire.L'analyse de la mémoire de processus et l'évaluation du matériel des machines du cluster ont aidé à déterminer les types d'instances appropriés.La consommation de mémoire pour les noms de métriques dans GokuS a été réduite d'environ 9 Go par hôte après les améliorations de l'indexation.L'équipe Observabilité a réduit le nombre de séries chronologiques stockées dans GokuS de 37% en utilisant les fonctionnalités de Goku.L'utilisation du disque sur les hôtes GokuL a été réduite d'environ 27%.Ces optimisations permettent à Pinterest de stocker et de traiter de vastes quantités de données de métriques de manière rentable.