从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

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

  1. OpenTSDB介绍——基于Hbase的分布式的,可伸缩的时间序列数据库,而Hbase本质是列存储...

    原文链接:http://www.jianshu.com/p/0bafd0168647 OpenTSDB介绍 1.1.OpenTSDB是什么?主要用途是什么? 官方文档这样描述:OpenTSDB is ...

  2. oracle数据库切换教程,oracle 11gR2 物理备用数据库搭建及切换

    在同一台机器上搭建物理备用数据库的步骤,linux环境 oracle 11.2.0.1 主库:orcl 备库:stby 1 检查侦听是否启动 2 配置主备数据库的初始化参数文件 sqlplus /as ...

  3. spring boot 动态切换数据源(数据源信息从数据库中读取)

    项目要求从多个源库(oracle,haha,pg)里面读取schema,table,字段等信息,spring提供了AbstractRoutingDataSource类实现动态数据源,下面就简单介绍一下 ...

  4. Java实现动态增加和切换数据源以访问不同的数据库

    有时候我们需要把数据存放到多个数据库中,但是一个数据源只能访问一个数据库.想访问不同的数据库,那么就需要切换不同的数据源.有时候我们要切换的数据源是未知的,在程序运行的过程中才能知道要访问哪一个数据库 ...

  5. opentsdb 简易生动讲解

    摘要  OpenTSDB是一个分布式的.可伸缩的时间序列数据库,在DB-engines的时间序列数据库排行榜上排名第五.它的特点是能够提供最高毫秒级精度的时间序列数据存储,能够长久保存原始数据并且不失 ...

  6. postgresql 查询序列_时间序列数据库(TSDB)初识与选择

    背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词.大数据.人工智能.物联网.机器学习.商业智能.智能预警啊等等. 以前的系统,做数据可视化,信息管理,流程控制.现在业务已经不仅仅满足于这 ...

  7. Hadoop-HBASE案例分析-Hadoop学习笔记二

    之前有幸在MOOC学院抽中小象学院hadoop体验课.  这是小象学院hadoop2.X概述第八章的笔记  主要介绍HBase,一个分布式数据库的应用案例. 案例概况: 1)时间序列数据库(OpenT ...

  8. HBase使用场景和成功案例 (转)

    HBase 使用场景和成功案例 有时候了解软件产品的最好方法是看看它是怎么用的.它可以解决什么问题和这些解决方案如何适用于大型应用架构,能够告诉你很多.因为HBase有许多公开的产品部署,我们正好可以 ...

  9. Java资源大全中文版(转)

    Java资源大全中文版(Awesome最新版) Awesome系列的Java资源整理.awesome-java 就是akullpp发起维护的Java资源列表,内容包括:构建工具.数据库.框架.模板.安 ...

最新文章

  1. PC端、移动端手机竖拍原图压缩上传顺时针旋转90°的解决方案
  2. Browser Security-超文本标记语言(HTML)
  3. 关于Unity调用摄像头扫描二维码与生成二维码的实现方法
  4. SAP Spartacus logout的拦截
  5. [机器学习] 面试常见问题+解析汇总
  6. c语言程序整数四则运算,c语言中三个整数随机的四则运算
  7. 引导滤波的opencv实现以及解释
  8. sharepoint SPFolder的使用
  9. hexo sever端口占用,localhost:4000无响应
  10. 查询linux信号量命令,Linux信号量动作和说明列表
  11. mysql的pdb文件在哪里_pdb是什么文件?pdb数据库文件怎么打开?
  12. 科宇扫地机器人_扫地谁更精准更干净?新一代3D视讯+激光成像 PK 老式激光扫描...
  13. java微博模拟登陆_java+selenium模拟登陆新浪微博demo
  14. 和一群程序猿的旧金山优胜美地之旅
  15. ETCD数据库源码分析——ProgressTracker
  16. 设置Word文档密码的两种方式
  17. Origin 在已画图中添加新的数据曲线
  18. qscoj 喵哈哈村的打印机游戏(区间dp)
  19. R计算 地理集中指数
  20. 计算机公务员考试 真题及答案,公务员考试c类计算机考试真题及答案2.pdf

热门文章

  1. HTTP Slow Attack测试工具SlowHTTPTest
  2. 【LeetCode】two num 利用comparable接口 对对象进行排序
  3. C++ STL标准模板库(stack)
  4. 开启AngularJS学习之旅
  5. logicaldoc 6.5 结合postgresql 9.x安装部署—基于windows平台
  6. [转载] 晓说——第18期:古代科举考试那些事——招生
  7. Page.IsValid的问题
  8. linux中各种文件的颜色表示是什么意思?
  9. markdown编辑器的小建议
  10. Hyper-V 3.0功能部署PART 5:秒级实时迁移