推薦幾本數(shù)據(jù)庫(kù)基礎(chǔ)書(shū)
點(diǎn)擊藍(lán)色“有關(guān)SQL”關(guān)注我喲
加個(gè)“星標(biāo)”,天天與10000人一起快樂(lè)成長(zhǎng)

這兩天費(fèi)勁心力,寫(xiě)了一篇技術(shù)文《SSD怎樣影響數(shù)據(jù)庫(kù)性能》。選這個(gè)主題時(shí),我就預(yù)感,閱讀量不會(huì)太好。結(jié)果也不出我所料,比平時(shí)低一半。
我一直佛系運(yùn)營(yíng)公眾號(hào),(圈里跟我差不多體量的小伙伴,靠號(hào)已年入過(guò)百萬(wàn)),我承認(rèn)自己沒(méi)有財(cái)商,所以倒也不是那么急的去賺這個(gè)收入。但看到辛苦寫(xiě)的文章,閱讀量如此慘淡,還是不免有些傷感。
當(dāng)然今天也不是來(lái)說(shuō)矯情話的。把自己的慘說(shuō)給讀者聽(tīng),以此來(lái)博取同情,向來(lái)都不是我的作風(fēng)。我只管寫(xiě)文章,研究課題,分享出來(lái)。如果能幫到一些朋友,那是最好,若沒(méi)有幫助,那至少也取悅了自己。
況且在寫(xiě)文章的過(guò)程中,我認(rèn)為受益最多的,還是作者本人。
比如在寫(xiě)這篇《SSD》的時(shí)候,我大概花了10多小時(shí)找資料,反反復(fù)復(fù)對(duì)其中的細(xì)節(jié)問(wèn)題推敲,不斷問(wèn)倒自己,再重來(lái)。期間一度產(chǎn)生了放棄的情緒。
好在這個(gè)時(shí)代,有太多資料可供查詢,有深入淺出的書(shū),還有扣細(xì)節(jié)的論文,還有很多熱心的朋友做了動(dòng)畫(huà),圖解和視頻。想學(xué)不好,都難!
熬過(guò)了這段時(shí)光,對(duì)其中很多原先理解不深的邏輯,有了更一步認(rèn)識(shí)。所以技術(shù)文要寫(xiě)出來(lái),才有進(jìn)一步探索的沖動(dòng)與激情!
說(shuō)說(shuō)我想寫(xiě)這篇《SSD》的由來(lái)。有天晚上,一位讀者找我商量,要給他的小程序做一次秒殺和團(tuán)購(gòu)的活動(dòng)。用戶數(shù)大約在15萬(wàn)左右,套上團(tuán)購(gòu)估計(jì)會(huì)有30萬(wàn)的流量。
于是我就在網(wǎng)上開(kāi)始找提高云數(shù)據(jù)庫(kù)性能的辦法。找著找著,有一篇論文《MixStore: Back-End Storage Based on Persistent Memory and SSD》引起了我注意。
該論文是國(guó)家重點(diǎn)研發(fā)計(jì)劃項(xiàng)目,既然提到了SSD,那么我就忍不住自問(wèn),SSD到底怎樣影響了數(shù)據(jù)庫(kù)性能的呢。畢竟2013年的時(shí)候,淘寶的DBA團(tuán)隊(duì)對(duì)SSD有著不一樣的看法,認(rèn)為SSD在充當(dāng)快速持久性存儲(chǔ)(比如 redo log)時(shí),還比較吃力。
所以就來(lái)了興趣。主題有了,我該寫(xiě)成什么樣呢。是一堆參數(shù) + 對(duì)比曲線圖? 還是畫(huà)一些數(shù)學(xué)公式,看上去只有神才能看懂的原理解析。
都不是。寫(xiě)文章到如今,基礎(chǔ)東西要寫(xiě)得那么公式化,那就只能勸退大家了。所以我還是盡量用大白話,寫(xiě)了一遍。但東西實(shí)在太多,對(duì)于文章結(jié)構(gòu)是個(gè)不小的挑戰(zhàn),雖然幾經(jīng)修改,但很多地方還不是很滿意。
寫(xiě)這么一個(gè)大的主題,樂(lè)趣在于探索。我拿到的第一本書(shū)是《大型網(wǎng)站技術(shù)架構(gòu)-核心原理與案例分析》李智慧老師所著。
本書(shū)一大特色,就是全。你能想到的網(wǎng)站性能影響因子,李老師都替你想到了,你沒(méi)有想到的,本書(shū)中也有。
比如網(wǎng)站的基本架構(gòu)模式,怎么做分層,緩存怎么配置,安全策略怎么做;前端性能怎么優(yōu)化,應(yīng)用服務(wù)器與存儲(chǔ)怎么優(yōu)化,高可用該怎么搭建。
可以說(shuō),本書(shū)包羅萬(wàn)象,絕對(duì)打開(kāi)你的眼界。但也有遺憾的地方,那就是面面俱到了,細(xì)節(jié)就丟幀。比如SSD,基本沒(méi)有滲透到原理細(xì)節(jié)。
但,沒(méi)事。我就是書(shū)囤的多。這本書(shū)沒(méi)講,《操作系統(tǒng)概念》總講了吧。
翻到存儲(chǔ)那章。好嘛,連磁盤(pán)運(yùn)轉(zhuǎn)物理圖都給畫(huà)出來(lái)了。喏,就是這張:

那這樣的機(jī)械原理,是不是跟車站調(diào)度很相像?所以就有了《SSD》開(kāi)頭那一節(jié)。
但本書(shū)也有遺憾,沒(méi)有講到SSD的內(nèi)部結(jié)構(gòu)。于是我又拿起了《高性能 MySQL》
這本書(shū)可以說(shuō)是所有數(shù)據(jù)庫(kù)人員的必備書(shū)了。如果你還沒(méi)看到,強(qiáng)烈推薦讀一讀。
本書(shū)講 SSD 與機(jī)械硬盤(pán)的對(duì)比那章,總算搭邊了。對(duì)于 SSD的寫(xiě)入放大,垃圾回收,組RAID,都開(kāi)始細(xì)節(jié)化的講述了。
雖說(shuō)這本書(shū)已經(jīng)從原理上講解的差不多了,但距離理工男的理解,還差點(diǎn)意思。因?yàn)樗鄙倭擞脤?shí)驗(yàn)來(lái)證明SSD的優(yōu)越性。
于是,我把目光投向了《數(shù)據(jù)庫(kù)索引設(shè)計(jì)與優(yōu)化》.

本書(shū)最大的特點(diǎn)就是一切用數(shù)據(jù)說(shuō)話。就算是每一次隨機(jī)IO, 都能測(cè)到ms級(jí)。專業(yè)性非常強(qiáng)!可惜,現(xiàn)在各大網(wǎng)站都買不到了。如果你對(duì)用數(shù)字說(shuō)話,非常感興趣,建議讀一讀。
除開(kāi)這些書(shū)本,我還讀了一些論文。比如我朋友圈發(fā)的這份:


讀這些論文的好處,就在于可以去了解業(yè)內(nèi)對(duì)SSD的一些研究,比如 FTL 芯片算法的更新。圖上這位美女,是老東家的一位同事,素未蒙面,但肯定一起在飯?zhí)贸赃^(guò)飯,偶遇過(guò)。所以專門挑著放上來(lái)。
《SSD》這篇文章,我大約花了15個(gè)小時(shí)左右,10個(gè)小時(shí)看資料,5小時(shí)寫(xiě)作。
有圖為證:

搜集資料最費(fèi)時(shí),你看,0622代表6月22日,一直到0703,都在查資料。同時(shí)也最快樂(lè)。了解那么多前沿知識(shí),滿足感爆棚!
文章是在這個(gè)環(huán)境下寫(xiě)出來(lái)的:

一個(gè)專門用來(lái)寫(xiě)字兒的地方,兩張白紙就是選好的主題與研究進(jìn)度。有時(shí)候沒(méi)什么都不做,僅僅是蒙頭寫(xiě)東西,放上一盤(pán)班得瑞的曲子,磨上一杯手沖,足夠消磨一個(gè)下午了!
往期精彩:
我在面試數(shù)據(jù)庫(kù)工程師候選人時(shí),常問(wèn)的一些題
零基礎(chǔ) SQL 數(shù)據(jù)庫(kù)小白,從入門到精通的學(xué)習(xí)路線與書(shū)單
