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的更多相关文章

  1. 《深度访谈:华为开源数据格式 CarbonData 项目,实现大数据即席查询秒级响应》

    深度访谈:华为开源数据格式 CarbonData 项目,实现大数据即席查询秒级响应   Tina 阅读数:146012016 年 7 月 13 日 19:00   华为宣布开源了 CarbonData ...

  2. 跨年夜问题:一句并不复杂的delete竟然在delete statement处cost飙升,在数据量上升的十万级就像进入了死循环,执行后久久没有结果

    笔者使用的环境: # 类别 版本 1 操作系统 Win10 2 数据库 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bi ...

  3. noSQL数据库相关软件介绍(大数据存储时候,必须使用)

    目前图数据库软件七种较为流行:Neo4J, Infinite Graph, DEX,InfoGrid, HyperGraphDB, Trinity, AllegroGraph(http://tech. ...

  4. MaxCompute 最新特性介绍 | 2019大数据技术公开课第三季

    摘要:距离上一次MaxCompute新功能的线上发布已经过去了大约一个季度的时间,而在这一段时间里,MaxCompute不断地在增加新的功能和特性,比如参数化视图.UDF支持动态参数.支持分区裁剪.生 ...

  5. 【转载】linux环境下大数据网站搬家

    这里说的大数据是指你的网站数据库大小至少超过了500M,当然只有50M的网站也同样可以用这样的方法来轻松安全的实现网站搬家,前提是你使用的是linux环境下的VPS或者独立服务器. 我们假设你的网站域 ...

  6. windows下大数据开发环境搭建(1)——Java环境搭建

    一.Java 8下载 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载之后 ...

  7. windows下大数据开发环境搭建(2)——Hadoop环境搭建

    一.所需环境 ·Java 8 二.Hadoop下载 http://hadoop.apache.org/releases.html 三.配置环境变量 HADOOP_HOME: C:\hadoop- Pa ...

  8. windows下大数据开发环境搭建(4)——Spark环境搭建

    一.所需环境 · Java 8 · Python 2.6+ · Scala · Hadoop 2.7+ 二.Spark下载与解压 http://spark.apache.org/downloads.h ...

  9. windows下大数据开发环境搭建(3)——Scala环境搭建

    一.所需环境 ·Java 8   二.下载Scala https://www.scala-lang.org/download/ 三.配置环境变量 SCALA_HOME: C:\scala Path: ...

随机推荐

  1. SecureCRT 中文乱码问题

    1.修改远程linux机器的配置 [root@rhel ~]#vi /etc/sysconfig/i18n 把LANG改成支持UTF-8的字符集 如: LANG=”zh_CN.UTF-8″ 或者是 L ...

  2. Codeforces Round #215 (Div. 1)

    A Sereja and Algorithm 题意:给定有x,y,z组成的字符串,每次询问某一段s[l, r]能否变成变成zyxzyx的循环体. 分析: 分析每一段x,y,z数目是否满足构成循环体,当 ...

  3. OpenSSH for Windows,CopSSH

    https://www.oschina.net/p/openssh+for+windows https://www.oschina.net/p/copssh

  4. C#中的OLEDB连接2

    在通过ADO对Excel对象进行连接时(此时Excel则认为是一个数据源),需要配置对Excel数据源对应的连接串,这个连接串中包括了Provider信息(其实类似对数据库进行连接操作时,都需要指定连 ...

  5. 【HDOJ】1088 Write a simple HTML Browser

    题目其实不难,但是要注意题目的要求,当前字数(>0)+当前单词长度+1若超过80则需要回车后,输出当前word,并且重新计数.这道题目的数据感觉比较水,不过测试的时候,最后使用fprintf输出 ...

  6. .NET(C#)调用webService获取客户端IP地址所属区域(非异步)

    功能描述: 此接口用于获取客户端访问的IP的地址所属的区域(国家,城市等).通过输入IP地址查询国家.城市.所有者等信息.没有注明国家的为中国输入参数:IP地址(自动替换 " ." ...

  7. BZOJ_1821_[JSOI2010]_部落划分_(贪心,并查集)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1821 给出n个点的坐标,将n个点划分成k个部分,使得每个部分之间最小的距离最大. 分析 每两个 ...

  8. 手机端的mousedown

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. 【转】Ubuntu安装基础教程

    原文网址:http://teliute.org/linux/Ubsetup/lesson23/lesson23.html 二十三.安装Ubuntu14.04 返回目录 下一课 14.04 版安装与前面 ...

  10. HDU5653 Bomber Man wants to bomb an Array 简单DP

    题意:bc 77 div1 1003(中文题面) 分析:先不考虑将结果乘以 1e6. 设 dp[i] 为从前 i 个格子的状态可以获得的最大破坏指数. 那么我们可以枚举每个炸弹,该炸弹向左延伸的距离和 ...