转自:http://data.qq.com/article?id=817

三、Hermes设计概要

架构描述

系统核心进程均采用分散化设计,根据业务发展需求,可随意扩缩容机器;

周期性数据直接通过tdw处理落地到分布式文件系统; 实时数据加载采用先落地本地磁盘,最终落地到分布式文件系统,最终都由调度进程分发到计算层;

分析引擎设计

基于单个实例数据的分析处理,datasource主要包含两类数据:用户导入的数据(位图文件)以及源数据(索引文件),内核主要根据用户请求逻辑处理索引文件以及位图文件。

内核设计

整个数据对应多份,按照不同规则均匀分布在各个分析实例中,数据的merge服务在其中的一个分片中进行,每次请求将根据机器负载情况选择负载轻的作为merge服务器。

存储设计

通过对数据结构的重新组织,结合分析系统的特点,实现嵌套列存储,充分避开随机读,采用块读取+位图计算大幅度降低耗时弊病,使大数据的统计分析计算耗时缩短至秒级;

在词条文件中采用字典排序,并在此基础上实现前缀压缩;

在序列文件中采用递增排序,并对序列号采用可变长类型,有效压缩存储空间,便于计算位图的构建;

存储格式

存储格式主要包含四类文件

meta文件: 描述表结构,内存文件;

词条文件: 描述各个字段的词条集信息,磁盘文件;

词条索引文件: 词条文件的跳表映射文件,用于加速定位目标词条,内存文件;

序列号文件: 词条出现的序列集,采用可变长类型存储序列号, 每个词条对应的序列号集又包含跳表映射数据块,用于加速具体序列的定位,磁盘文件;

存储分析过程示例

流程设计

四、Hermes应用案例

微信数据门户多维分析 (约370亿)

提供系统各个性能指标数据的实时分析。

信息安全部回溯项目(目前接入约2300亿)

基于全文检索查询、分析、统计并导出相关记录。

结果秒级返回。

五、Hermes性能数据

六、结束语

数据的不断膨胀给数据分析带来了很多挑战,多维分析则是为了解决在数据不断膨胀的情况下数据分析时效性的问题,为数据分析平台提供即席的数据分析支持。

在业务实践的同时,我们仍在不断完善,使Hermes平台支持更多的应用场景,为提高开发人员、营销人员和数据分析人员数据分析效率,从海量的业务数据中挖掘有价值的金矿而努力。

最新文章

  1. MySQL Table is marked as crashed 解决方法
  2. CI框架源码阅读笔记6 扩展钩子 Hook.php
  3. paper 107:图像的白平衡
  4. 纯CSS3制作九款可爱复古相机
  5. C#定制并发送HTML邮件
  6. HTML5塔防游戏——《三国塔防》 - Yorhom's Game Box
  7. 重构3-Pull Up Method(方法上移)
  8. Nginx 反向代理,流量转发到固定内网 IP 方法
  9. c#WebBrowser进阶
  10. swift小结02-基础篇
  11. 乱译文档--Musca介绍
  12. Mac打造python2 python3开发环境
  13. Linux lamp环境编译安装
  14. JAVA-基本知识
  15. DataTimePicker
  16. 读书笔记 effective c++ Item 24 如果函数的所有参数都需要类型转换,将其声明成非成员函数
  17. 【Nginx】使用nginx反向代理IIS实现80端口的解放
  18. spark推测执行的坑
  19. Js中常用知识点(typeof、instanceof、动态属性、变量作用域)
  20. 服务管理之openssh

热门文章

  1. 使用UltraISO为U盘或内存卡制作系统安装工具
  2. INDY9发送tstream
  3. socket阻塞与非阻塞,同步与异步I/O模型
  4. mysql序列号发生器
  5. String空格删除和java删除字符串最后一个字符的几种方法
  6. CTP报单状态 OrderStatus全部状态
  7. ftp的实现
  8. Django-中介模型
  9. muduo::Connector、TcpClient分析
  10. RESTful API 设计原则