东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

Pinterest 从 OpenTSDB 切换到他们自己的时间序列数据库

  • 2018-09-20
  • 本文字数:1025 字

    阅读完需:约 3 分钟

从 2014 年开始,Pinterest 工程团队就一直使用 OpenTSDB 存储和查询指标。由于指标数据量的增长导致了各种性能问题,所以他们使用 C++ 开发了自己的时间序列数据库 Goku ,并且兼容 OpenTSDB API。

Pinterest 开发团队使用一个名为 Statsboard 的系统——这是一个仪表板,使用 YAML 中的声明式配置集成了来自 Graphite Ganglia 和 OpenTSDB 的指标。早在 2012 年,Pinterest 的监控使用了 Ganglia,它只收集系统指标而不收集任何应用程序指标。那年年底,他们部署了Graphite 以及statsd,用于收集应用程序指标,然后部署了一个Graphite 集群。2014 年,他们部署了OpenTSDB 以及一个自定义指标代理,把数据推送到Kafka 集群,然后从那里通过一个处理管道推送到 OpenTSDB 和 Graphite 。几年前,他们在 OpenTSDB 中已经达到了每秒 150 万点的吞吐量。Pinterest 的团队面临着 Java 垃圾收集问题以及 HBase 频繁崩溃,OpenTSDB 把它作为后端存储。这里有一点需要注意,Pinterest 有一个规模很大的HBase 部署,供他们的许多服务使用。

他们自主开发的时间序列数据库引擎Goku 试图改进OpenTSDB 中的某些具体方面,其中包括使用一个反向索引代替HBase 扫描、更好的数据点压缩、集群聚合查询以及更快的序列化格式。Goku 使用 Facebook Gorilla 内存存储引擎存储最新数据,持久存储在 NFS 上。Pinterest托管在EC2 上,但是,文中并没有清楚说明,他们是否使用了 AWS EFS 或自托管解决方案。作者提到,Goku 会在重新启动时把数据从磁盘读回到内存中。

Goku 的查询模型和 OpenTSDB 的完全一样。其团队编写了自己的查询聚合层,向分片扇出查询或聚合分片查询。Goku 使用了一种两层分片策略——基于指标名称,然后是标签键 - 值对。这些查询由 Goku 代理处理,它会把查询发送给单个的 Goku 分片。这些分片使用反向索引取得请求的时间序列的 ID,并获取数据,运行单个的聚合器(下采样、求和等),然后发回代理。该代理会在第二轮聚合之后把它发给客户端。Goku 的另一项改进是使用 Apache Thrift 的二进制数据类型代替了OpenTSDB 的JSON 格式。

Pinterest 使用 Goku 降低了延迟、资源需求以及数据集规模。Goku 是用 C++ 编写的,兼容 OpenTSDB API 。Goku 和 Pinterest 另外一个名为 Yuvi 的项目非常类似,那个项目是用 Java 编写的。其他工程团队也编写或定制了他们自己的时间序列指标集和查询系统,包括 Vivint Uber Improbable Criteo

查看英文原文: Pinterest Switches From OpenTSDB to Their Own Time Series Database

2018-09-20 04:18968
用户头像

发布了 1008 篇内容, 共 373.6 次阅读, 收获喜欢 340 次。

关注

评论

发布
暂无评论
发现更多内容

MCtalk·CEO对话×影刀RPA丨不确定的周期,越要找到确定的竞争优势

ToB行业头条

数据中台与低代码:数字中国战略的关键技术

不在线第一只蜗牛

数据中台 低代码 开发语言 数字转型

探索OpenCV:图像处理的利器

霍格沃兹测试开发学社

Java面向对象之内部类的几类使用场景

快乐非自愿限量之名

Java 面向对象 开发语言 面向编程

集成专栏丨解析WSDL自动生成API

inBuilder低代码平台

开源 低代码 集成 连接器

NFT矩阵公排合约系统开发

l8l259l3365

程序员副业大赏:一边赚钱一边提升技能!

伤感汤姆布利柏

好用的文本编辑器推荐

霍格沃兹测试开发学社

深度解析:Allure报告如何提升你的测试效率?

测吧(北京)科技有限公司

测试

SD-WAN对云服务的影响

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

文心一言 VS 讯飞星火 VS chatgpt (204)-- 算法导论15.3 3题

福大大架构师每日一题

福大大架构师每日一题

百度营销发布「生成商业新未来」特刊

科技热闻

超越传统模式:商品企划系统如何助力鞋服品牌创新突围?

第七在线

深入探析:云计算与边缘计算在软件开发中的应用与挑战

EquatorCoco

云计算 低代码 边缘计算 项目开发

杭州悦数受邀参加《大模型驱动的智能知识图谱》标准首次专家研讨会

悦数图数据库

面试官:说说volatile底层实现原理?

王磊

Java 面试

SD-WAN网络中,CPE设备的重要性与选择

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

长期有效!开放原子基金会联合龙蜥社区推出的「人人都可以参与开源」学习赛上线

OpenAnolis小助手

开源 操作系统 龙蜥社区 开放原子 人人都可以参与开源

掌握 Docker PS 命令:轻松管理容器

霍格沃兹测试开发学社

电商卖家如何利用API获取用户行为数据

技术冰糖葫芦

API 文档 API 策略

利用观测云实现 Kubernetes 多集群可观测

观测云

k8s

云原生与低代码:重塑软件开发新生态

快乐非自愿限量之名

云计算 云原生 软件开发 低代码

国际盛会 | 蔚蓝创造亮相KEY ENERGY 2024能源展

科技热闻

检测LED单元板的好坏的方法

Dylan

LED display LED显示屏 led显示屏厂家

2024年金三银四Java初中高级面试1000问,覆盖一线大厂各种面试痛点

采菊东篱下

编程 程序员 java面试

轻松实现UniApp Xcode上传IPA无需Mac,appuploder一键上传助你高效开发!

合合信息入选上海市网信办“2023年度网络数据安全风险评估试点工作优秀单位”

合合技术团队

安全 数据安全 合合信息

任务系统之API子任务

快乐非自愿限量之名

接口 API 项目开发 任务系统

深入理解 Docker Run 命令:从入门到精通

霍格沃兹测试开发学社

SD-WAN技术:是挑战还是机遇?

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

从 0 开始构建知识图谱的 5 个启动建议

悦数图数据库

知识图谱

Pinterest从OpenTSDB切换到他们自己的时间序列数据库_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章