腾讯Hermes设计概要——数据分析用的是列存储,词典文件前缀压缩,倒排文件递增id、变长压缩、依然是跳表-本质是lucene啊

简介:

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

三、Hermes设计概要

架构描述

 

6

 

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

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

分析引擎设计

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

 

7

 

内核设计

 

8

 

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

存储设计

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

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

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

存储格式

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

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

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

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

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

 

9

 

存储分析过程示例

 

1011流程设计

 

12

 

       

四、Hermes应用案例

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

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

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

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

        结果秒级返回。

五、Hermes性能数据

pic

 

六、结束语

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

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
















本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6485093.html,如需转载请自行联系原作者


相关文章
|
数据挖掘 Python
【Python】数据分析:结构化数分工具 Pandas | Series 与 DataFrame | 读取CSV文件数据
【Python】数据分析:结构化数分工具 Pandas | Series 与 DataFrame | 读取CSV文件数据
84 1
|
7月前
|
数据采集 数据挖掘 数据处理
Python数据分析实战:使用Pandas处理Excel文件
Python数据分析实战:使用Pandas处理Excel文件
245 0
|
数据挖掘 开发工具
Excle数据分析:按照筛选条件将表格分割成多个文件的VBA解决方案
Excle数据分析:按照筛选条件将表格分割成多个文件的VBA解决方案
158 0
|
数据采集 人工智能 数据可视化
ChatGPT4 Plus只需上传一个文件,自动进行数据分析,数据遇上Ai会碰撞出什么火花?
ChatGPT4 Plus只需上传一个文件,自动进行数据分析,数据遇上Ai会碰撞出什么火花?
|
数据可视化 数据挖掘 数据处理
|
数据挖掘 数据处理 数据库
案例分享:Qt数据分析处理平台(兼容各国产麒麟系统)(文件域字符串解析,上万文件批量导入,折线图、散点图,正态分布图分析处理导出等)
案例分享:Qt数据分析处理平台(兼容各国产麒麟系统)(文件域字符串解析,上万文件批量导入,折线图、散点图,正态分布图分析处理导出等)
案例分享:Qt数据分析处理平台(兼容各国产麒麟系统)(文件域字符串解析,上万文件批量导入,折线图、散点图,正态分布图分析处理导出等)
|
JSON 数据挖掘 数据格式
Dremio案例_本地Json文件数据分析
1.说明 Dremio支持本地的Execl文件、Json和Text的数据分析,该案例将以本地Json文件为例,通过Dremio进行数据分析 2.上传Json文件 a).选择文件 b).预览保存 3.
2360 0
|
数据可视化 数据挖掘 数据库连接
Dremio案例_HDFS文件数据分析
1.上传数据文件 ## put execl to hdfs hdfs dfs -put test.xlxs /home/bigdata/dremio/ 2.配置HDFS数据源 a).选择 b).配置 c).
2845 0
|
存储 数据挖掘 网络架构
《利用Python进行数据分析·第2版》第3章 Python的数据结构、函数和文件
第1章 准备工作第2章 Python语法基础,IPython和Jupyter 第3章 Python的数据结构、函数和文件第4章 NumPy基础:数组和矢量计算第5章 pandas入门第6章 数据加载、存储与文件格式第7章 数据清洗和准备第8章 数据规整:聚合、合并和重塑第9章 绘图和可视化第10章 数据聚合与分组运算第11章 时间序列第12章 pandas高级应用第13章 Python建模库介绍第14章 数据分析案例附录A NumPy高级应用附录B 更多关于IPython的内容(完) 本章讨论Python的内置功能,这些功能本书会用到很多。
1330 0
|
数据挖掘 索引 Python
Python数据分析之读取文件
Python的数据分析,大部分的教程都是想讲numpy,再讲Dataframe,再讲读取文件。但我看书的时候,前面二章看的实在头晕,所以,我们还是通过读取文件来开始我们的Python数据分析吧。
1171 0