- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Apache顶级项目HAWQ内核工程师日常揭秘
1.Apache HAWQ的发展历程。
2.Apache HAWQ突出的优势,及与其他数据库的横向对比。
3.Apache HAWQ内核工程师日常的工作流程,包括代码提交流程,测试流程,发布流程,客户问题解决流程等。
展开查看详情
1 .Apache顶级项⽬目HAWQ内核⼯工程师⽇日常揭秘 让⼈人类只为兴趣⽽而⼯工作 陶征霖 1
2 .• 北北京偶数科技数据库⾸首席架构师,负责 OushuDB的研发⼯工作 • Apache HAWQ Committer,PMC成员 • Apache HAWQ初创团队成员,核⼼心模块开 发者 • 曾就职于Oracle,EMC/Pivotal,⼀一直从事数 据库研发⼯工作 • 浙江⼤大学计算机本硕毕业
3 . 01 ⽬目录 Apache HAWQ发展历程 02 Apache HAWQ突出优势 CONTENT 03 Apache HAWQ开发⼯工作流程
4 .HAWQ发展历程 2017 OushuDB3.0正式发布 2019 OushuDB4.0 Beta发布 2018 2015 正式毕业成 HAWQ2.0 2013 为顶级项⽬目 HAWQ 1.0 Apache HAWQ孵 化 2012 HAWQ Alpha 2011 原型系统
5 .数据仓库引擎⽐比较
6 .分析型云数据库-HAWQ/OushuDB SQL-on- Hadoop HAWQ 2018年年成为Apache顶级数据库项⽬目 被全球多个世界500强公司采⽤用 OushuDB:HAWQ企业版本,世界上最快的新⼀一代云数据库,基于新⼀一代SIMD执⾏行行器器, ⽐比⾏行行业平均⽔水平快15-20倍
7 .GPDB架构(2003)
8 .HAWQ架构
9 .HAWQ/OushuDB VS GPDB • 架构:存储与计算完全分离 VS 传统MPP数据库 • 性能:全新SIMD执⾏行行器器 VS ⽼老老执⾏行行器器 • 扩展性:弹性伸缩,动态秒级扩容 VS 扩容相对复杂,⼤大量量数据重分布 • 云原⽣生:云数据库 VS ⾮非云数据库 • Hadoop原⽣生:SQL on Hadoop引擎 VS 只能通过PXF访问HDFS • 数据共享:可插拔独⽴立存储 VS 私有存储 • 资源管理理:树状多级资源管理理队列列 VS 单级资源管理理队列列
10 .HAWQ/OushuDB VS Clickhouse • 定位:成熟完整的商⽤用分析型数据库 VS 功能⽋欠缺,适⽤用场景单⼀一 • 标准SQL语法:完整⽀支持 VS 不不完整⽀支持 • 事务:⽀支持 VS 不不⽀支持 • 资源管理理:⽀支持 VS 不不⽀支持 • 存储过程:⽀支持 VS 不不⽀支持 • 更更新删除:⽀支持 VS 不不⽀支持 • 性能优势:适⽤用复杂场景 VS 简单查询性能优化
11 .Apache HAWQ代码贡献流程 • 起⼀一个JIRA • Fork github repo:https://github.com/apache/hawq.git • 把repo克隆隆到本地 • 把github repo添加为”upstream” • 创建⼀一个feature branch然后提交代码 • 提交pull request • ⾄至少2个+1可以merge代码 细节可以参考: https://cwiki.apache.org/confluence/display/HAWQ/Contributing+to+HAWQ
12 .测试流程 • Apache HAWQ⾥里里有gtest写的feature-test,可以⽤用来跑功能回归测试 • OushuDB通过CI(持续集成)保障产品质量量,分为pr trigger,commit trigger,daily trigger,weekly trigger,关注code coverage • Unit test • Feature test • Sanitize test • Performance test • Scalability test • Stress test • Longevity test • E2E test
13 .发布流程 • 版本号规则采⽤用4位数字 • 第⼀一位表示⼤大版本号,可能包含元数据改动 • 第⼆二位表示⼩小版本号 • 第三位表示bug fix • 第四位表示hot fix • 发布scope来⾃自客户需求+对市场未来的认识 • 正式发布⾄至少包含code done,test done,doc done
14 .客户问题解决流程 • 客户问题会按照优先级排序P0/P1/P2/P3 • 客户问题描述需要包含系统环境,代码版本,重现⽅方法 • 功能问题需要借助错误⽇日志或者core dump⽂文件 • 性能问题需要借助explain analyze结果或者perf结果
15 .感谢观看 让⼈人类只为兴趣⽽而⼯工作