王涛:基于Cloudera impala的非关系型数据库sql执行引擎
Upcoming SlideShare
Loading in...5
×
 

王涛:基于Cloudera impala的非关系型数据库sql执行引擎

on

  • 600 views

BDTC 2013 Beijing China

BDTC 2013 Beijing China

Statistics

Views

Total Views
600
Views on SlideShare
600
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

王涛:基于Cloudera impala的非关系型数据库sql执行引擎 王涛:基于Cloudera impala的非关系型数据库sql执行引擎 Presentation Transcript

  • 基于Cloudera Impala的 联邦SQL执行引擎 SequoiaSQL 王涛 SequoiaDB(巨杉数据库)CTO taoewang@sequoiadb.com
  • 提纲 1 Cloudera Impala 简介 2 SequoiaDB 简介 3 SequoiaSQL 增强特性 4 使用场景 5 性能指标
  • Real Time SQL Query Engine CLOUDERA IMPALA 简介
  • SQL-On-Hadoop IBM BigSQL SQL-H Stinger Presto
  • Cloudera Impala 特性 通用性 高性能 •针对交易与分析系统 •支持从毫秒到小时级查询 价值: 提升应用开发效率 减少学习成本 提升运行性能 •C++执行内核 •运行时代码生成(LLVM) •原生的SQL执行引擎 通用性 高性能 兼容性 兼容性 •支持HDFS与HBase数据源 •支持Hive的metastore •支持HQL •接口与Hive保持兼容(JDBC) volume
  • Impala 架构
  • Document NoSQL Database SEQUOIADB简介
  • SequoiaDB 文档类NoSQL数据库 • • • • • • JSON数据类型 并行执行引擎 线性水平扩张 MPP – 无单点故障 在压缩数据上执行SQL 保持数据接近CPU/核 应用程序层 调度层
  • SequoiaDB 架构图 应用层 协调节点 编目分片 ... 调度层 网络层 数据存 储层 数据分片 数据分片 数据分片 ...
  • JSON格式与查询 需要更多的时间被行业用户接受 { name: “Tim”, age: 30, phone: [ 12345, 67890 ] } CREATE TABLE EMP ( NAME CHAR(10), AGE INTEGER, PHONE1 INTEGER, PHONE2 INTEGER ); INSERT INTO EMP VALUES ( “Tim”, 30, 12345, 67890 ) ;
  • Federation Engine SEQUOIASQL 增强特性
  • SequoiaSQL联邦执行引擎 • SequoiaSQL 是基于开源项目开 发的SQL执行引擎 – Cloudera Impala • • • • 不仅仅是“SQL-on-Hadoop” 支持JDBC 兼容Hive驱动 增强功能 – 加入SequoiaDB与关系型数据库 的读写接口 – 将metastore嵌入SequoiaDB – 增加Update/Delete/Merge语句 – 谓词条件下压 Application SQL JDBC SequoiaSQL Engine Federated Database
  • Metastore嵌入SequoiaDB SequoiaDB 元存储在Derby或者其他关 元存储在SequoiaDB,无需 系型数据库 依赖其他数据库 需要依赖Hive的配置文件 数据默认存储在SequoiaDB, 扩展表可映射 HDFS 和 数据默认存储在HDFS HBASE SequoiaDB SequoiaDB SequoiaDB
  • Update/Delete/Merge SequoiaSQL 查询 添加 更改 删除 MERGE 半结构化 查询 覆盖添加 非结构化 查询 结构化
  • 查询谓词下压,利用数据库索引提升性能 查询 SELECT * FROM T, K WHERE T.Price > 1000 AND T.id = K.id 关联 数据存储层 HDFS Database T.Price > 1000 HDFS 批量扫描 索引扫描 优势: 1.减少网络数据传输 2.利用数据库索引提升性能
  • SequoiaSQL 应用架构 JDBC/API接口 Pig Hive SequoiaSQL MapReduce 分布式计算框架 HDFS 分布式存储引擎 SequoiaDB 关系型 数据库
  • SequoiaSQL 系统架构 其他 数据源 应用层 SequoiaSQL 调度层 Oracle 编目分片 协调节点 HDFS ... HBase DB2 MySQL 网络层 数据存 储层 MongoDB etc… 数据分片 数据分片 数据分片 ...
  • NoSQL in Industry USE CASES
  • 交易流水归档历史查询 面临的挑战 • • • 每天需要入库归档超 过100GB数据 用户需要能够并发、 实时、由多个维度访 问超过2年的历史数 据 当前Oracle数据库无 法满足实时查询的需 求 解决方式 • • • • 使用MapReduce与 Hive作为ETL处理的 补充进行数据清洗和 转换 使用Hive将最终结果 并行加载入 SequoiaDB 使用SequoiaDB,在 常用查询字段上建立 多个索引保证查询性 能 使用SequoiaSQL进行 实时数据查询 最终结果 • • • • • 可以在线针对2年内 的历史数据进行多条 件检索 高数据压缩比节省数 据存储空间 利于细分客户群,发 现高价值用户,降低 客户流失率 帮助自营产品、套餐 等设计与创新 提升客户体验,进行 策略管控
  • 交易流水归档历史查询 Legacy Systems IBM UDB ESE TCPIP Oracle 10G SAS TCPIP End Users TCPIP TCPIP Management ODS & IDS SPSS Cube Analysts Other Sources New Systems TCPIP TCPIP … Web App SequoiaSQL TCPIP Text Data Manual Input Hive Data Mart Users TCPIP HDFS SequoiaDB R Web App Users
  • 交易流水归档历史查询 Hadoop Platform 业务系 统 HDFS 数据录入 SequoiaDB Hive 数据录入 SequoiaSQL Web 服务 一级分行用户 当日归档数据 二级行管理员 客户分群 数据分析 Web 服务 营业厅叫号机 文本数据 报表展现 精准 推送 手工输入数据 移动设备
  • Performance Benchmark 性能指标
  • SQL1: SQL5: SELECT select cttb.appg_mode ac_nm,appg_date,cst_id,dep_acno,tran_ty ,cttb.appg_date pe,tran_amount from ,cttb.tran_code sdbmassdata.local_sdb_ch_bank limit 10; SQL2: select count(cst_id) from sdbmassdata.local_sdb_ch_bank; SQL3: select * from sdbmassdata.local_sdb_ch_bank order by tran_amount limit 10 ; SQL4: select max(tran_amount) from sdbmassdata.local_sdb_ch_bank group by ac_nm,appg_date,cst_id,dep_acno,tran_a mount,tran_type limit 10; 表名 记录数 local_sdb_ch_bank 20,000,000 local_bancs_cusm_f 70,602 …<300+字段> local_ctis_txn_tif_b 22,869,263 ,dhit.cst_tp_code as_f ,dhit.ssn_avg_bal local_dep_hist_inf_t 313,721 mp ,dhit.dpstm_term FROM sdbmassdata.local_ctis_txn_tif_bas_f cttb LEFT OUTER JOIN sdbmassdata.local_dep_hist_inf_tmp dhit ON ( cttb.ACT_NO = dhit.DEP_ACNO AND dhit.STAT_DT = '2012-02-01' ) LEFT OUTER JOIN sdbmassdata.local_BANCS_CUSM_F bcf ON (dhit.CST_ID = bcf.CI03_CUST_ACCT_NO) limit 1;
  • SequoiaSQL Hive性能对比 700 SQL SQL SQL SQL SQL 600 500 1 2 3 4 5 SequoiaSQL Hive 0.49 96.903 22.28 147.087 316.26 600.164 38.18 231.108 20.69 578.676 400 SequoiaSQL 300 Hive 200 环境: 3台物理机 每台7个数据分区组 100 0 SQL 1 SQL 2 SQL 3 SQL 4 SQL 5
  • Roadmap 产品路标规划
  • 产品路标规划 • • • • 其他Join方式实现 聚合下压 排序下压 …. 2013.12.31 • • • • 支持嵌套类型 支持数组类型 添加其他数据源 … • • 基于成本的性能优化 …. 2014.12.31
  • 王涛 taoewang@sequoiadb.com