汽車之家 818 TiDB 集群整體架構(gòu)圖
數(shù)據(jù)庫(kù)壓測(cè)
在 818 活動(dòng)前,數(shù)據(jù)庫(kù)團(tuán)隊(duì)聯(lián)合業(yè)務(wù)方一起做了一輪一輪嚴(yán)格的故障演練壓測(cè),確保后端的高可用。
陶會(huì)祥透露,汽車之家的故障演練分為多種,光數(shù)據(jù)庫(kù)就會(huì)演練主庫(kù)故障和機(jī)房故障,一共做了三輪。每一輪測(cè)試中 TiDB 的表現(xiàn)都非常優(yōu)秀,KV 故障基本在幾十秒,只需 20 秒即可恢復(fù),即使機(jī)房故障也能在一分鐘之內(nèi)進(jìn)行自動(dòng)切換。
為了保障活動(dòng)平穩(wěn)支撐,PingCAP 社區(qū)技術(shù)專家連續(xù)三年為汽車之家提供了社區(qū)技術(shù)支持。在今年的壓測(cè)環(huán)節(jié)中,社區(qū)技術(shù)專家與汽車之家 DBA 一起完成了調(diào)優(yōu),良好地解決了寫入熱點(diǎn)問(wèn)題,將性能翻了好幾倍。最終在 818 高峰時(shí)期,TiDB 順利支撐了晚會(huì)期間 APP 用戶 9048 萬(wàn)次互動(dòng),并抗住了最大每秒 40 萬(wàn)行的寫入,SQL 99 穩(wěn)定在 30ms 以下。TiCDC 性能表現(xiàn)也十分強(qiáng)勁,向下游 MySQL 同步速度高達(dá) 13 萬(wàn)行每秒 。跨中心的 TiFlash MPP 架構(gòu),為大屏近實(shí)時(shí)展示助力總次數(shù)、秒殺和搖獎(jiǎng)的每輪參與用戶等信息提供了強(qiáng)有力的支撐。
陶會(huì)祥都對(duì)大促中 TiDB 的表現(xiàn)給予十分高的評(píng)價(jià):TiDB 在這種十億以上的數(shù)據(jù)量級(jí)場(chǎng)景下是非常適合的,一是 TiDB 的分析能力是實(shí)時(shí)的,二是 TiDB 的數(shù)據(jù)存儲(chǔ)能力比傳統(tǒng)數(shù)據(jù)庫(kù),如 SQL Server 之類強(qiáng)太多。 TiDB 結(jié)合了傳統(tǒng)數(shù)倉(cāng)和傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)點(diǎn),非常適合應(yīng)用在大促這種量級(jí)的業(yè)務(wù)環(huán)境。
未來(lái)規(guī)劃
汽車之家的數(shù)據(jù)庫(kù)團(tuán)隊(duì)在本次 818 大促中,也總結(jié)出了非常多的最佳實(shí)踐:
基于本次活動(dòng)中的良好表現(xiàn),陶會(huì)祥表示,汽車之家接下來(lái)還會(huì)在更多業(yè)務(wù)中推進(jìn) TiDB 上線。比如以前汽車之家的很多數(shù)據(jù)會(huì)跑在 Hive 里,需要到第二天才能知道昨天發(fā)生了什么事。如果應(yīng)用 TiDB ,可以針對(duì)運(yùn)營(yíng)需要的用戶數(shù)據(jù)、業(yè)務(wù)指標(biāo)的分析,去做秒級(jí)的準(zhǔn)實(shí)時(shí)推送,預(yù)計(jì)能夠?qū)⑦@一時(shí)間壓縮到 5-10秒。業(yè)務(wù)方可以立即知道上一刻用戶有什么變化,數(shù)據(jù)有什么更新。