
大數(shù)據(jù)時代如何構(gòu)建高性能數(shù)據(jù)庫平臺
在數(shù)據(jù)爆炸的時代,給眾多IT從業(yè)人員帶來了相當(dāng)大的困擾—伴隨著大數(shù)據(jù)分析,商業(yè)智能的發(fā)展,數(shù)據(jù)量呈現(xiàn)指數(shù)增長,傳統(tǒng)數(shù)據(jù)處理系統(tǒng)已不堪重負(fù)。在這樣的背景下,“數(shù)據(jù)庫平臺的構(gòu)建”逐漸成為一個備受關(guān)注的話題。
影響數(shù)據(jù)庫性能的三要素
對于數(shù)據(jù)庫系統(tǒng)而言,絕大多數(shù)情況下影響數(shù)據(jù)庫性能的三個要素是:數(shù)據(jù)運算能力、數(shù)據(jù)讀寫時延和數(shù)據(jù)吞吐帶寬,簡稱計算、時延、吞吐。計算指的是CPU的運算能力,時延是數(shù)據(jù)從存儲介質(zhì)跑到CPU所需的時間長短,吞吐則是數(shù)據(jù)從存儲介質(zhì)到CPU的道路寬度。一般情況下,關(guān)注計算和時延是比較多的,但是在數(shù)據(jù)量越來越多的情況下,吞吐也成為影響數(shù)據(jù)庫性能的重要因素。如果吞吐帶寬不夠,會造成計算等待隊列的增加,CPU占用率虛高不下。這種情況下,即使增加再多的計算資源也于事無補,相當(dāng)于千軍萬馬擠獨木橋,馬再好也是枉然。一個高性能的數(shù)據(jù)庫平臺,一定是計算、時延、吞吐三方面的能力齊頭并進,相互匹配。
計算能力由CPU主頻和核數(shù)決定,實踐中看CPU占用率就能夠大致確定CPU配置是否合適。時延的指標(biāo)很簡單,時間是衡量時延的唯一指標(biāo)。吞吐量則是通過每秒在I/O流中傳輸?shù)臄?shù)據(jù)總量來衡量的。
從三要素到三方法
明確了影響性能的要素后,就可以著手改變各要素來提升數(shù)據(jù)庫平臺的性能。
1.計算能力:x86化的今天,提升計算能力就是:增加CPU內(nèi)核數(shù)量或升級CPU主頻。
2.時延能力:加快數(shù)據(jù)從存儲介質(zhì)到CPU的速度,即提升數(shù)據(jù)讀寫時延,從以下三方面努力:
a)降低存儲介質(zhì)的讀寫時延:使用電子尋址的Flash顆粒來替換旋轉(zhuǎn)的機械磁頭,是降低存儲介質(zhì)讀寫時延最有效的方法。實踐中可結(jié)合數(shù)據(jù)吞吐量來確定是選擇SAS總線上的SSD盤還是選擇PCIE總線上的Flash卡。
b)降低網(wǎng)絡(luò)的傳送時延:網(wǎng)絡(luò)時延則可以通過InfiniBand網(wǎng)絡(luò)來解決,注意不要選擇IPoIB,而是要使用RDS,相比傳統(tǒng)UDP協(xié)議,網(wǎng)絡(luò)延遲至少減一半。通過SRP協(xié)議,利用RDMA技術(shù)在網(wǎng)絡(luò)層面?zhèn)魉蚐CSI指令和數(shù)據(jù),使得數(shù)據(jù)庫節(jié)點能夠像操作本地SCSI設(shè)備一樣讀寫遠(yuǎn)程的數(shù)據(jù),對于時延的降低,不是FC網(wǎng)絡(luò)能夠企及的。
c)擴大存儲層的數(shù)據(jù)緩存大?。捍鎯拥臄?shù)據(jù)緩存大小對時延也至關(guān)重要,如果有盡可能多的數(shù)據(jù)讀寫在緩存中進行,就避免了數(shù)據(jù)下盤。緩存的大小以及緩存算法都對緩存命中率有直接的影響,這一點往往被忽略。除了單點緩存之外,分布式緩存技術(shù)也是非常重要的,通過分布式緩存技術(shù),可以避免單點緩存的局限性,擴大緩存的全局能力,增加緩存規(guī)模,提高緩存命中率。
3.吞吐能力:拓寬數(shù)據(jù)通路的方法有兩種:使用高速InfiniBand網(wǎng)絡(luò)、使用分布式存儲。前者比較容易想到,實施也簡單,基于FDR 的56Gb/s InfiniBand解決方案可實現(xiàn)每秒1.37億條消息的信息通信速率,在16個計算節(jié)點上,性能表現(xiàn)比QDR 40Gb/s InfiniBand高出20%-30%,而與FC、萬兆和4萬兆以太網(wǎng)相比,性能更是領(lǐng)先了100%到300%,是最高效的計算和存儲互聯(lián)方案。對于后者,分布式存儲,其好處在于不將數(shù)據(jù)集中存放在某幾塊存儲介質(zhì)上,而是將數(shù)據(jù)全部打散存放在多個存儲節(jié)點的許多個介質(zhì)上,這樣避免在大規(guī)模數(shù)據(jù)并發(fā)讀寫訪問時,存儲介質(zhì)的單點能力成為數(shù)據(jù)讀寫的瓶頸,通過分布式的并發(fā)能力來提升數(shù)據(jù)讀寫吞吐能力。注意的是,一定要使用高性能低時延的分布式塊存儲,分布式文件存儲是無法滿足性能要求的。
通過計算、時延、吞吐的三管齊下,通過使用SSD存儲介質(zhì)、InfiniBand網(wǎng)絡(luò)交換以及分布式存儲,數(shù)據(jù)庫平臺的性能將得到極大提升。
未來為是何種模樣
高性能數(shù)據(jù)庫系統(tǒng)未來向著內(nèi)存化、云化的方向在不斷發(fā)展。SAP的HANA內(nèi)存數(shù)據(jù)庫,Oracle 12c的內(nèi)存特性,GemFire的分布式內(nèi)存數(shù)據(jù)緩存,以及Spark的內(nèi)存并行計算,都在昭示著內(nèi)存化的未來方向,其本質(zhì)還是通過內(nèi)存的高速讀寫與高速總線來解決時延和吞吐問題。
數(shù)據(jù)庫的云化,即DBaaS(數(shù)據(jù)庫即服務(wù)),其核心就是整合IT基礎(chǔ)設(shè)施中的硬軟件,實現(xiàn)簡單化、標(biāo)準(zhǔn)化和靈活性,提升可用性以及安全保障,同時降低成本。當(dāng)然,云化在性能和QoS方面也對IT基礎(chǔ)設(shè)施提出了更多增強性的挑戰(zhàn)。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10