Big Data - Are You Ready - Oracle … · Zookeeper、MySQL Slave –从:HDFS Data Node、NoSQL...

Preview:

Citation preview

Oracle大数据技术概述

罗海雄

甲骨文开发者计划 资深技术顾问

以下内容旨在概述产品的总体发展方向。该内容仅供参考,不可纳入任何合同。该内容不构成提供任何材料、代码或功能的承诺,并且不应该作为制定购买决策的依据。所描述的有关

Oracle 产品的任何特性或功能的开发、发布和时间安排均由

Oracle 自行决定。

议题

• Oracle 大数据概述

• Oracle NoSQL 数据库

• Oracle大数据连接器

• Oracle 大数据机

• 用户案例演示

什么是大数据? 具有4V特性的数据称为大数据

• 巨大的数据量 Volume

• 集中储存/集中计算已经无法处理巨大的数据量

VOLUME

VELOCITY

VARIETY

SOCIAL

BLOG

SMART

METER

VALUE

10110010100100100

11010101010111001

01010100100101

3亿用户,每天上亿条微博

中型城市每月数十亿智能电表数据

2015年全球移动终端产生的数据量6300PB

• 多结构化数据 Variety

• 文本/图片/视频/文档等

• 增长速度很快 Velocity

• 海量数据的及时有效分析

• 用户基数庞大/设备数量众多/实时海量/数据指数级别增长

• 价值密度低Value

• 单条数据并无太多价值,但庞大的数据量蕴含巨大财富

时间

商业价值

大数据: 挑战和机遇 利用大数据提高商业价值

→巨大的数据量 →多结构化数据 →快速增长 →尚未发现价值

大数据

今天

→ 深度分析 → 高伸缩 → 实时

明天

挑战

大数据 平台

传统DW难以处理大数据

• 大数据的4V特点: Volume, Variety, Velocity, Value

•传统DW系统不适用于大数据的分析 • 数据量过于庞大

• 绝大部分大数据是垃圾

• 大数据的多样化格式

•需要革新性的技术手段 • 海量数据“分而治之”------批量分布式并行计算Hadoop

• 海量数据“灵活多变”------实时分布式高吞吐高并发数据存取处理NoSQL

• 海量数据“跨越鸿沟”------大数据超高速装载进数据库

Oracle大数据解决方案

获取 分析 组织

Oracle (DW) Oracle (OLTP)

模式灵活

非结构化

数据多样性

结构化模式化

信息密度

Hadoop HDFS

Oracle

NoSQL DB

Spatial Graph

Oracle 高级分析 (ODM & ORE)

OBI EE Oracle MR

R NoSQL 灵活、特定 开发为中心

SQL 安全、可靠 管理为中心

数据库云服务器-Exadata •OLTP & DW

•Data Mining & Oracle R

• Semantics

• Spatial

大数据机-BDA • Cloudera CDH

• HBase | Hive etc.

• Cloudera Manager

• NoSQL Database (CE | EE)

• 大数据连接器

商务智能

云服务器-

Exalytics

议题

• Oracle 大数据概述

• Oracle NoSQL 数据库

• Oracle大数据连接器

• Oracle 大数据机

• 用户案例演示

Oracle NoSQL 数据库

分布式的、高可扩展性的键-值数据库

节点 东部

节点 西部

节点 中部

NoSQL 驱动程序

应用程序

NoSQL 驱动程序

应用程序 读取

删除

读取

更新

分布式键值对数据库

简单编程模型

可伸缩的吞吐量

商业软件和支持

易于管理

Oracle NoSQL 数据库

• 简单数据模型 — 键值对(主键 + 次键模式)

• 简单操作 — 读取/插入/更新/删除,RMW 支持

• 事务范围 — 主键内的记录、单一 API 调用

• 无序扫描所有数据(非事务)

数据模型

用户 ID

地址 订阅

电子邮件 ID 电话号码 到期日

主键:

次键:

值:

字符串

字节数组

R2

Store/数据库

..

..

Oracle NoSQL 数据库:存储拓扑图 • Partition/分区: 整个数据库有多个分区组成。分区数

在创建数据库时制定。运行时,键通过Hash计算,分配到特定的分区。

• Replication group/复制组: 多个分区组合成一个复制组.

• Store/数据库:多个复制组组成一个完整的Oracle NoSQL数据库。

• Master replication node/主节点:每个复制组里有一个

主节点。对该复制组的写操作在主节点中完成,然后在复制到其他节点

• Replica node/复制节点: 每个复制组里有零到多个复制节点,同时提供分布性读和高可用,在主节点故障时,某一个复制品节点会被选举并成为新的主节点。

• Storage node/存储节点:物理/虚拟服务器上运行的NoSQL的实例。通常每个机器对应一个节点

• Replication factor/复制因子: 每个复制组里的节点数目

R1 M

R2 R1

M

R2 R1

M ....

R2

Replication group/复制组

键 分区

存储节点

复制节点

主节点

Oracle NoSQL 数据库:应用拓扑图

负载均衡器

网页服务器

应用服务器

网页服务器

NoSQL DB 驱动

用户网络请求

防火墙

防火墙

防火墙

应用层

网页层

Oracle NoSQL 数据库

分区1

数据中心1 数据中心2

数据副本 分区2 分区3

应用服务器 NoSQL DB驱动

NoSQL存储节点

NoSQL存储节点

Oracle NoSQL 数据库

• 按操作逐个指定,应用程序设置默认值

• 可配置的持久性策略

­ 同步策略 + 副本确认策略

• 可配置的一致性策略

可配置的ACID 事务

Oracle NoSQL 数据库的独特优势

• 与 Oracle 体系无缝集成

• 商业级 – 7x24专业服务

– 丰富数据库经验

• 可伸缩

• 简单编程模型

• 易于管理

议题

• Oracle 大数据概述

• Oracle NoSQL 数据库

• Oracle 大数据连接器

• Oracle 大数据机

• 用户案例演示

Oracle HDFS 直接连接器(ODCH)

• 以外部表形式直接访问HDFS上的数据文件

– 无需额外插件

– 无需转移文件

– 不占用数据库服务器空间

• 快速的数据访问

– 并行, 优化, 自动负载均衡

Oracle HDFS 直接连接器: 示意图

SHUFFLE

/SORT

SHUFFLE

/SORT

REDUCE

REDUCE

REDUCE

MAP

MAP

MAP

MAP

MAP

MAP

REDUCE

REDUCE

1. 创建外部表

DAT

A

DAT

A

DAT

A

DAT

A

DAT

A

HDFS External

Table

SQL QUERY

ODCH

2. 生成location文件,指向HDFS文件/文件集

3. 访问外部表

Oracle Hadoop 装载器(OLH)

• 装载Hadoop数据到Oracle数据库

• 在Hadoop上完成预分区、预排序、预转换

• 可选择在线或者离线装载的不同选项

• 最大限度利用Hadoop集群性能,减少数据库压力

Oracle Hadoop 装载器: 在线装载

SHUFFLE

/SORT

SHUFFLE

/SORT

REDUCE

REDUCE

REDUCE

MAP

MAP

MAP

MAP

MAP

MAP

REDUCE

REDUCE

ORACLE Hadoop 装载器

3.通过JDBC/OCI驱动,从reducer节点连接到数据库,进行并行装载

1. 从数据库中读取目标表的表定义

2. 读取数据,并进行分区,排序,格式转换

Oracle Hadoop 装载器: 离线装载

SHUFFLE

/SORT

SHUFFLE

/SORT

REDUCE

REDUCE

REDUCE

MAP

MAP

MAP

MAP

MAP

MAP

REDUCE

REDUCE

ORACLE LOADER FOR HADOOP

1. 读取目标表的表定义

2. 读取数据,并进行分区,排序,格式转换

3. 在reducer节点生成Oracle DataPump格式文件

5. 通过外部表,在数据库空闲时段进行并行的数据装载

DAT

A

DAT

A

DAT

A

DAT

A

DAT

A

4. 将生成的文件拷贝到数据库服务器

4.1 通过Oracle HDFS直接连接器访问

Oracle Data Integrator 简介

• Oracle Data Integrator:数据提取,加载,转换工具(E-LT)

• 通过可插入的知识模块方式支持多种数据源和目标

数据仓库

计划系统

在线数据库

应用程序源

传统数据源

高效的图形化设计工具

支持不同数据源和目标

直接在原有机器上进行处理

Oracle Data Integrator Hadoop适配器

• Oracle Data Integrator Hadoop适配器 – 将本地或者HDFS文件加载到Hive中

– 在Hive中进行数据处理和校验

– 将处理过后的数据导入Oracle数据库中

• 高性能、高效率的数据整合

– 使用统一的ODI 程序界面

– 使用与SQL类似的HiveQL, 不需编写Hadoop MapReduce脚本

– 自动协调和调度Hadoop的任务

– 大部分工作在Hadoop集群中进行,充分利用集群机器资源

– 调用高性能的Oracle Hadoop装载器

Oracle Data Integrator Hadoop适配器

SHUFFLE

/SORT

SHUFFLE

/SORT

REDUCE

REDUCE

REDUCE

MAP

MAP

MAP

MAP

MAP

MAP

REDUCE

REDUCE

2. 将本地文件或者HDFS文件加载到Hive中

DAT

A

DAT

A

DAT

A

DAT

A

DAT

A

HDFS

ORACLE DATABASE

ODC

H

3. 调用Hive脚本,进行数据转化以及校验

4. 将处理过的数据Load到Oracle数据库中

1. 创建数据模型,包括数据源文件,Hive表,Oracle表等

Oracle R Hadoop连接器(ORCH)

通过在R中安装ORCH包, 可以实现

– 在R 中直接访问Hadoop/HDFS的文件

– 在R 中直接利用Hadoop 集群运行R格式的MapReduce脚本

主要优势 – 为R提供更高性能的文件系统

– 为R提供高度可扩展的计算能力

– 数据可以根据需要随意存取和移动

– R程序员不需要额外的Hadoop技术

Oracle R Hadoop连接器

客户端

R 引擎

ORHC

Hadoop 软件 Java VM

服务器(如:大数据机)

R 引擎

ORHC驱动 包

Java VM

数据库服务器 (如:Exadata)

R 引擎

ORE库

Oracle 数据库

ORE客户端包

Hadoop 集群

任务节点

任务节点

JobTracker

MapReduce

节点

HDFS 节点

数据节点

数据节点

目录节点

ORE 包

ORE 客户端包 ORHC

ORHC

在Hadoop集群中运行MapReduce任务

访问Oracle数据库

访问HDFS文件

测试时在本地运行MapReduce任务

议题

• 大数据概述

• Oracle NoSQL 数据库

• Oracle大数据连接器

• Oracle 大数据机

• 用户案例演示

Oracle 大数据机

硬件:18 Sun X4270 M2 Servers:

–216 个 CPU 内核,864 GB RAM,648 TB 磁盘

–40 Gb/s InfiniBand 节点连接,10 Gb/s 以太网

系统软件: –Oracle Linux、Oracle Java

–Hadoop 的 Cloudera 发行版(CDH)

–Cloudera Manager

–Oracle NoSQL 数据库社区版

–开源的 R 发行版

–Oracle大数据连接器

集成的优势

• 极短安装时间 – 上架、电源线、网线

– 操作系统、应用软件

• 预测试

• 预优化

• 一体化服务

为什么选用Cloudera CDH

• 关键特性发展快

– 由业界的 Hadoop 专家构建

– 实用而不深奥

• 经过广泛验证

– 用于 Hadoop 所有大用户的生产环境

– 在这些环境中极为稳定

• 由 Cloudera 托管和测试

– 托管的开源组件

– 包含丰富的管理 GUI 工具

Cloudera CDH

Apache Hadoop Apache Sqoop

Apache Hive Apache Mahout

Apache Pig Apache Whirr

Apache HBase Apache Oozie

Apache Zookeeper Fuse-DFS

Apache Flume Hue

有关最新详细信息,请访问:http://www.cloudera.com/hadoop-details/

Hadoop 软件布局(主节点)

• 节点 1:

– 主:Name Node、Balancer 和 HBase Master

– 从:HDFS Data Node、NoSQL Database Storage Node*

• 节点 2:

– 主:Secondary Name Node、Cloudera Manager、Zookeeper、MySQL Slave

– 从:HDFS Data Node、NoSQL Database Storage Node*

• 节点 3:

– 主:JobTracker、MySQL Master、ODI Agent、

Hive Server

– 从:HDFS Data Node、NoSQL Database Storage Node*

* 可选

1 2 3

议题

• Oracle 大数据概述

• Oracle NoSQL 数据库

• Oracle大数据连接器

• Oracle 大数据机

• 用户案例演示

用户案例演示 背景

目标: 商场希望提高某类商品的销售量. 一个满100美元送《变形金刚》DVD 的市场活动没有获得预期效果。 分析现有CRM系统的数据,没有可用信息。

解决方案: 利用社交媒体,从Facebook, LinkedIn 或者Twitter中获取有用信息,进行更好决策

用户案例演示 角色

名字 角色

TRACY 市场部经理

MIKE IT 经理

The Customer

用户案例演示

Tracy发现之前的市场活动效果有问题,于是她找到Mike。 Mike告诉她,可以通

过社交媒体数据来提高市场活动效率。

Mike 在Facebook 建了账户,并对加关注并发表评论的客户赠送商场积分。

Tracy 发现第一次反馈的确不好。

通过分析用户反馈信息中的‘热词’ ,发现大家

对新电影《复仇者联盟》更有兴趣.

策划新的市场活动 “满一百美元送《复仇者联盟》电影票”

通过facebook的反馈和CRM的数据发现,新的市场活动取得预期效果。

Recommended