Gorrila

一、Goriila的特点

在保证高可靠的读写性能的同时,通过对时间戳和value的存储空间量压缩,使数据得以写入内存中,大幅度提高查询的效率。

二、为什么要设计Goriila

根据facebook业务场景,超过85%的查询需求都集中在26h内的数据,内存型的数据更符合运维人员的查询分析需求;此外,Gorilla可以作为缓存来平衡内存的写入速度和硬盘的读写速度。

Operation Data Store(ODS)读性能缺陷

ODS由TSDB、查询服务、服务发现、告警系统组成。其中TSDB使基于HBase的存储系统。随着业务发展,HBase时序存储系统不能满足read负载需求,查询时延绝大部分达到几秒钟。考虑到Hive的查询时延对于ODS有过之而无不及,用其替代ODS也是不合适的。接下来,facebook将目光瞄向了内存型数据库,尽管ODS实现了部分内存型存储数据,但仅仅针对图表系统和一些面板的共享数据。

三、TSDB系统的对比

OpenTSDB

OpenTSDB基于Hbase,与ODS的存储数据结构类似。

优点:易横向扩展、对数据进行汇聚压缩(节约空间)

缺点:基于硬盘的存储,无法提供较快的查询速度

Graphite

Graphite基本RRD,不同时间序列存储在不同的文件夹,这点和Goriila类似。

缺点:查询时延过高,不支持抖动的处理

注:抖动,时延的一种,表示两次前后时延不一样

InfluxDB

优点:较OpenTSDB提供更丰富的数据类型,它的横向扩展开销较管理HBase/Hadoop来说小很多。

缺点:基于硬盘的查询速度较慢

四、Goriila数据压缩

时间戳的压缩

采用delta of delta模式,例如现有t1,t2,t3三个时间戳,由于时序数据间隔基本稳定,t3 - t2 = 60 ,t2 - t1 = 60 ,那么delta of delta = 0

耗费的存储空间为0 bit 。

数值的压缩

数值压缩方式通过相邻数据的XOR产生,例如两个数值异或v1 ^ v2=c,通过c ^ v1 = v2 可对原数据还原。

为什么要使用异或呢?facebook发现相邻时序数据间的差异比较小,通过记录异或后非0位数(异位)可显著压缩空间。

关于压缩算法的详细内容请参考论文,实际处理的复杂性不止于此。

五、Goriila内存数据结构

首先通过一个容器shard实现数据分片,每一个分片shard内存储多个时间序列数据,即多个chunks,一个chunks对应一个时间序列数据,chunks内部保存多个chunk,每个chunk保存该时间序列中的一段数据。

shards:是一个固定长度的数组结构,可以通过对时序数据的tag取hash并取模分配到相应的数组空间。shard是一个map结构,key是时序数据tag的hash值,value是chunks

chunks:chunks是一个数组结构,代表一条时序数据,chunk的数量由数据在内存的存储时间/单个chunk存储数据的时长决定,其中每个chunk代表一段时序数据。

Gorrila算法论文学习相关推荐

  1. 基于深度学习的图像处理算法论文学习

    近年来,深度学习技术得到了巨大的发展,并广泛应用于图像处理领域.相对于许多传统算法,深度学习技术从海量的训练数据中学习到的先验知识具有更强的泛化能力和更复杂的参数化表达,且无需调节算法参数以适应不同的 ...

  2. ## 论文学习—用一个可接受的的剪枝策略来加速动态时间规整聚类的算法

    论文学习-用一个可接受的的剪枝策略来加速动态时间规整聚类的算法 "Accelerating Dynamic Time Warping Clustering with a Novel Admi ...

  3. 《2019-刘宏伟-单通道超材料孔径雷达成像算法研究》论文学习

    2019-刘宏伟-单通道超材料孔径雷达成像算法研究 cytosineXT 2022.7论文学习 论文主要内容 研究重点:基于超材料孔径天线的计算成像系统 体制构成:单通道收发实孔径成像系统 成像原理: ...

  4. 论文学习-卫星视频与目标追踪-1-融合KCF跟踪器和三帧差算法

    论文学习-卫星视频与目标追踪-1 大家好,近来一直在研究基于视频卫星的目标追踪领域.为了更好地梳理自己的论文学习过程,故采用博客的方式记录下来.接下来我会将此领域一些我觉得典型的有意义的论文,以我自己 ...

  5. CVPR2020行人重识别算法论文解读

    CVPR2020行人重识别算法论文解读 Cross-modalityPersonre-identificationwithShared-SpecificFeatureTransfer 具有特定共享特征变换 ...

  6. 动态环境下的SLAM:DynaSLAM 论文学习笔记

    动态环境下的SLAM:DynaSLAM 论文学习笔记 这篇文章 论文摘要 系统流程 相关环节的实现方法 神经网络检测图中动态物体(Mask R-CNN) Low-Cost Tracking 使用多视图 ...

  7. 计算机视觉算法——Transformer学习笔记

    算机视觉算法--Transformer学习笔记 计算机视觉算法--Transformer学习笔记 1. Vision Transformer 1.1 网络结构 1.2 关键知识点 1.2.1 Self ...

  8. Raft 一致性算法论文译文

    本篇博客为著名的 RAFT 一致性算法论文的中文翻译,论文名为<In search of an Understandable Consensus Algorithm (Extended Vers ...

  9. 单目相机 svd 从图像恢复3维位置_论文学习——VINSMono:一种鲁棒且通用的单目视觉惯性系统...

    点击上方"视觉部落",选择"星标"公众号 精选作品,第一时间送达 文章同步首发于知乎用户yikang专栏 Part 1. 基本信息 本文提出了一种基于紧耦合滑动 ...

最新文章

  1. Hans R. Camenzind发明555定时器的故事
  2. “网工”可以跳越“网管”吗?
  3. Salesforce视图与控制器之间的交互
  4. PortraitFCN算法详解
  5. 用python os.system 执行 批处理的时候, 出现的一些问题
  6. 不服来战!青藤发起“雷火引擎”公测赛 百万赏金寻顶尖白帽
  7. String.raw()方法
  8. 测试思想-测试总结 缺陷分析与统计浅析
  9. Windows工具 - 查看apk信息 - 包名/支持Android版本/支持架构等
  10. 机房重构-panel控件
  11. 六级听力技巧与备考策略
  12. 粗糙集(Rough set) 理论
  13. 普通云硬盘,高性能云硬盘和SSD云硬盘三者之间有什么区别?
  14. 网站容器化升级---各模块分别运行一个容器
  15. 埃尔米特插值及其代码
  16. vue开发web端实现列表左右联动效果
  17. 链路追踪-SkyWalking
  18. 不用mac环境,如何使用Visual Studio在Windows中开发iOS应用
  19. 从安卓巴士到CocoaChina,曾经的顶级流量王者,如今的落寞与淡去
  20. 16届智能车竞赛单车拉力国二经验分享

热门文章

  1. 虚拟时钟(Virtual clock)
  2. 景观照明酒店照明LED筒灯等灯具价格的影响因素
  3. 微信小程序 api+前端实现生成分享海报
  4. MySQL基础之查询语句
  5. 核与线程 CPU 4核8线程 的解释
  6. 2022年全球市场易熔合金总体规模、主要生产商、主要地区、产品和应用细分研究报告
  7. Python简单网页抽奖
  8. 幽默感七个技巧_高潜质人士的七个特征之二:有幽默感
  9. 才睡醒,写完了好久,就在今天发了吧
  10. 获取多达 16GB 的 Dropbox 免费空间!