Увеличение эффективности базы ... Заметка

Увеличение эффективности базы данных временных рядов Goku в Pinterest (Часть — 3)

Гоку, база данных временных рядов Pinterest, состоит из подкомпонентов: Гоку Short Term (GokuS), Гоку Long Term (GokuL), Гоку Compactor и Гоку Root.Чтобы снизить затраты, Pinterest реализовал две функции для команды Observability: Metrics Namespace позволяет гибко настраивать хранение для разных семей метрик, а Providing Top Write Heavy Metrics помогает идентифицировать метрики, которые необходимо блокировать, уменьшая объем данных, хранящихся в GokuS.Архитектурные изменения в GokuS, Compactor и Ingestor направлены на уменьшение ресурсного следа. Улучшения индексирования оптимизировали хранение имен метрик, значительно уменьшив потребление памяти процессом.Улучшения компактации использовали кодировку словаря для представления имен метрик, что привело к уменьшению использования памяти.Анализ памяти процесса и оценка аппаратного обеспечения кластерных машин помогли определить подходящие типы экземпляров.Потребление памяти для имен метрик в GokuS было уменьшено примерно на 9 ГБ на хост после улучшений индексирования.Команда Observability Pinterest уменьшила количество временных рядов, хранящихся в GokuS, на 37% с помощью функций Gоку.Использование диска на хостах GokuL было уменьшено примерно на 27%.Эти оптимизации позволяют Pinterest эффективно хранить и обрабатывать огромные объемы метрических данных.