44
1 列列列列列 + CEP = 列列列列列列列列 列列列列Sybase China

列式数据库 + CEP = 完美分析系统

  • Upload
    elvina

  • View
    291

  • Download
    0

Embed Size (px)

DESCRIPTION

列式数据库 + CEP = 完美分析系统. 卢东明 技术总监, Sybase China. 议题. Sybase 列式数据库及其新发展 新解决方案 Sybase CEP 和 RAP. Sybase 的过去 10 年股票表现. 传统行式数据库. 内存数据库. 列式数据库. 更大量数据的分析. 更多事务处理. OLTP 交易业务. OLAP 分析系统. 数据库市场的细分格局. IDC 评论“第三代数据库技术”. - PowerPoint PPT Presentation

Citation preview

Page 1: 列式数据库 + CEP =       完美分析系统

1

列式数据库+   CEP

= 完美分析系统

卢东明

技术总监, Sybase China

Page 2: 列式数据库 + CEP =       完美分析系统

2

议题

▌Sybase 列式数据库及其新发展▌新解决方案

Sybase CEP 和 RAP

Page 3: 列式数据库 + CEP =       完美分析系统

3

Sybase 的过去 10 年股票表现

Page 4: 列式数据库 + CEP =       完美分析系统

4

数据库市场的细分格局

OLTP 交易业务

OLAP 分析系统

传统行式数据库内存数据库

更多事务处理

列式数据库

更大量数据的分析

Page 5: 列式数据库 + CEP =       完美分析系统

5

IDC Finds That a Third Generation of Database Technology Along with Vendors Are Shaking Up the Market 

12 Feb 2010 FRAMINGHAM, Mass., February 12, 2010 –.For database administrators (DBAs) and those who select and manage database management system (DBMS) technology that is based on conventional row-oriented, disk-based systems that drive queries in a linear fashion, a new generation of DBMS technology is sending a simple, clear message - 'Everything you know is wrong'.Recent IDC research shows that at the current rate of development and adoption, it is likely that within five years:

•Most data warehouses will be stored in a columnar fashion

•Most OLTP databases will either be augmented by an in-memory database (IMDB) or reside entirely in memory

•Most large-scale database servers will achieve horizontal scalability through clustering

•Many data collection and reporting problems will be solved with databases that have no formal schema at all.

IDC 评论“第三代数据库技术”

Page 6: 列式数据库 + CEP =       完美分析系统

6

Sybas

e ASE

TeraData

Sybase IQ

Oracle

Tim

esT

en

主要数据库对比

IBM DB2

SolidD

B

列式

数据

行式数据库

内存

数据

OLTP 应用 OLAP 应用O

Page 7: 列式数据库 + CEP =       完美分析系统

7

行式数据库市场

Page 8: 列式数据库 + CEP =       完美分析系统

8

列式数据库市场

Page 9: 列式数据库 + CEP =       完美分析系统

9

Sybase's (Dublin, CA) IQ Analytics Server was the first of the column-store DBMS systems. It is available as a stand-alone DBMS and as a data warehouse appliance. Sybase also correctly positions Sybase IQ as a performance-capable tool for data marts as well as data warehouses. Strengths Sybase IQ achieves data compression ranging from two to five times compression, depending on the structure of the data. Because analytics typically makes use of fewer columns but larger numbers of rows, Sybase IQ performs very well for analytic applications. The company has been consistently winning POCs with analytic applications, on occasion, with a performance of 100 times greater. This makes Sybase IQ an extremely desirable DBMS platform for an analytic data mart to optimize and enhance an organization's overall data warehouse architecture. Over the past two years, Sybase has increased its Sybase IQ engineering FTEs by more than 70%, as well as its marketing/sales staffing — demonstrating significant commitment.

Sybase IQ: 数据仓库技术的领导者

Page 10: 列式数据库 + CEP =       完美分析系统

10

列式数据库是革命性的

传统行式数据库

c5

c4

c3

c2

c1 …c

9c8

c7

c6

r1

r2

r3

r4

r5

列式数据库

c5

c4

c3

c2

c1 …c

9c8

c7

c6

r1

r2

r3

r4

r5

数据按列存储 – 每一列单独存放 数据即是索引 只访问查询涉及的列 – 大量降低系统 IO 每一列由一个线索来处理 – 查询的并发处理 数据类型一致,数据特征相似 – 方便压缩

数据是按行存储的 没有索引的查询使用大量 I/O 建立索引和物化视图需要花费大量时间和资源 面对查询的需求,数据库必须被大量膨胀才能满

足性能要求

Page 11: 列式数据库 + CEP =       完美分析系统

11

使用列式数据库▌多: 1 PB 股票交易数据 (6 万亿条股票报价 )

▌快: 2850 亿行 / 天 (300 万行 / 秒 )▌杂:非结构化数据: 26 TB/ 天▌小:在 IQ 里压缩成 159 TB▌便宜:低端存储,价格成倍下降

▌压缩比: 6.3 倍▌相比行式数据库可能是

六分之一的空间几十分之一的代价

Page 12: 列式数据库 + CEP =       完美分析系统

12

列式数据库 vs. 行式数据库

行式数据库 列式数据库比率

( 倍)

5000万条纪录带索引加载 7111.33” 265” 26.8

1 亿条纪录带索引加载 14463.8” 1161.44” 12.5

数据存储总占用空间 183.51(G) 27.5(G) 6.7

测试大表 count 、 sum聚合操作 , 排序 30’57.24” 7’34” 4.1

测试利用索引过滤纪录后对大基数字段group by ,sum操作

3’32.54” 1’33.3”2.3

测试大表 count 、 sum聚合操作 10’50.37” 4’23.87” 2.5

测试利用索引过滤纪录后对小基数字段group by ,sum操作

13.65” 1.27”13.8

子表操作 30’57.24” 7’34” 4.1

Page 13: 列式数据库 + CEP =       完美分析系统

13

列式数据库 (Columnar Database) 潮流1. Google 的 Bigtable, Yahoo 的解决方案基于

PostgreSQL2. Sybase IQ: 第一个也是最成熟的列式数据库

1994/10, Sybase收购了 Expressway Technologies

最初的名字是“ IQ Accelerator”

2009年推出的 Sybase IQ15版有多项创新科技3. 其他新兴创业公司 : Vertica ( 创始人 Michael

Stonebreaker 是 Ingres 和 PostgreSQL 的创始人 ), SAND , Clearpace

Page 14: 列式数据库 + CEP =       完美分析系统

14

尼尔森媒体研究 : 5020 亿条数据 (2005 年全球第一名 ) -- 15 年的收视数据

美国税务局 (IRS): 全美国所有报税人 7 年报税记录 ( 及原始文档 ) (15 亿条记录 )

花旗银行 : Sybase IQ 保存 6 年所有交易记录, HR 数据及文档

联邦快递 (FedEx): 全球所有送递品的海关报关单

国外列式数据库的用户

Page 15: 列式数据库 + CEP =       完美分析系统

15

国内列式数据库用户

电信业:中国移动,中国电信,中国联通,中兴通讯中国移动:短信 /彩信统计分析,报表系统

金融业:交行,浦发, HSBC,商业银行,天平保险,平安保险,

中国农业银行:“银行卡统计分析系统” 获得世界 IT精英组织( COMPUTERWORLD HONORS PROGRAM —— 计算机世界荣誉奖励计划,简称 CHP)授予“ 2008 年Computerworld荣誉桂冠” 

政府:公安部门,海关,东莞市数字城市能源交通:铁道部,国家电网,中石化加油卡,南方航空,广州地铁

铁道部:客票系统分析零售物流:丹尼斯百货,百丽

Page 16: 列式数据库 + CEP =       完美分析系统

16

Sales Case Studies

某电信设备商 -- 日志报表系统

成功案例分享

Page 17: 列式数据库 + CEP =       完美分析系统

17

原系统与基于 IQ 的系统结构对比

原系统为红叉前,基于 IQ 的系统为去掉红叉的部分,及蓝线的过程

Page 18: 列式数据库 + CEP =       完美分析系统

18

Sybase IQ vs 原有系统--性能

比较项目 老系统 基于 IQ 的新系统

数据入库性能 多机并行处理的情况下,只能达到 5 千 TPS左右

单机最大加载速度 9.5万 TPS

查询、统计报表生成性能

增量 3000多万记录、由 3台机器统计,统计时间为15分钟 --30分钟不等;五分钟报表的生成,已经逼近五分钟的极限时间窗口

增量 3000多万记录、 1 台更低配置机器统计,小时报表生成时间为 10分钟;复杂查询速度会提高数十倍

Page 19: 列式数据库 + CEP =       完美分析系统

19

Sybase IQ vs 原有系统--硬件成本

比较项目 老系统 基于 IQ 的新系统主机型号 4 台 Dell 6850机型 32bit ( 1 台做详

单查询用,另外 3 台生成报表及报表查询)4 台 Dell 2950机型 32bit(详单入库)

2 台 ZTE ATCA blade 32bit ( 1 台入库及报表生成, 1 台查询)

CPU 数(core)

Dell 6850机型: 4 台 ×4U×2CDell 2950机型: 4 台 ×2U×2C共 48核

2 台 ×2U×2C共 8 核

内存 (G) Dell 6850机型: 4 台 ×4GDell 2950机型: 4 台 ×4G共 32G

2 台 ×4G共 8G

磁阵型号 EMC CX300 ZTE自产磁阵所需磁阵空间

约 10TB 约 5TB以下 ( 此处配置留有较大余量,实测 IQ可以节省2/3以上的存储空间 )

光纤卡个数 Dell 6850机型: 4 台 ×2个Dell 2950机型: 4 台 ×2个

2 台 ×2个

Page 20: 列式数据库 + CEP =       完美分析系统

20

Sybase IQ vs 原有系统--软件成本

比较项目 老系统 基于 IQ 的新系统RDBMS套数 MS-SQL server2005×8 套 Sybase IQ×2 套

展现工具 MS-SQL server自带 目前为润乾报表工具

OS类型 Windows 2003×8 套 SUSE9 SP3×2 套

Page 21: 列式数据库 + CEP =       完美分析系统

22

IQ 15.0 新功能

Load 性能提升3 位 FP 索引新的并行架构更好的查询性能表空间和分区Sybase Central 改进Multiplex 架构安全性提高

Sybase IQ

Page 22: 列式数据库 + CEP =       完美分析系统

23

更强的压缩能力IQ FP 索引 : FP(1) , FP(2) , FP(3)

唯一值数量 - FP(1): <256

- FP(2): 256 - 65536

- FP(3): 65537 - 16777216

- Flat FP: >16777216

3-byte FP 索引巩固了Sybase IQ 数据压缩的

领先优势。

Page 23: 列式数据库 + CEP =       完美分析系统

24

3FP 索引更高的磁盘压缩

字段 基数 类型CUST_CODE 150000 varchar(20)

product_code 550000 varchar(20)

20,000,000 条记录的压缩比较

数据文件, 245.2

数据文件, 315.9

IQ 12.7, 152.6

IQ 12.7, 102.8

IQ 15, 58.8 IQ 15, 60.9

0

50

100

150

200

250

300

350

CUST_CODE PRODUCT_CODE

数据文件IQ 12.7

IQ 15

• 优点– 优化 Cache分配– 占用更少的磁盘空间– 查询处理更快– 查询使用的资源更少

• 特点– 一种新的索引带来更好的数据压缩能力。

– In-memory 压缩提高查询执行效率、降低查询执行代价。 

– Hash对象处理更高效。

Page 24: 列式数据库 + CEP =       完美分析系统

25

查询性能提升

▌在 IQ 15.0 中 : 更多的并发处理 In-memory 压缩 更大的磁盘压缩 更灵活的查询处理 子查询优化

并发查询• 优势

– 查询速度更快– 单个查询更充分的利用可用的

CPU资源– 增加 CPU资源扩充系统处理能力。

• 特点– 大部分查询并行度更高,特别是 

joins, Group Bys, and sorts– 查询计划能够清晰的反映出并行处理查询的细节

• 并发  Hash Join• 并发 Merge Join• 并发  Group-By• 并发  Complex Predicates

Page 25: 列式数据库 + CEP =       完美分析系统

26

IQ 15.x: 信息生命周期管理 : 分级存储

Fibre Channel or Solid State SAS or eSATA

Place “Hottest” Partitions in Fast StorageMove Partitions to Lower-Cost Storage Over Time

JanFebMarAprMayJun

SepAug

JulJun

Move Partition to Lower-Cost Storage

Dec

Drop Oldest Partition

Load “Hottest” Data to Fastest Storage

Page 26: 列式数据库 + CEP =       完美分析系统

27

并行多表数据加载

Scale out

R/W

Node 1

Sybase ETL v4.8 Grid

ETL project 1 ETL project 2 ETL project 3

R/W

Node 1

RO

Node 1

RO

Node 1

R/W

Node 1

Scale out

Scale outScale out

Sybase IQ v15 Grid

Page 27: 列式数据库 + CEP =       完美分析系统

30

SYBASE IQ: 展望未来

5 years ago• Small datasets

• Few users• Real time analytics non-existent• Applications do the hard work

• Analytics not core to the business

Today• Multiple Terabytes

• Exponential user growth• Requirements pushing analytics into the database

• Analytics at the heart of the business

Customer Analytics Requirements Customer Analytics Requirements

Near Future•Data explosion

•Real time analytics•Unstructed data analytics

•Cloud computing•Total cost of ownership

Page 28: 列式数据库 + CEP =       完美分析系统

31

议题

▌Sybase 列式数据库及其新发展▌新解决方案

Sybase CEP 和 RAP

Page 29: 列式数据库 + CEP =       完美分析系统

32

Page 30: 列式数据库 + CEP =       完美分析系统

33

算法交易

Page 31: 列式数据库 + CEP =       完美分析系统

34

从数据中分析规律

交易规则IF

AMD price moves outside 2% of AMD-15-minute-VWAPFOLLOWED-BY (

S&P moving by 0.5%AND (

AMD’s price moves up by 5%ORINTEL’s price moves down by 2%

))ALL WITHIN

any 2 minute time periodTHEN

BUY INTELSELL AMD

▌海量数据分析▌实时事件处理

AMDAMD

Page 32: 列式数据库 + CEP =       完美分析系统

35

CEP (Complex Event Processing 复杂事件处理 )

人类速度(秒级到分钟级) 机器速度(毫秒级)

简单事件

复杂事件

事件的复杂度

处理速度

传统商务智能技术

RDBMS

Complex Event

Processing

消息队列Messaging & RoutingSystems

Page 33: 列式数据库 + CEP =       完美分析系统

36

关系型数据库 vs 事件处理模型

先存储数据,然后查询、处理 为业务数据处理而优化

PollingQueries

Memory

Disk

UpdatesProcessing

Alerts Actions

Alerts Actions

CEP

Memory

Disk

随着数据的流动获取、分析数据 全新的方法论

把数据送到查询中 只加载极少量数据

优点 : 超短延时 没有等待 实时提交结果

Updates

Page 34: 列式数据库 + CEP =       完美分析系统

37

SYBASE CEP 体系结构

输入流

Sybase CEP Engine

Sybase CEP Studio & SDKs

External Databases & Applications

In-process Adapters

Out-of-process

Adapters

In-process Adapters

输出流

Real-time Analytics

In-Memory Cache

Clustering & HA

Event-Driven Reads/Writes

SQL-like Language

Event Replay

Sybase RAP

Out-of-process

Adapters

Page 35: 列式数据库 + CEP =       完美分析系统

38

持续计算语言 “ Continuous Computation Language – CCL”

▌Sybase CEP使用 CCL编程,“ SQL Like”流处理▌CCL查询是持续执行的▌CCL语言支持流处理,例如“窗口”,事件流的关键▌数据库 SQL查询可以与 CCL混用,数据库与事件流信息相互补充

Example CCL Query

Calculation of 10 minute VWAPS

INSERT INTO VWAPEventStreamSELECT StockTickerSymbol, SUM(StockPrice*StockVolume)/SUM(StockVolume)FROM TradesEventStream KEEP 10 MINUTES GROUP BY StockTickerSymbolOUTPUT EVERY 10 MINUTES

Page 36: 列式数据库 + CEP =       完美分析系统

39

Window Policies in CCL

Window Policy Example

Sliding time-based Keep 10 minutes

Jumping time-based Keep Every 10 minutes

Sliding row-based Keep 100 rows

Jumping row-based Keep Every 100 rows

Partitioned Keep 100 rows Per SessionID

Top-N Keep 100 Largest Rows Per Duration

Bottom-N Keep 100 Smallest Rows Per Duration

Scheduled Keep Until ‘5 pm’/Keep For IntervalField

Buckets Keep 100 Buckets By SequenceNo

Multi-policy Keep 100 rows Per SessionID Keep 1 hour

Manually controlled Ability to insert and delete events on demand

Page 37: 列式数据库 + CEP =       完美分析系统

40

Development – Output Control

▌Last part of a query▌ Defines behavior of query output

Reduce Rate (Conflation)

Delay Results

Eliminate duplicates

▌ Types Row and Time based

Most Recent

Delayed

First within interval

Page 38: 列式数据库 + CEP =       完美分析系统

41

Development – Output Control

▌ OUTPUT Clause

OUTPUT EVERY 10 ROWSOUTPUT (ALL) EVERY 5 MINUTES OFFSET BY 3 SECONDSOUTPUT AFTEROUTPUT FIRST WITHINOUTPUT AT

Page 39: 列式数据库 + CEP =       完美分析系统

42

Development – Output Control

▌ More ExamplesINSERT INTO StockVolumeOutSELECT SUM(volume)FROM StockTrades KEEP EVERY 1 DAYOUTPUT EVERY 5 SECONDS; -- within interval

INSERT INTO StockVolumeOutSELECT SUM(volume)FROM StockTrades KEEP EVERY 1 DAYOUTPUT ALL EVERY 5 SECONDS; -- most recent

INSERT INTO StockVolumeOutSELECT SUM(volume)FROM StockTrades KEEP EVERY 1 DAYOUTPUT AFTER 5 SECONDS; -- delayed

INSERT INTO StockVolumeOutSELECT SUM(volume)FROM StockTrades KEEP EVERY 1 DAYGROUP BY symbol OUTPUT FIRST WITHIN 5 SECONDS; -- duplicate elimination

Page 40: 列式数据库 + CEP =       完美分析系统

43

金融行业以外的应用

▌电信 预付费电话授权,欺诈分析,网络监控,入侵检测 /防范,会话管理

▌政府,安全及监控情报监控,战地协调,国土安全

▌实时供应链 /物流 /制造业库存准确性,送货确认,质量跟踪

Page 41: 列式数据库 + CEP =       完美分析系统

44

金融行业以外的应用

▌交通运输业风险控制,调度,派送,路线规划

▌互联网 /Web点击流分析,网络游戏,入侵监控 /防范 

▌RFID库存管理,集装箱跟踪, ID牌及安全控制,

Page 42: 列式数据库 + CEP =       完美分析系统

45

金融行业以外的应用

▌零售业产品关联分析, CRM, 库存管理,订单管理,脱销, POS

▌媒体和娱乐业内容及服务的动态包装,版权付费

▌医疗卫生 / 保险资产管理,理赔操作,账单管理,欺诈分析

Page 43: 列式数据库 + CEP =       完美分析系统

46

积累

分析制定

实施 •名词 – 动词•数据 – 规则•前台 – 后台•出拳 – 收拳•OLTP – OLAP•行式数据库 – 列式数据库

列式数据库 +CEP = 分析系统的完美组合

Page 44: 列式数据库 + CEP =       完美分析系统

47