查礼 -大数据技术如何用于传统信息系统

46
大数据技术如何应用亍 传统信息系统 查礼([email protected]大数据管理系统部 网络数据科学与工程重点实验室 中科院计算所 2013.12.06

Upload: hdhappy001

Post on 25-May-2015

885 views

Category:

Technology


0 download

DESCRIPTION

BDTC 2013 Beijing China

TRANSCRIPT

Page 1: 查礼 -大数据技术如何用于传统信息系统

大数据技术如何应用亍 传统信息系统

查礼([email protected]) 大数据管理系统部

网络数据科学与工程重点实验室 中科院计算所 2013.12.06

Page 2: 查礼 -大数据技术如何用于传统信息系统

提纲

大数据技术研究背景和问题

开源软件Apache Hadoop

大数据处理系统关键技术

大数据技术从互联网走向传统应用

Page 3: 查礼 -大数据技术如何用于传统信息系统

背景:大规模数据计算

通信、网络、存储、传感器等电子信息技术飞速发展导致数据规模极大增加 – Big Data

传统的存储并处理这些数据的技术手段遇到瓶颈

One node Scanning@50MB/s = 35,000 min

1000 node Scanning@50MB/s=35 min

Search Engine Data Warehousing Log Processing/User Behavior Analyzing

Processing 100TB datasets

Online/Realtime/Streaming Data Analysis

数据为王

Page 4: 查礼 -大数据技术如何用于传统信息系统

背景 – 大数据的大问题

来源:IDC Digital Universe Study, May 2010

2020年:

60%以上的创造数据将因无法存储而丢失。

2020年:

数据量将达到35ZB,较2009年增大44倍

• Facebook用户每天上传3亿张照片,超过500TB的数据增长量,100PB单集群存储容量

• Google索引的在线数据2002年是5EB,到2009年增长到280EB

• 淘宝网注册用户达到3.7亿,在线商品数达到9亿,14PB海量数据存储

数据爆炸对数据存储不处理效能提出了挑战!

Page 5: 查礼 -大数据技术如何用于传统信息系统

背景 – 大数据的大问题

来源:IDC Digital Universe Study, May 2010

2020年:

60%以上的创造数据将因无法存储而丢失。

2020年:

数据量将达到35ZB,较2009年增大44倍

• Facebook用户每天上传3亿张照片,超过500TB的数据增长量,100PB单集群存储容量

• Google索引的在线数据2002年是5EB,到2009年增长到280EB

• 淘宝网注册用户达到3.7亿,在线商品数达到9亿,14PB海量数据存储

数据爆炸对数据存储不处理效能提出了挑战!

• 高速发展的数据型互联网企业需要连续的系统扩展能力

数据快速增长不数据中心扩容周期缓慢的矛盾

• 如何维持低成本曲线和高性能曲线是现实问题

数据业务深度的丌断加强和数据处理性能现状的矛盾

Page 6: 查礼 -大数据技术如何用于传统信息系统

背景:解决大数据问题的思路

Page 7: 查礼 -大数据技术如何用于传统信息系统

背景:解决大数据问题的思路

海量数据存储

海量数据计算

Page 8: 查礼 -大数据技术如何用于传统信息系统

提纲

大数据研究背景和问题

开源软件Apache Hadoop

大数据处理系统关键技术

大数据技术从互联网走向传统应用

Page 9: 查礼 -大数据技术如何用于传统信息系统

Hadoop

Apache Nutch, 2002

NDFS + MapReduce, 2004

Hadoop, 2006

Apache Hadoop, 2008

http://hadoop.apache.org/

Book:

http://oreilly.com/catalog/9780596521998/index.html

Clone of Google’s GFS and

MapReduce

• Can process large scale Web pages

Doug Cutting,Apache软件基金会主席

Written in Java

• Does work with other languages

Runs on

• Linux, Windows and more

• Commodity hardware with high

failure rate

Page 10: 查礼 -大数据技术如何用于传统信息系统

Hadoop is the most successful open source software after Linux.

Hadoop 组成部分

Page 11: 查礼 -大数据技术如何用于传统信息系统

HDFS

MapReduce

HBase Hive

Hadoop is the most successful open source software after Linux.

Hadoop 组成部分

Page 12: 查礼 -大数据技术如何用于传统信息系统

HDFS

MapReduce

HBase Hive

Hadoop is the most successful open source software after Linux.

Hadoop 组成部分

Page 13: 查礼 -大数据技术如何用于传统信息系统

Hadoop HDFS体系结构 规模:10K nodes, 100 million files, 10 PB

特性:适合数据批处理;最大化吞吐率;允许计算向数据迁移

优化:数据块副本、数据块放置策略、缓存策略等

Sanjay Ghemawat, et. al., The Google File System, SOSP’03

Page 14: 查礼 -大数据技术如何用于传统信息系统

Hadoop MapReduce处理流程

Dean & Ghemawat: “MapReduce: Simplified Data Processing on Large Clusters”, OSDI 2004

Page 15: 查礼 -大数据技术如何用于传统信息系统

提纲

大数据研究背景和问题

开源软件Apache Hadoop

大数据处理系统关键技术

大数据技术从互联网走向传统应用

Page 16: 查礼 -大数据技术如何用于传统信息系统

16 16

原始关系表

行式存储结构(Apache Hive,SequenceFile)

列式存储结构(Apache Pig,Zebra)

行列混合式存储结构 (RCFile)

关系数据按行序运行时重建

Job Schedule

Task Launch

Task Launch

Task Launch

Row

Construction

Row

Construction

Row

Construction

Read Data from

Distributed File

System

Subsequent

Processing

Subsequent

Processing

Subsequent

Processing

Job launch Row Reconstruction

Parallel Tasks

……

……

行列混合式数据存储技术RCFile RCFile将关系数据水平分块,块内按列序存储,实现文件

级逻辑结构优化

Page 17: 查礼 -大数据技术如何用于传统信息系统
Page 18: 查礼 -大数据技术如何用于传统信息系统

18

互补式聚簇索引技术CCIndex CCIndex利用冗余的副本数据块为多数据列构建聚簇索引,不增加额外存储空间

,实现数据块级布局结构优化以及分布式实时查询统计能力

CCIndex保持了BigTable数据模型高可扩展和高吞吐率特性,同时具有关系数据模型的查询统计能力

CCIndex将二级索引变为一级索引,丌访问原表直接进行区间查询和统计

以CCIndex为核心的系统支持多维区间实时查询统计 示例:select count(cl1) from TAB where cl1<A and cl2>B

Page 19: 查礼 -大数据技术如何用于传统信息系统
Page 20: 查礼 -大数据技术如何用于传统信息系统

RCFile技术性能优势和应用情况 •Compared with SequenceFile, which was

the default row store technology in

Apache Hive, RCFile can achieve up to

20% space savings without affecting

query performance.

•Compared with column group technology

used in Apache Pig, which is another big

data analysis system, RCFile’s data

loading is 23% faster as far as the disk

space utilization ratio is almost equal.

•Obviously, RCFile has become the de

facto standard of data storage structure

inside distributed offline data analysis

systems such as Apache Hive.

Page 21: 查礼 -大数据技术如何用于传统信息系统

CCIndex技术性能优势和应用情况

采用CCIndex后,在硬件规模保持丌变的前提下,系统处理的数据时效范围从原来的7天增大到3个月,处理的数据规模增大了一个数量级,系统吞吐率增大了7倍,对原来延迟大于1s的查询请求响应时间平均降低了57.4%。

CCIndex技术可以解决诸如HBase等当前主流的列簇式NoSQL数据库在多列查询上的功能缺失和性能低下的问题。

Page 22: 查礼 -大数据技术如何用于传统信息系统

技术指标 本项目 国际领先系统

数据存储空间占用 RCFile比行存储节省约20%空间

Apache Hive

(SequenceFile)

数据加载性能 RCFile比列存储加载快23%以上

Apache Pig

(Zebra)

在线查询分析性能 CCIndex是二级索引技术的11.4倍

Apache HBase

(IndexTable)

不国外同类技术比较

Page 23: 查礼 -大数据技术如何用于传统信息系统

技术指标 本项目 国际领先系统

数据存储空间占用 RCFile比行存储节省约20%空间

Apache Hive

(SequenceFile)

数据加载性能 RCFile比列存储加载快23%以上

Apache Pig

(Zebra)

在线查询分析性能 CCIndex是二级索引技术的11.4倍

Apache HBase

(IndexTable)

实现PB级数据离线分析处理和百亿记录级数据实时查询分析,成为国际事实标准

不国外同类技术比较

Page 24: 查礼 -大数据技术如何用于传统信息系统

24

自劢将文件分割成多个固定大小的数据块,每个数据块单独压缩

每一个文件由一个压缩文件和索引文件构成

可应用于Hadoop平台上的文件系统

在不影响其它文件系统的情况下,以动态、透明的方式给文件系统添加压缩功能

用户透明的HDFS数据压缩解压缩-SwiftFS

Page 25: 查礼 -大数据技术如何用于传统信息系统

丌同压缩解压缩算法的性能对比

客户端数

写吞吐率(MB/s) Vs.

最高

Vs.

最低 none hdw ac snappy quicklz zlib SwiftFS

1 98 137 144 75 46 161 0% 250%

2 97 267 227 144 87 247 7% 184%

4 98 313 322 263 158 326 0% 106%

8 97 326 335 402 299 451 0% 51%

16 97 312 330 401 445 475 0% 52%

32 95 312 317 404 511 562 0% 80%

64 95 306 314 375 518 583 0% 91%

128 90 259 296 332 547 589 0% 127%

256 94 223 252 302 500 583 0% 161%

Page 26: 查礼 -大数据技术如何用于传统信息系统

提纲

大数据研究背景和问题

开源软件Apache Hadoop

大数据管理系统关键技术

大数据技术从互联网走向传统应用

Page 27: 查礼 -大数据技术如何用于传统信息系统

淘宝数据魔方应用

Page 28: 查礼 -大数据技术如何用于传统信息系统
Page 29: 查礼 -大数据技术如何用于传统信息系统
Page 30: 查礼 -大数据技术如何用于传统信息系统

淘宝数据魔方 – 全属性实时计算

数据装载

云梯

HBase HBase HBase ……

全网交易数据 张轩丞(朋春),淘宝海量数据产品的技术架构, iD

ata

Fo

rum

20

11

Page 31: 查礼 -大数据技术如何用于传统信息系统

淘宝数据魔方 – 全属性实时计算

数据装载

云梯

HBase HBase HBase …… 索引:交易id列表

属性对

交易1(二进制,定长)

交易2

全网交易数据

数据查询

张轩丞(朋春),淘宝海量数据产品的技术架构, iD

ata

Fo

rum

20

11

节点1 1, 2, 3, 4, 5, 6, 7, 8, 9

节点2 1, 2, 3, 4, 5, 6, 7

查索引

求交集

节点2 1, 2, 4, 6, 7

本地SUM运算(HBase扩展)

汇总计算

写入缓存

求SUM(alipay)

属性 属性值

笔记本尺寸 13寸

笔记本定位 商务定位

Page 32: 查礼 -大数据技术如何用于传统信息系统

取原系统查询日志(10天),所有查询按原系统的响应时间分为三类统计平均响应时间;

测试前清空cache;

测试时新库中有25天数据,200G左右;

可查询时间从7天拓展到至少30天。

采用CCIndex后新旧系统性能对比

Page 33: 查礼 -大数据技术如何用于传统信息系统

分析系统后台

支持全表统计

服务端统计速度 15~50W R/S/Server or 400W R/S/Server。

支持sum、avg、count、group by、sort

select 算子( F:C) where 条件 group by(F:C), sort by(F:C)查询。

条件 [F:C>|<(rang)]and|or[F:C>|<(rang)]

Page 34: 查礼 -大数据技术如何用于传统信息系统

银行:冠字号查询

IP 配置

172.16.5.50 2*Intel Xeon E5-2650 8核/2.00GHZ 64GB内存 52TB

172.16.5.51 2*Intel Xeon E5-2650 8核/2.00GHZ 64GB内存 52TB

172.16.5.52 2*Intel Xeon E5-2650 8核/2.00GHZ 64GB内存 52TB

172.16.5.53 2*Intel Xeon E5-2650 8核/2.00GHZ 64GB内存 52TB

网络 6G网络

数据规则 按照冠字信息数据模拟

测试记录数 81亿

测试文件大小 610G

导入后大小 2.4T

索引后大小 4.7T

测试并发数 200

查询模式 单项查询、组合查询

数据量 查询并发(查询内容) 平均完成耗时

(ms) 最快完成耗时

(ms) 最慢完成耗时

(ms)

81亿 200(地区号单项) 834 11 1665

81亿 200(网点号单项) 816 17 1609

81亿 200(错误码单项) 604 2 1390

81亿 200(冠字号码单项) 1149 3 2069

81亿 200(等于某个地区号+等于某个错误码+等于某个种类,

单条) 924 15 1779

81亿 200(等于某个地区号+等于某个错误码+等于某个种类,

100条) 1763 320 3939

81亿 200(等于某个地区号+小于某个错误码+等于某个种类,

单条) 887 19 1740

81亿 200(等于某个地区号+小于某个错误码+等于某个种类,

100条) 2077 66 4625

查询性能

测试结论: 在并发200的情况下,依然能够提供秒级的数据访问效率,可以预见完全能够满足冠字信息查询的性能需求。

测试环境

Page 35: 查礼 -大数据技术如何用于传统信息系统

互联网应用不传统信息系统应用的区别

互联网应用

自行开发系统、快速迭代,持续交付,持续维护

直接到达客户端,对接Mass用户

业务逡辑简单,Straightforward,一致性要求较低

系统内部模块间可以无标准(REST),性能/用户体验至上(KISS)

传统信息系统

多方开发,依赖集成商,基于版本交付和维护

Vendor对接集成商,集成商对接最终用户

业务逡辑复杂,系统要求稳定可靠,安全性要求较高

系统模块间依靠工业标准耦合,如应用逡辑和数据库系统通过SQL耦合

Page 36: 查礼 -大数据技术如何用于传统信息系统

源于互联网的大数据技术特征

分布式计算系统,用软件代替硬件保证系统可靠(HDFS、ZooKeeper)

面向超大规模机群(千台服务器以上);超大规模存储(百PB级);高通量(几十GB/秒);高并发(数万请求/秒)

简化丌必要的功能(运维、管控、安全等)

编程模型、语言多样化(MapReduce、Job/Task/Instance、Pig Latin、SQL/HiQL、Script、Jason/PB、Java/C/C++)

以Apache Hadoop为例

Page 37: 查礼 -大数据技术如何用于传统信息系统

解决之道

标准化

可控可管化

小型化

软硬一体化

生态化 优先级低

优先级高

Page 38: 查礼 -大数据技术如何用于传统信息系统

天玑Base(ICTBase) 极高的性能,高通量数据存取,分布实时分析计算,TB级数据支持,百

倍优于传统关系型数据库。

软硬一体。通过定制硬件服务器和定制加速卡最大限度地提高资源利用率,增强系统性能,节能环保高密度一体机机架空间占用量为普通服务器的25%,耗电量为普通服务器的40% 。

数据接入简单,提供JDBC、ETL等通用数据接口,应用对接远优于新兴的NoSQL数据库,多种管理套件应用维护简单。

技术特色

Page 39: 查礼 -大数据技术如何用于传统信息系统

ICTBase对开源软件的功能和性能增强

Muti-connection

Aggregation and Indexing

Authentication

and QoS

multi-tenancy

De/Compression

HA

Fine grain Load Balance

Bulkload

Parallel flush and compact

Block Balance

JDBC

Monitor and Auto Recovery

Hardware accelerator

Page 40: 查礼 -大数据技术如何用于传统信息系统

ICTBase运维/管理/控制系统

访控与权限

机群节点监控

安装与部署

系统启停

控制节点监控 数据节点监控 批式任务运行监控

Page 41: 查礼 -大数据技术如何用于传统信息系统

ICTBase数据及表管理 数据导入、索引构建及SQL语言查询

Page 42: 查礼 -大数据技术如何用于传统信息系统

ICTBase表级数据管理功能

表结构、多维索引、数据分布、表

权限、用户管理等

Page 43: 查礼 -大数据技术如何用于传统信息系统

部分ICTBase的用户证明

Page 44: 查礼 -大数据技术如何用于传统信息系统

总结(Take Away Message)

数据计算技术的(规模)大、(计算)快、(检索)准的发展态势;

数据规模对传统RDBMS技术提出了挑战;NoSQL技术是对RDBMS技术的补充,是实际需求导致的结果;

Hadoop这样的大数据技术源于互联网应用,需求和游戏规则的丌同导致必须经过改造才能适用于传统信息系统应用。

Page 45: 查礼 -大数据技术如何用于传统信息系统

中国大数据技术大会(原Hadoop in China)

2008~2013,近3年参会人数超1千人。已成为大数据领域的国内最重要技术会议,推动了国内Hadoop开源社区发展及生态环境建设

Page 46: 查礼 -大数据技术如何用于传统信息系统