大数据SQL优化原理与实践系列之认知篇(一)
系列前言
本系列文章为阅读学习《大数据SQL优化原理与实践》陈鹤 杨国栋◎著 一书的学习笔记。在阅读整篇之后,进行提炼和个人思考,欢迎讨论。
此书共分为4篇,包括10章。
认知篇(第1章)主要面向初学者阐述为什么大数据计算或存储引擎发展至今,最终都会选择以SQL作为统一查询语言的原因及利弊,大数据SQL从业者目前面临的主要问题是什么,以及调优的两个根本目标。
原理篇(第2章)以深入浅出的方式解读SQL的本质,为了降低读者理解的门槛,本篇还以Hive、Spark和Flink这三个主流的引擎框架为例,从源码的角度探索SQL执行背后的秘密。
实践篇(第3-9章)首先深入解读引擎查询优化器的两大优化策略——基于规则的优化和基于代价的优化的实现原理、示例和局限性,然后以Hive、Saprk、Flink等主流引擎为蓝本,探索SQL优化(包括结构与参数调优、子查询优化、连接优化、聚合优化)的解决思路和方法论,并给出作者的多年总结的一些“坑”。
案例篇(第10章)以实践篇的各种真实需求调优历程为基础,以点带面,以小明大,分享电商、金融、银行这三个典型行业的典型公司大数据SQL调优案例,还给出了内容平台数仓、查询高可用、实时性数仓等业务场景的解决方案。
大数据的发展历程
个人总结大数据有几个发展时期:
其一为开源组件蛮荒发展时期,各种组件针对不同的场景,寻求差异化竞争八仙过海,各显神通。
其二为场景化查漏补缺时期,已有设计的组件已难以支撑不断发展的业务场景、倍增的数据规模以及高效率读写统计分析需求。
其三为一体化集成式大数据平台时期,这时候开始提出建设一站式大数据平台,降低开发门槛和运维难度,提高工作效率。
其四为大数据理论体系建设时期,这时候阿里率先提出OneData,腾讯、华为等公司相继跟进输出各自的数据之道 or 数据之路,旨在数据基础建设时同步开展数据治理,元数据管理等工作,开始在数据服务体系发力。
其五为当下,已有的综合解决方案如数据中台,数据仓库的大基建时代已经过去,开始精益化管理、运营和服务,做降本增效,做数据资产。
自2021年之后,大数据领域再没有开天辟地式的理论或产品出世,大都踩在巨人的肩膀上做更细化场景的增删改查。湖仓一体也是这个阶段提出的,湖上建仓和数仓沉湖,改变存储架构及介质,以降本增效开拓市场。同时MPP数据库在查询层(PB级以下)做到了实质性的场景统一,性能提升,也是以降本增效开拓市场。
个人总结未来大数据可能发力方向: