Presentation is loading. Please wait.

Presentation is loading. Please wait.

文档式数据库 在Hadoop集群中的应用 SequoiaDB – 王涛.

Similar presentations


Presentation on theme: "文档式数据库 在Hadoop集群中的应用 SequoiaDB – 王涛."— Presentation transcript:

1 文档式数据库 在Hadoop集群中的应用 SequoiaDB – 王涛

2 提纲 大数据回顾 1 文档式数据库特性 2 数据库在Hadoop中的定位 3 用户案例 4

3 Batch Analytics 大数据回顾

4 大数据:信息驱动力3v 海量数据规模 高时效性 多样化 价值: 提高效率 提升客户体验 降低风险 创造新的商机
50%组织拥有和处理>10TB数据 10%已经处理>1PB 电子商务和Web日志可产生每分钟上万的数据项 社交媒体应用每分钟产生百万交互活动 高时效性 volume velocity 30%组织需要每天处理>100GB数据 批处理更新从每天提升到每小时,每分钟,甚至实时 复杂事件处理能够即时产生信息发送给分析系统 实时流数据处理 多样化 传统的结构化数据依然是最常见的数据 非结构化的情绪表达和客户行为快速增长 企业现存的非结构化数据蕴含大量开放文本 视频音频在业务操作中被使用 博客,论坛以及评论反映了客户的声音 volume

5 Hadoop与NoSQL – 解决BigData的核武器
Volume Variety Velocity Hadoop 分布式存储 Yes NoSQL 数据库 传统关系型 Hadoop针对海量与多样化数据 NoSQL针对海量与高时效性数据 Hadoop与NoSQL互为补充,而非取代

6 Real-time data access NoSQL数据库

7 关系型数据库面临的困境 数据模型僵化 关系模型制约水平扩张 海量数据瓶颈 无法处理海量数据,性能瓶颈 强一致性 日志,锁构成性能瓶颈 高成本
仅支持垂直扩张,成本昂贵

8 大量的关联是分布式关系模型中的瓶颈

9 文档式NoSQL解决方案 数据模型灵活 Schemaless带来开发的敏捷 和可扩展性的提升 海量数据 分布式架构+半结构化存储= 水平扩张
最终一致性 带来性能大幅度提升 低成本 使用PC服务器进行水平扩张

10 NoSQL利用嵌套和数组解决关联难题 大表之间的关联性能低下 关联操作造成节点间大量的数据移动 用户ID 用户名 1 王萍 2 张楠 3
李克同 4 Jerry …… 用户ID 交易金额 交易时间 2 135 7:05 3 115 12:01 42,138 12:24 31,238 15:31 …… 2千万条记录 1.5亿条记录 单条记录实现1:1与1:N模型 用户ID 用户名 交易时间金额 1 王萍 [ { 15:53, 7500} ] 2 张楠 [ { 07:05, 135 }, {12:24, } ] 3 李克同 [ { 12:01, 115}, { 15:31, }, {16:30, 557 } ] ……

11 在线扩容 扩容步骤: 将新增节点添加到集群中 划分数据分区 系统自动迁移数据 存储空间可扩展 在线迁移数据 业务不中断 负载均衡

12 异构数据复制机制灵活平衡业务性能、可用性和数据可靠性
异步业务请求w=1 Repl-log Secondary Pull批量Repl-log Push更新通知 虚拟复制请求 Primary Repl-Group Repl-log相对窗口 HOT-Window COLD-Window LOST-Window 同步业务请求w=3 差异化的数据可靠性级别 灵活可配置的数据分片 支持同步与异步复制机制 异构数据复制机制灵活平衡业务性能、可用性和数据可靠性

13 多索引支持 ID Name Phone 1 Tom 135 2 Bob 412 3 Jim 531 4 Amy 986 5 Susan
257 6 Lily 264 7 Kevin 223 Name_Index Amy Bob Jim Kevin Lily Susan Tom ID_Index 1 2 3 4 5 6 7 和很多KV或者宽表数据库比起来,文档型数据库一般对一个集合能够在不同字段上创建多个索引

14 Big Data Platform Hadoop+Nosql

15 NoSQL数据库在Hadoop中的定位 连接器 连接器 HDFS NoSQL数据库

16 Hadoop连接器 Hadoop MapReduce Job Tracker Task Tracker 连接器 Data Node 数据库

17 从Hadoop导入数据 Hadoop Extract Flume Connector Sqoop Connect Other Sources
HDFS NoSQL Transform Load 可直接从HDFS加载数据 优化并行 支持Pig、Hive与MapReduce

18 查询谓词下压,利用数据库索引提升性能 查询 关联
SELECT * FROM T, K WHERE T.Price > 1000 AND T.id = K.id HDFS 数据存储层 HDFS Database T.Price > 1000 批量扫描 索引扫描

19 基于块级并发能力 在某电信运营商场景测试 1 大数据查询和导入性能相对HBASE有较大幅度提升;
业务应用/Hadoop 导入数据量 导入性能 Hbase 30亿条记录 15W/Sec SequoiaDB 19.3W/Sec 获取分片信息 数据组1:分片号10,12… 数据组2:分片号1,2… 并发读取各个数据块内容 导入性能 编目节点 协调节点 编目节点 数据组 数据组 数据组 数据组 数据组 数据块 数据组 数据组 数据块 数据组 数据块 数据组 数据块 数据块 数据块 数据块 数据块 数据块 数据块 数据块 数据块 多线程并发平均响应时间 在某电信运营商场景测试 1 大数据查询和导入性能相对HBASE有较大幅度提升; 2 与Hadoop Map/Reduce 对接能发挥更大的并发优势;

20 Use cases 用户案例

21 交易流水归档历史查询 面临的挑战 解决方式 最终结果 每天需要入库归档超过100GB数据
用户需要能够并发、实时、由多个维度访问超过2年的历史数据 当前Oracle数据库无法满足实时查询的需求 使用MapReduce与Hive作为ETL处理的补充进行数据清洗和转换 使用Hive将最终结果并行加载入SequoiaDB 小规模x86集群平台降低TCO 使用SequoiaDB,在常用查询字段上建立多个索引保证查询性能 可以在线针对2年内的历史数据进行多条件检索 高数据压缩比节省数据存储空间 利于细分客户群,发现高价值用户,降低客户流失率 帮助自营产品、套餐等设计与创新 提升客户体验,进行策略管控

22 交易流水归档历史查询

23 交易流水归档历史查询 Hadoop Platform 业务系统 HDFS SequoiaDB 数据录入 Hive Web服务 一级分行用户
SequoiaSQL 当日归档数据 二级行管理员 Web服务 数据录入 客户分群 数据分析 客户分群 营业厅叫号机 报表展现 文本数据 精准推送 手工输入数据 移动设备

24 谢谢 王涛 微博账号 @SequoiaDB 微信账号

25 Hadoop与文档式NoSQL之间的关系
传统关系数据库 大数据HADOOP平台 文档式NoSQL数据库 优势 基于关系模型的高性能数据查询和分析; 成熟内建数据挖掘算法; 成熟报表工具; 标准数据访问接口。 大规模并行数据处理; 灵活可编程; 支持海量数据存储的文件系统; 低硬件成本服务器集群。 大规模并行实时数据访问; 数据模型动态灵活; 计算引擎强大,功能丰富; 劣势 不适合非结构化数据处理; 通常情况,企业级硬件支持 不适合复杂数据关联查询; 缺乏标准访问接口。 不适合非结构化数据存储 适合场景 结构化数据的高性能复杂查询 传统报表分析和数据挖掘。 非结构化数据处理; 全数据批量处理; 个性化数据分析和挖掘; 海量数据检索,索引和搜索。 结构化与半结构化高性能大规模并行处理; 海量数据实时检索分析 应用 企业级数据仓库 低成本海量数据存储和分析 实时大数据查询分析 互为补充而非取代

26 SequoiaDB 与HBase的差异 SequoiaDB HBase 多索引 有 无 非主键排序 聚集 存储过程 事务 锁
SQL/JDBC 高可用性 图形管理界面 数据更新删除

27 SequoiaDB 与MongoDB的差异
事务 SQL支持 性能 数据压缩 存储过程 JDBC驱动 图形管理界面 MongoDB天生的互联网基因使其缺乏企业级功能,且与Hadoop结合极其有限

28 SequoiaDB NoSQL实时数据引擎
灵活动态的数据类型 并行执行引擎 线性水平扩张 MPP – 无单点故障 在压缩数据上执行SQL 保持数据接近CPU/核 应用程序层 调度层

29 SequoiaDB 为实时查询与分析而建立
编目分片 ... 数据分片 数据存储层 协调节点 协调层 网络层 应用层

30 SequoiaDB 平台架构

31 在线扩容 扩容步骤: 将新增节点添加到集群中 划分数据分区 系统自动迁移数据 存储空间可扩展 在线迁移数据 业务不中断 负载均衡

32 在线扩容优势 传统数据库(ORACLE和DB2) 性能及吞吐量非线性增长 业务中断时间长 SequoiaDB 增加节点可线性提升数据访问性能
无需中断业务在线扩容 性能和吞吐量 节点数(个)

33 Single Shard

34 Two Shards

35 Three Shards

36 异构数据复制机制灵活平衡业务性能、可用性和数据可靠性
异步业务请求w=1 Repl-log Secondary Pull批量Repl-log Push更新通知 虚拟复制请求 Primary Repl-Group Repl-log相对窗口 HOT-Window COLD-Window LOST-Window 同步业务请求w=3 差异化的数据可靠性级别 灵活可配置的数据分片 支持同步与异步复制机制 异构数据复制机制灵活平衡业务性能、可用性和数据可靠性

37 SequoiaDB 大数据合作伙伴

38 SequoiaDB 集成Hadoop解决方案

39 SequoiaDB 与Hadoop丰富的对接形式
Hive sdb connector Sqoop sdb connector HDFS SequoiaDB HDFS SequoiaDB 与Hive对接, 实现大数据导入/分析 与Hadoop/sqoop对接,实现 传统数据库/非结构化数据与SequoiaDB转换 SequoiaSQL HDFS SequoiaDB SequoiaSQL 实现SDB/HDFS之间数据互通

40 Hadoop连接器 客户端 Hadoop MapReduce Job Tracker Task Tracker Task Tracker
Data Node 数据库

41 SequoiaDB 从Hadoop导入数据
Extract Flume Connector Sqoop Connect Other Sources Hadoop HDFS SequoiaDB Transform Load 可直接从HDFS加载数据 优化并行 支持Pig、Hive与MapReduce

42 基于块级并发能力 在某电信运营商场景测试 1 大数据查询和导入性能相对HBASE有较大幅度提升;
业务应用/Hadoop 导入数据量 导入性能 Hbase 30亿条记录 15W/Sec SequoiaDB 19.3W/Sec 获取分片信息 数据组1:分片号10,12… 数据组2:分片号1,2… 并发读取各个数据块内容 导入性能 编目节点 协调节点 编目节点 数据组 数据组 数据组 数据组 数据组 数据块 数据组 数据组 数据块 数据组 数据块 数据组 数据块 数据块 数据块 数据块 数据块 数据块 数据块 数据块 数据块 多线程并发平均响应时间 在某电信运营商场景测试 1 大数据查询和导入性能相对HBASE有较大幅度提升; 2 与Hadoop Map/Reduce 对接能发挥更大的并发优势;

43 SequoiaSQL 让SequoiaDB支持原生SQL
Application 原生SQL支持 支持JDBC/ODBC 多种数据源 SequoiaDB Hive HBase SQL JDBC/ODBC SequoiaSQL Engine

44 SequoiaSQL v.s. Hive+HDFS
Tests Test 1 Test 2 Test 3 Test 4 Time (Sec) Hive+HDFS 32.603 17.822 39.815 42.128 SequoiaSQL 3.2 2 1 SequoiaSQL is 10+ times faster than Hive+HDFS

45 Hadoop + SequoiaDB = 实时分析+批处理分析
JDBC/ODBC/API接口 HDFS 分布式存储引擎 Hive 查询引擎 MapReduce 分布式计算框架 SequoiaDB Pig 执行引擎 SequoiaSQL

46 SequoiaDB 与其他数据库的功能差异
MongoDB HBase RDBMS(Oracle,DB2) 事务 SQL支持 分布式 性能 多索引 数据压缩 存储过程 JDBC驱动 图形管理界面 数据模型 JSON对象 宽表 关系结构

47 客户分群 – 第一阶段 Hadoop + SequoiaDB 建立营销规则 计算用户分群 精准推送 营销记录 业务系统 ETL 营销管理

48 客户分群 – 第一阶段 Hadoop + SequoiaDB 建立营销规则 计算用户分群 精准推送 营销记录 业务系统 ETL 营销管理

49 客户分群 – 第二阶段 数据挖掘 Hadoop + SequoiaDB 建立营销规则 计算用户分群 精准推送 营销记录 业务系统 ETL


Download ppt "文档式数据库 在Hadoop集群中的应用 SequoiaDB – 王涛."

Similar presentations


Ads by Google