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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

  • 500 views
Published

BDTC 2013 Beijing China

BDTC 2013 Beijing China

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
500
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
5
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 基于Cloudera Impala的 联邦SQL执行引擎 SequoiaSQL 王涛 SequoiaDB(巨杉数据库)CTO taoewang@sequoiadb.com
  • 2. 提纲 1 Cloudera Impala 简介 2 SequoiaDB 简介 3 SequoiaSQL 增强特性 4 使用场景 5 性能指标
  • 3. Real Time SQL Query Engine CLOUDERA IMPALA 简介
  • 4. SQL-On-Hadoop IBM BigSQL SQL-H Stinger Presto
  • 5. Cloudera Impala 特性 通用性 高性能 •针对交易与分析系统 •支持从毫秒到小时级查询 价值: 提升应用开发效率 减少学习成本 提升运行性能 •C++执行内核 •运行时代码生成(LLVM) •原生的SQL执行引擎 通用性 高性能 兼容性 兼容性 •支持HDFS与HBase数据源 •支持Hive的metastore •支持HQL •接口与Hive保持兼容(JDBC) volume
  • 6. Impala 架构
  • 7. Document NoSQL Database SEQUOIADB简介
  • 8. SequoiaDB 文档类NoSQL数据库 • • • • • • JSON数据类型 并行执行引擎 线性水平扩张 MPP – 无单点故障 在压缩数据上执行SQL 保持数据接近CPU/核 应用程序层 调度层
  • 9. SequoiaDB 架构图 应用层 协调节点 编目分片 ... 调度层 网络层 数据存 储层 数据分片 数据分片 数据分片 ...
  • 10. 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 ) ;
  • 11. Federation Engine SEQUOIASQL 增强特性
  • 12. SequoiaSQL联邦执行引擎 • SequoiaSQL 是基于开源项目开 发的SQL执行引擎 – Cloudera Impala • • • • 不仅仅是“SQL-on-Hadoop” 支持JDBC 兼容Hive驱动 增强功能 – 加入SequoiaDB与关系型数据库 的读写接口 – 将metastore嵌入SequoiaDB – 增加Update/Delete/Merge语句 – 谓词条件下压 Application SQL JDBC SequoiaSQL Engine Federated Database
  • 13. Metastore嵌入SequoiaDB SequoiaDB 元存储在Derby或者其他关 元存储在SequoiaDB,无需 系型数据库 依赖其他数据库 需要依赖Hive的配置文件 数据默认存储在SequoiaDB, 扩展表可映射 HDFS 和 数据默认存储在HDFS HBASE SequoiaDB SequoiaDB SequoiaDB
  • 14. Update/Delete/Merge SequoiaSQL 查询 添加 更改 删除 MERGE 半结构化 查询 覆盖添加 非结构化 查询 结构化
  • 15. 查询谓词下压,利用数据库索引提升性能 查询 SELECT * FROM T, K WHERE T.Price > 1000 AND T.id = K.id 关联 数据存储层 HDFS Database T.Price > 1000 HDFS 批量扫描 索引扫描 优势: 1.减少网络数据传输 2.利用数据库索引提升性能
  • 16. SequoiaSQL 应用架构 JDBC/API接口 Pig Hive SequoiaSQL MapReduce 分布式计算框架 HDFS 分布式存储引擎 SequoiaDB 关系型 数据库
  • 17. SequoiaSQL 系统架构 其他 数据源 应用层 SequoiaSQL 调度层 Oracle 编目分片 协调节点 HDFS ... HBase DB2 MySQL 网络层 数据存 储层 MongoDB etc… 数据分片 数据分片 数据分片 ...
  • 18. NoSQL in Industry USE CASES
  • 19. 交易流水归档历史查询 面临的挑战 • • • 每天需要入库归档超 过100GB数据 用户需要能够并发、 实时、由多个维度访 问超过2年的历史数 据 当前Oracle数据库无 法满足实时查询的需 求 解决方式 • • • • 使用MapReduce与 Hive作为ETL处理的 补充进行数据清洗和 转换 使用Hive将最终结果 并行加载入 SequoiaDB 使用SequoiaDB,在 常用查询字段上建立 多个索引保证查询性 能 使用SequoiaSQL进行 实时数据查询 最终结果 • • • • • 可以在线针对2年内 的历史数据进行多条 件检索 高数据压缩比节省数 据存储空间 利于细分客户群,发 现高价值用户,降低 客户流失率 帮助自营产品、套餐 等设计与创新 提升客户体验,进行 策略管控
  • 20. 交易流水归档历史查询 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
  • 21. 交易流水归档历史查询 Hadoop Platform 业务系 统 HDFS 数据录入 SequoiaDB Hive 数据录入 SequoiaSQL Web 服务 一级分行用户 当日归档数据 二级行管理员 客户分群 数据分析 Web 服务 营业厅叫号机 文本数据 报表展现 精准 推送 手工输入数据 移动设备
  • 22. Performance Benchmark 性能指标
  • 23. 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;
  • 24. 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
  • 25. Roadmap 产品路标规划
  • 26. 产品路标规划 • • • • 其他Join方式实现 聚合下压 排序下压 …. 2013.12.31 • • • • 支持嵌套类型 支持数组类型 添加其他数据源 … • • 基于成本的性能优化 …. 2014.12.31
  • 27. 王涛 taoewang@sequoiadb.com