突破年薪20W,必读的三本数据库好书

点击蓝色“有关SQL”关注我哟

加个“星标”,天天与8000人一起快乐成长

    图 | 榖依米

标题必须这么写,要不然大家都不会点进来啊。不点进来,这么重要的三本书,大家读不到,岂不是可惜。

好,那么我认真介绍下这三本书。

《数据仓库工具箱》

2010年时,惠普在做全球500百强企业的数据仓库工程。当时是整个上海地区规模最大的数据仓库之一,拥有近300多名数据仓库及BI工程师,分布于 ETL, Data Modeling, Reporting, Master Data Management 和 BA 多个领域。以至于之后猎头来挖我们,开口就问“你是不是惠普这个团队的?”。

这么多工程师,面试的时候普遍被问到的问题是,“你读过 Kimball 的数据仓库工具箱吗,举例说说事实表与维度表的应用场景?”

可见,本书简直是数仓界教父般的存在。

在没有遇到这本书之前,我们做进销存仓库盘点(期末实物与工厂在线实物比对),订单期初期末营业额结算时,通常会采取全链数据表保存来处理,此时就要求业务停止输入,以保证财务,库存,营运全部都核算正确。显然这是落后的做法。而书中给出的事实累积快照表设计,就能很好的解决这类问题。

再比如,我们要统计每年 iPhone, iPad, Mac 在三大地区亚洲,北美以及欧洲的销量。按照惯常的做法,每年的销量做成一张表,每个地区年销量做成一张表,再用一张表计算每年的 iPhone,iPad, Mac 销量,然后两两 Join 这些表,得到数据。但参考了这本书后,我们知道日期,地区,产品都是销量的维度,将其维度-事实模型刻画在一张表结构中,足以解决任意维度的组合统计。

当我做了2年的CRUD后,看到如此完美的设计,毫不犹豫的犒劳了自己一顿KFC全家桶,那时才800多块的月工资啊,一个全家桶接近120.

《数据库索引设计与优化》

对于游戏玩家来说,三星级别听着肯定耳熟。它很可能代表某个角色的强攻击力,快速回血以及超强耐力。

索引也有星级属性。够简,够快,够用。

这本书写于2005年,英文名是《Retional Database Index Design and the Optimizers》. 全网第一本从硬件,软件角度来考量索引设计的书。如果读过我写的这篇文章 IBM 关系型数据库论文,大概看到这本书会非常亲切。

带读 IBM 关系型数据库经典论文

大量的SQL查询缓慢的终极原因,都是由于随机读产生的。此时,你看到市面上所有写到或用到 SELECT * 的语句时,都应该骂他一句垃圾。这是最最基本的数据库常识。SELECT * 产生大量无用的硬盘随机读,在大数据量查询下,浪费了极多的无用功。

记住简单的衡量查询时间的公式:

查询时间=索引查找时间+ N x 随机回表时间

如果能将 N x 随机回表时间 去掉,那是极好的设计。

本书的一大特色,在于把优化影响因子都量化了,CPU时间,IO 时间的预算,都有量化的公式,掌握好这些公式,在优化中,我们SQL程序员就可以有的放矢,而不至于两眼摸瞎。

《设计数据密集型应用》

这是一本超进阶的书。所有数据架构师理应都放在案头参考。无论数据大小,离线或者实时,单机或者分布式,本书都具有参考意义。

小数据,我们也会用到分库分表,再小也会用到分区。时代发展到今天,数据量肯定积累了不少,不分区的数据库应该没有了。分区的应用,极大的方便了管理和数据处理。还记得我写过一秒切换数亿级数据那篇文章嘛,此书便讲了其原理。

大数据,就别说分区了。小数据分区还只停留在单机机器资源利用的维度上,那大数据分区,就是以集群(一群机器)资源为操作单元。此时考虑的问题,不再停留于怎么分区,更多讨论容错与故障转移,还有数据安全。

数据应用中CAP理论肯定不陌生。每个数据库,数据存储的设计,都有其独特的CAP理论实现。本书从关系型数据库的实现到分布式系统(Hadoop)实现,都一一做了阐述,看完神清气爽。

作为数据开发工程师,机器就是我们的战士,如何调度这些战士,完成伟大的事业,还靠自己的理解与领悟。三本书,推荐给你。

世界读书日,好好读书,不负韶华。

--完--

往期精彩:

本号精华合集(二)

如何写好 5000 行的 SQL 代码

如何提高阅读 SQL 源代码的快感

我在面试数据库工程师候选人时,常问的一些题

零基础 SQL 数据库小白,从入门到精通的学习路线与书单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dbLenis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值