提高Pinterest上Goku时间序列数据库的效率(第一部分)
Monil Mukesh Sanghavi, Kapil Bajaj, Ming-May Hu, Xiao Li and Zhenxiao Luo
Monil Mukesh Sanghavi,Kapil Bajaj,Ming-May Hu,Xiao Li和Zhenxiao Luo
Introduction
介绍
At Pinterest, one of the pillars of the observability stack provides internal engineering teams (our users) the opportunity to monitor their services using metrics data and set up alerting on it. Goku is our in-house time series database providing cost efficient and low latency storage for metrics data. Underneath, Goku is not a single cluster but a collection of sub-service components including:
在Pinterest,可观察性堆栈的支柱之一为内部工程团队(我们的用户)提供使用指标数据监视其服务并设置警报的机会。 Goku是我们内部的时间序列数据库,为指标数据提供成本效益高且延迟低的存储。在Goku的底层,不是一个单一的集群,而是包括以下子服务组件的集合:
- Goku Short Term (in-memory storage for the last 24 hours of data and referred to as GokuS)
- Goku Short Term(最近24小时数据的内存存储,称为GokuS)
- Goku Long Term (ssd and hdd based storage for older data and referred to as GokuL)
- Goku Long Term(基于 SSD 和 HDD 的旧数据存储,简称 GokuL)
- Goku Compactor (time series data aggregation and conversion engine)
- Goku Compactor(时间序列数据聚合和转换引擎)
- Goku Root (smart query routing)
- Goku Root(智能查询路由)
You can read more about these components in the blog posts on GokuS Storage, GokuL (long term) storage, and Cost Savings on Goku, but a lot has changed in Goku since those were written. We have implemented multiple features that increased the efficiency of Goku and improved the user experience. In this 3 part blog post series, we will cover the efficiency improvements in 3 major aspects:
您可以在GokuS存储,GokuL(长期)存储和Goku成本节约的博客文章中了解更多关于这些组件的信息,但是自那些文章以来,Goku发生了很多变化。我们已经实施了多个功能,提高了Goku的效率并改善了用户体验。在这个由3部分组成的博客系列中,我们将介绍3个主要方面的效率改进:
- Improving recovery time of both GokuS and GokuL (this is the total time a single host or cluster in Goku takes to come up and start serving time series queries)
- 改善 GokuS 和 GokuL 的恢复时间(这是 Goku 中单个主机或集群启动并开始提供时间序列查询所需的总时间)
- Improving query experience in Goku by lowering latencies of expensive and high cardinality queries
- 通过降低昂贵且基数高的查询的延迟,改善 Goku 中的查询体验
- Reducing the overall cost of Goku in Pinterest
- 降低Pinterest中Goku的总体成本
We’ll ...