百亿级别数据量,又需要秒级响应的案例,需要什么系统支持呢?下面介绍下大数据实时分析工具Yonghong Z-Suite
Yonghong Z-Suite
除了提供优秀的前端BI工具之外,Yonghong Z-Suite让用户可以选购分布式数据集市来支持实时大数据分析。
对于这种百亿级的大数据案例,Yonghong Z-Suite有哪些技术可以保证大数据的实时响应呢?下面大致从技术上介绍下:
库内计算(In-Database Computing)
Z-Suite支持各种常见的汇总,还支持几乎全部的专业统计函数。得益于库内计算技术,Z-Suite数据分析引擎将找寻出最优化的计算方案,继而把所有开销较大的、昂贵的计算都移动到数据存储的地方直接计算,称之为库内计算(In-Database)。这一技术大大减少了数据移动,降低了通讯负担,保证了高性能数据分析。
2. 并行计算(MPP Computing)
Z-Suite是基于MPP架构的商业智能平台,她能够把计算分布到多个计算节点,再在指定节点将计算结果汇总输出。Z-Suite能够充分利用各种计算和存储资源,不管是服务器还是普通的PC,她对网络条件也没有严苛的要求。作为横向扩展的大数据平台,Z-Suite能够充分发挥各个节点的计算能力,轻松实现针对TB/PB级数据分析的秒级响应。
3. 列存储 (Column-Based)
Z-Suite是列存储的。基于列存储的数据集市,不读取无关数据,能降低读写开销,同时提高I/O 的效率,从而大大提高查询性能。另外,列存储能够更好地压缩数据,一般压缩比在5 -10倍之间,这样一来,数据占有空间降低到传统存储的1/5到1/10 。良好的数据压缩技术,节省了存储设备和内存的开销,却大大了提升计算性能。
4. 内存计算
得益于列存储技术和并行计算技术,Z-Suite能够大大压缩数据,并同时利用多个节点的计算能力和内存容量。一般地,内存访问速度比磁盘访问速度要快几百倍甚至上千倍。通过内存计算,CPU直接从内存而非磁盘上读取数据并对数据进行计算。内存计算是对传统数据处理方式的一种加速,是实现大数据分析的关键应用技术。
通过结合多种Yonghong自有的专利技术,在几个节点下,Yonghong Z-Suite就能担负起几十亿,乃至上百亿数据量的实时分析和展现。
Yonghong Z-Suite相对Hadoop有哪些不足呢?Hadoop能支撑PB级大数据,数千节点的大规模集群。对于Yonghong Z-Suite这种实时大数据分析系统,一般支撑TB~PB级的大数据,节点数一般不超过100。
以下分享一个Yonghong Z-Suite的真实案例:中国移动省分公司数据流量与监控系统
2013年5月,Yonghong收到一个电话线索,客户需要支持几十亿数据量的实时查询与分析,包括数据抓取和存储,让我们先出报价。在实时大数据分析领域,Yonghong的产品和服务是很有竞争力的。不过,当客户拿到我们的报价后,还是觉得比他们的预算贵一些,决定自己招聘Hadoop团队,实施该系统……
半个月后,客户打来第二个电话,明确表示Hadoop未能满足需求,决定接受我们的报价,并愿意预付一半的费用。客户要求我们不仅出产品,还要负责实施……于是乎,开工!
项目价值
CMNET网间流量分析与监控系统(简称流控系统),是中国移动省分公司的一个项目。项目要求能基于时间、地区、运营商、业务、App、IP分组、域名等维度对全省的上网流量进行实时分析和报告。这些分析报告能给客户带来如下好处:
1. 实现对接入链路和基站的全程监控。例如,一旦来自某链路或基站的流量很低,可及时对链路和基站进行检修,这将大大降低故障率。
2. 由于具备了对链路和基站进行全程监控的能力,客户可以对链路和基站的带宽进行动态调整,基于需求进行合理的资源配置。
3. 覆盖全省的全量数据,能提供基于业务/地域/App/行业/域名等维度的数据分析报告,具备100%的可信度和极高的商业价值。
数据流向
上网数据从硬件设备中抓取出来,形成压缩的日志文件存储在服务器上,服务器每五分钟生成新的日志文件。该服务器提供FTP访问。
Yonghong承担的流控系统,将通过FTP每五分钟访问一次日志文件服务器,将新生成的压缩日志文件抽取出来。这是一个典型的、增量更新的ETL过程,如下:
1. Extract: 定期抽取的日志文件并解压缩。
2. Transform: 解析出上网信息,同MySQL的维度表进行关联,生成包括业务/地域/App/行业/域名等维度的宽表。
3. Load: 将数据装载入Yonghong 分布式集市。
初期验证(POC)
中国移动的日志数据分G类和A类,各取几块样本日志文件,验证数据流向的可行性以及性能。
我们很快完成了ETL的整个过程,宽表数据被成功地装载入Yonghong 分布式集市。
性能上,我们按照用户提出的每天数据量5000万条增量,计算出支持100天50亿数据量的分布式集群所需的磁盘空间、内存总量、和CPU总量。由于客户一再强调预算有限,于是配置了6台低配PC server:1cpu x 4core,32G内存,1T硬盘。
我们模拟了常用的用户场景,整个系统的响应能力基本满足需求。系统架构如下:

正式实施
中国移动省分公司的上网数据在内网,一般不提供外网连接,需要严格申请之后才能在一定时间内提供外网连接。因而,我们先把整个系统的ETL工作开发完成之后,才正式申请了外网连接进行数据装载。
从开始进行上网数据的ETL工作,我们就发现数据量与预期严重不符。预期的上网数据是每天不超过5000万条,但实际上每天的上网数据在6亿条以上,100天保存的数据量将会达到惊人的六百亿条。6台低配PC server有点小马拉大车的感觉,完全达不到“海量数据、实时分析”的设计目标。我们赶紧联系客户,确定上网数据每天6亿条以上,而不是之前预估的每天5000万条左右。怎么办?
系统重构
经过与客户的详细沟通和理性分析,大家一致决定进行系统重构。
上网数据的日志文件是5分钟粒度的。我们将上网数据按照分析需求分为两类:
1. 细节数据:保留三天的细节数据(5分钟粒度),共约20亿条。这样,由于保留了细节数据,客户可以对近三天的上网数据进行任意的探索式BI分析。
2. 汇总数据:在认真研究了流控系统的分析报告需求之后,我们将五分钟的细节数据汇总为两小时的汇总数据。这样数据量可以降到约为原来的1/10,100天的数据总量大约60亿条。
重构之后的数据流如下:

后期,我们陆续进行了一些系统调优,包括JVM调优、存储调优、计算调优等等。客户打开一个Dashboard的响应时间基本控制在秒级,最极端的分析报告也能在一分钟之内生成。基本实现了“海量数据、实时分析”:
1. 系统定期推送日报、周报和月报。
2. 系统支持探索式BI分析。多数分析请求达到了秒级响应。
案例总结
1. 项目的数据量非常大,100天超过600亿条日志;
2. 项目的预算非常有限,采购了6台低端PC Server。硬件投入不大,软件性价比也很高;
3. ETL过程难度较高,随着降维的需求加入,BI层难度也相应提高;
4. 为达到秒级响应,以支持探索式BI的交互式分析,对系统进行了多个层面的优化。
这个系统的成功实施和上线,完美诠释了Yonghong的大数据之道:大数据,小投入。
百亿级别数据量,又需要秒级响应的案例,需要什么系统支持呢?下面介绍下大数据实时分析工具Yonghong Z-Suite的更多相关文章
- 《深度访谈:华为开源数据格式 CarbonData 项目,实现大数据即席查询秒级响应》
深度访谈:华为开源数据格式 CarbonData 项目,实现大数据即席查询秒级响应 Tina 阅读数:146012016 年 7 月 13 日 19:00 华为宣布开源了 CarbonData ...
- 跨年夜问题:一句并不复杂的delete竟然在delete statement处cost飙升,在数据量上升的十万级就像进入了死循环,执行后久久没有结果
笔者使用的环境: # 类别 版本 1 操作系统 Win10 2 数据库 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bi ...
- noSQL数据库相关软件介绍(大数据存储时候,必须使用)
目前图数据库软件七种较为流行:Neo4J, Infinite Graph, DEX,InfoGrid, HyperGraphDB, Trinity, AllegroGraph(http://tech. ...
- MaxCompute 最新特性介绍 | 2019大数据技术公开课第三季
摘要:距离上一次MaxCompute新功能的线上发布已经过去了大约一个季度的时间,而在这一段时间里,MaxCompute不断地在增加新的功能和特性,比如参数化视图.UDF支持动态参数.支持分区裁剪.生 ...
- 【转载】linux环境下大数据网站搬家
这里说的大数据是指你的网站数据库大小至少超过了500M,当然只有50M的网站也同样可以用这样的方法来轻松安全的实现网站搬家,前提是你使用的是linux环境下的VPS或者独立服务器. 我们假设你的网站域 ...
- windows下大数据开发环境搭建(1)——Java环境搭建
一.Java 8下载 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载之后 ...
- windows下大数据开发环境搭建(2)——Hadoop环境搭建
一.所需环境 ·Java 8 二.Hadoop下载 http://hadoop.apache.org/releases.html 三.配置环境变量 HADOOP_HOME: C:\hadoop- Pa ...
- windows下大数据开发环境搭建(4)——Spark环境搭建
一.所需环境 · Java 8 · Python 2.6+ · Scala · Hadoop 2.7+ 二.Spark下载与解压 http://spark.apache.org/downloads.h ...
- windows下大数据开发环境搭建(3)——Scala环境搭建
一.所需环境 ·Java 8 二.下载Scala https://www.scala-lang.org/download/ 三.配置环境变量 SCALA_HOME: C:\scala Path: ...
随机推荐
- WCF 服务器已拒绝客户端凭据
将 WCF 服务器和客户端分别部署到不同机器上,可能会触发如下异常. 未处理 System.ServiceModel.Security.SecurityNegotiationException M ...
- ORMBase对象/关系型数据库映射在MVC中的应用(二)
3.DataBase基类,查询方法返回值是List<T>,并且是分页的,ThePart.dll版本2.0中封装了一个PageInfo类,作为分页的类型.这种方法很机械,也很狗血..建议大家 ...
- jsp接收相同复合参数 request.getParameterValues()用法
在网站中往往需要用户选择复选框,此时需要创建多个复选框让用户进行选择: <head> <meta http-equiv="Content-Type" conten ...
- UVA 11090 Going in Cycle!!
要求给定的图的中平均权值最小的环,注意处理自环的情况就能过了. 按照w1+w2+w3+….wn < n*ave的不等式,也就是(w1-ave) + (w2-ave) +…..(wn-ave) & ...
- Android ListView(Selector 背景图片 全选 Checkbox等按钮)
list_item.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xm ...
- QReadWriteLock 读写锁的区别
QReadWriteLock 这个允许多个进程同时读,但是只有一个写.而且写读不能同时进行. 文档里语焉不详,这是我自己的理解: lockForWrite 为写而锁,就是要修改数据,外人连想进来读数据 ...
- Context 之我见
Context这个单词在程序开发中屡见不鲜,我记得以前在博客中写过一些关于这个词语的自我解释,但是我这个人有一个毛病就是健忘,如果不将自己的想法写下,不出十分钟,就被我抛到九霄云外. 真我现在还有点想 ...
- BZOJ_1612_[Usaco2008_Jan]_Cow_Contest_奶牛的比赛_(dfs)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1612 \(n\)头奶牛比赛,给出一些胜负情况,问可以确定多少头奶牛的排名. 分析 无论胜负,只 ...
- CH Round #17 舞动的夜晚
舞动的夜晚 CH Round #17 描述 L公司和H公司举办了一次联谊晚会.晚会上,L公司的N位员工和H公司的M位员工打算进行一场交际舞.在这些领导中,一些L公司的员工和H公司的员工之间是互相认识的 ...
- c语言实用功能库函数#include<stdlib.h>
实用函数<stdlib.h> 在头文件<stdlib.h>中说明了用于数值转换.内存分配以及具有其他相似任务的函数. 1 atof #include <stdlib.h& ...