首先,童家旺介紹了他認(rèn)為的什么是優(yōu)化:第一、做任何事情最快的方法就是什么也不做。
▲支付寶資深數(shù)據(jù)庫架構(gòu)師童家旺
第二、不訪問不必要的數(shù)據(jù):使用B*Tree/hash等方法定位必要的數(shù)據(jù)。使用column Store或分表的方式將數(shù)據(jù)分開存儲。使用Bloom filter算法排除空值查詢。
第三、合理的利用硬件來提升訪問效率:使用緩存消除對數(shù)據(jù)的重復(fù)訪問。使用批量處理來減少磁盤的Seek操作。使用批量處理來減少網(wǎng)絡(luò)的Round Trip。使用SSD來提升磁盤訪問效率。
響應(yīng)時(shí)間和吞吐量之間的關(guān)系
1、性能。衡量完成特定任務(wù)的速度或效率。
2、響應(yīng)時(shí)間。衡量系統(tǒng)與用戶交互式多久能夠發(fā)出響應(yīng)。
3、吞吐量。衡量系統(tǒng)在單位時(shí)間里可以完成的任務(wù)量。
▲反應(yīng)時(shí)間
▲傳統(tǒng)磁盤的訪問特性
B*Tree優(yōu)化數(shù)據(jù)訪問介紹
▲B*Tree優(yōu)化數(shù)據(jù)訪問
B*Tree優(yōu)化數(shù)據(jù)訪問模擬場景
▲B*Tree優(yōu)化數(shù)據(jù)訪問模擬場景
童家旺通過阿里巴巴的真實(shí)應(yīng)用場景介紹了如何用分表存儲來提高性能。
一、場景介紹:
1、表VeryBigTable含有30個(gè)列
2、表的記錄數(shù)為50,000,000條
3、平均每個(gè)用戶為300條左右
4、其中有2個(gè)列屬于詳細(xì)描述字段,平均長度為2k
5、其它的列的總長度平均為250個(gè)字節(jié)
6、此表上的查詢有兩種模式
7、列出表中的主要信息(每次20條,不包含詳細(xì)信息,90%的查詢)
8、查看記錄的詳細(xì)信息(10%的查詢)
9、保存與Oracle數(shù)據(jù)庫,默認(rèn)block_size(8k)
二、要求:
1、對此業(yè)務(wù)進(jìn)行優(yōu)化
2、分析數(shù)據(jù),說服開發(fā)部門實(shí)施此優(yōu)化
三、性能分析
1、每塊記錄數(shù)
8192 * 0.80(1) / 250 = 25.5 (主表)
8192 * 0.80 / 2000 = 3.27(詳情表)
8192 * 0.80 / ( 2000 + 250 ) = 2.91
2、訪問的邏輯IO(內(nèi)存塊訪問)
List的查詢代價(jià)
改進(jìn)后=( 300/25.5 ) * y + 4 + x = 4 + x + 11.8y = 4(2) + 7(3) + 11.8 * 1.5(4) = 28.7
改進(jìn)前=( 300/2.91 ) * y + 4 + x = 4 + x + 103.y = 4 + 7 + 103 * 1.5 = 165.5
3、訪問涉及到的物理讀(磁盤塊訪問)
List的查詢代價(jià)(邏輯IO * ( 1 主站蜘蛛池模板: 91精品在线观看入口 | 日本精品中文字幕 | 亚洲欧美v国产一区二区 | 国产一区二区三区在线免费观看 | 欧美日韩精品一区二区 | 欧美一区二区三区的 | 日韩av在线免费电影 | 在线看片网站 | 日本青草视频 | 在线观看成人福利 | 国产高清无av久久 | 少妇久久久 | 亚洲情网站 | av片免费 | 亚洲九九 | 黄色片av | 中文字幕在线观看的电影 | 成人影院一区二区三区 | www.xxx免费 | 日韩av一区在线观看 | 日韩成人在线观看 | 国产精品人人做人人爽人人添 | 欧美精品一区二区三区视频 | 91精品久久久久久综合五月天 | 精品一区二区免费视频 | 国产欧美一区二区视频 | 国产精品视频播放 | 波多野结衣一区二区三区高清 | 最新中文字幕视频 | 国产一区二区电影 | 在线一区观看 | 再深点灬舒服灬太大了添少妇视频 | 国产三级在线播放 | 成人黄色在线视频 | 国产综合久久 | 亚洲成a人| 一级爱爱片| 国产精品久久久久国产a级 久久国产精品精品 | 2020av视频| 欧美男人的天堂 | 国产一区在线看 |