【课前导读】
你好,我是贺强。
这是《CDA Pro 进阶版》的第四课。
在前三节课,我们讲了思维、模型、用户分层。
但当你兴致勃勃地找 IT 部门要数据时,通常会遭遇当头一棒:
“你要的数据有 500 万行,Excel 发不过去。”
“我去数仓跑个 SQL 给你。”
这时候很多新人就蒙了:什么是数仓?什么叫跑 SQL?为什么 Excel 打开 100 万行就转圈圈?
作为 Pro 级分析师,你必须跳出 Excel 的舒适区,理解企业级数据的存储逻辑。
今天我们不写代码,只讲架构。弄懂了OLTP和OLAP,你就懂了数据的来龙去脉。
一、 为什么 Excel 会“死”?—— 个人工具 vs 企业仓库
Excel 的行数上限是1,048,576 行。
但这只是理论值。实际上,如果你的表格里有复杂的 VLOOKUP 公式,超过10 万行电脑就开始发烫了。
为什么?
因为Excel 是“计算器”,它把所有数据加载到内存 (RAM)里计算。你的内存有限,自然会卡。
而数据库 (Database)是“仓库”,它把数据存在硬盘里,用多少取多少。别说 100 万行,就是 10 亿行,数据库也能在毫秒级内给你结果。
【贺强 Pro 定义】
Excel:个人的记事本,随手记,灵活,但存不多。
数据库:企业的图书馆,有管理员,有索引,存取海量信息。
二、 数据的两次生命:OLTP 与 OLAP
这是 CDA Level 1 考试的核心考点,也是面试时区分“小白”和“内行”的分水岭。
企业的数据架构,通常被切分为两套系统:
1. OLTP (On-Line Transaction Processing) —— 联机事务处理
【角色】它是“收银员”。
【场景】淘宝下单、银行转账、发一条微信。
【特点】
高频写入:每秒钟可能有几万人在下单。
数据量小:每次只操作一条记录(比如你买了一个杯子,数据库只记这一行)。
追求速度:必须实时,哪怕慢 1 秒,用户都会骂娘。
【典型代表】MySQL, Oracle, PostgreSQL。
2. OLAP (On-Line Analytical Processing) —— 联机分析处理
【角色】它是“分析师”。
【场景】做年度财报、计算全年的用户留存率。
【特点】
低频读取:每天可能只跑几次报表。
数据量大:一次要读取几亿行数据(把全年的订单加起来)。
允许延迟:跑个报表花 10 分钟,老板也能接受。
【典型代表】Hive, Snowflake, ClickHouse, 阿里云 MaxCompute。
【贺强 Pro 实战心法】
千万别在 OLTP 系统(业务库)里跑复杂的分析 SQL!
如果你在双 11 当天,去生产数据库里运行SELECT *查全年销量,你可能会把数据库锁死,导致用户无法下单。
一定要去数仓 (OLAP) 里跑数据!这就是为什么公司要搭建数据仓库。
三、 数据仓库 (Data Warehouse) —— 企业的“大脑”
数据仓库(DW),就是把各个业务系统(APP、官网、小程序)产生的数据,经过清洗(ETL),统一存放在一个专门用来分析的地方。
如果把数据比作“水”:
OLTP是每家每户的水龙头(产生数据)。
ETL是净水厂的管道(清洗数据)。
OLAP/数仓就是巨大的水库(存储并分析数据)。
【为什么要有数仓?】
统一口径:销售部说 GMV 是 100 万,财务部说是 90 万。因为数据源不同。数仓强制统一标准。
历史追溯:业务库为了快,通常只保留最近 3 个月的数据。数仓会保留 10 年的数据,方便你做同比/环比分析。
四、 唯一的钥匙:SQL (Structured Query Language)
既然数据都在数据库和数仓里,你没法像 Excel 那样双击打开,怎么操作它?
你需要一门语言:SQL。
SQL 是数据分析师的“世界语”。不管你是用 Python、Tableau 还是 PowerBI,底层逻辑都是 SQL。
SQL 只有四个核心动作(CRUD):
C (Create):增(存数据)
R (Retrieve):查(取数据)——分析师 99% 的时间都在做这个。
U (Update):改(修数据)
D (Delete):删(删数据)——分析师千万别碰!
在下一节课,我们将正式开始 SQL 实战。不要怕,我会用“自然语言翻译法”教你,保证你 10 分钟学会SELECT。
五、 结语
作为分析师,理解OLTP(生产)和OLAP(分析)的区别,是防止“删库跑路”悲剧的第一步。
记住:
我们不生产数据,我们是数据的搬运工和加工者。
既然我们知道了数据在哪里(数仓),也知道了工具是什么(SQL)。
下一课,请打开你的电脑,我们要开始“写代码”了。
别担心,我会把 SQL 拆解成英语阅读理解,这也是整个专栏最实用的硬技能。
第05课:SQL 基础 (上):一句口诀搞定 SELECT 查询