推荐几本数据库基础书
Posted dbLenis
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐几本数据库基础书相关的知识,希望对你有一定的参考价值。
点击蓝色“有关SQL”关注我哟
加个“星标”,天天与10000人一起快乐成长
这两天费劲心力,写了一篇技术文《SSD怎样影响数据库性能》。选这个主题时,我就预感,阅读量不会太好。结果也不出我所料,比平时低一半。
我一直佛系运营公众号,(圈里跟我差不多体量的小伙伴,靠号已年入过百万),我承认自己没有财商,所以倒也不是那么急的去赚这个收入。但看到辛苦写的文章,阅读量如此惨淡,还是不免有些伤感。
当然今天也不是来说矫情话的。把自己的惨说给读者听,以此来博取同情,向来都不是我的作风。我只管写文章,研究课题,分享出来。如果能帮到一些朋友,那是最好,若没有帮助,那至少也取悦了自己。
况且在写文章的过程中,我认为受益最多的,还是作者本人。
比如在写这篇《SSD》的时候,我大概花了10多小时找资料,反反复复对其中的细节问题推敲,不断问倒自己,再重来。期间一度产生了放弃的情绪。
好在这个时代,有太多资料可供查询,有深入浅出的书,还有扣细节的论文,还有很多热心的朋友做了动画,图解和视频。想学不好,都难!
熬过了这段时光,对其中很多原先理解不深的逻辑,有了更一步认识。所以技术文要写出来,才有进一步探索的冲动与激情!
说说我想写这篇《SSD》的由来。有天晚上,一位读者找我商量,要给他的小程序做一次秒杀和团购的活动。用户数大约在15万左右,套上团购估计会有30万的流量。
于是我就在网上开始找提高云数据库性能的办法。找着找着,有一篇论文《MixStore: Back-End Storage Based on Persistent Memory and SSD》引起了我注意。
该论文是国家重点研发计划项目,既然提到了SSD,那么我就忍不住自问,SSD到底怎样影响了数据库性能的呢。毕竟2013年的时候,淘宝的DBA团队对SSD有着不一样的看法,认为SSD在充当快速持久性存储(比如 redo log)时,还比较吃力。
所以就来了兴趣。主题有了,我该写成什么样呢。是一堆参数 + 对比曲线图? 还是画一些数学公式,看上去只有神才能看懂的原理解析。
都不是。写文章到如今,基础东西要写得那么公式化,那就只能劝退大家了。所以我还是尽量用大白话,写了一遍。但东西实在太多,对于文章结构是个不小的挑战,虽然几经修改,但很多地方还不是很满意。
写这么一个大的主题,乐趣在于探索。我拿到的第一本书是《大型网站技术架构-核心原理与案例分析》李智慧老师所著。
本书一大特色,就是全。你能想到的网站性能影响因子,李老师都替你想到了,你没有想到的,本书中也有。
比如网站的基本架构模式,怎么做分层,缓存怎么配置,安全策略怎么做;前端性能怎么优化,应用服务器与存储怎么优化,高可用该怎么搭建。
可以说,本书包罗万象,绝对打开你的眼界。但也有遗憾的地方,那就是面面俱到了,细节就丢帧。比如SSD,基本没有渗透到原理细节。
但,没事。我就是书囤的多。这本书没讲,《操作系统概念》总讲了吧。
翻到存储那章。好嘛,连磁盘运转物理图都给画出来了。喏,就是这张:
那这样的机械原理,是不是跟车站调度很相像?所以就有了《SSD》开头那一节。
但本书也有遗憾,没有讲到SSD的内部结构。于是我又拿起了《高性能 mysql》
这本书可以说是所有数据库人员的必备书了。如果你还没看到,强烈推荐读一读。
本书讲 SSD 与机械硬盘的对比那章,总算搭边了。对于 SSD的写入放大,垃圾回收,组RAID,都开始细节化的讲述了。
虽说这本书已经从原理上讲解的差不多了,但距离理工男的理解,还差点意思。因为它缺少了用实验来证明SSD的优越性。
于是,我把目光投向了《数据库索引设计与优化》.
本书最大的特点就是一切用数据说话。就算是每一次随机IO, 都能测到ms级。专业性非常强!可惜,现在各大网站都买不到了。如果你对用数字说话,非常感兴趣,建议读一读。
除开这些书本,我还读了一些论文。比如我朋友圈发的这份:
读这些论文的好处,就在于可以去了解业内对SSD的一些研究,比如 FTL 芯片算法的更新。图上这位美女,是老东家的一位同事,素未蒙面,但肯定一起在饭堂吃过饭,偶遇过。所以专门挑着放上来。
《SSD》这篇文章,我大约花了15个小时左右,10个小时看资料,5小时写作。
有图为证:
搜集资料最费时,你看,0622代表6月22日,一直到0703,都在查资料。同时也最快乐。了解那么多前沿知识,满足感爆棚!
文章是在这个环境下写出来的:
一个专门用来写字儿的地方,两张白纸就是选好的主题与研究进度。有时候没什么都不做,仅仅是蒙头写东西,放上一盘班得瑞的曲子,磨上一杯手冲,足够消磨一个下午了!
--完--
往期精彩:
以上是关于推荐几本数据库基础书的主要内容,如果未能解决你的问题,请参考以下文章
推荐几本这个系列封面的编程书,涉及Python计算机图形学Linux