用分表存儲提高性能的方法有哪些-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“用分表存儲提高性能的方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“用分表存儲提高性能的方法有哪些”吧!

成都創(chuàng)新互聯(lián)專注于嘉興企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城開發(fā)。嘉興網(wǎng)站建設(shè)公司,為嘉興等地區(qū)提供建站服務(wù)。全流程按需制作,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

首先,童家旺介紹了他認(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)時間和吞吐量之間的關(guān)系

1、性能。衡量完成特定任務(wù)的速度或效率。

2、響應(yīng)時間。衡量系統(tǒng)與用戶交互式多久能夠發(fā)出響應(yīng)。

3、吞吐量。衡量系統(tǒng)在單位時間里可以完成的任務(wù)量。

用分表存儲提高性能的方法有哪些

▲反應(yīng)時間

用分表存儲提高性能的方法有哪些

▲傳統(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個列

2、表的記錄數(shù)為50,000,000條

3、平均每個用戶為300條左右

4、其中有2個列屬于詳細(xì)描述字段,平均長度為2k

5、其它的列的總長度平均為250個字節(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的查詢代價

改進(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的查詢代價(邏輯IO * ( 1 – 命中率 ))

改進(jìn)后=28.7 * ( 1 – 0.85(5)) = 4.305

改進(jìn)前=165.5 * ( 1 – 0.85 ) = 24.825

4、訪問時間(ms)

改進(jìn)前=邏輯IO時間+物理IO時間= 28.7 * 0.01(6) + 4.305 * 7(7) = 30.422ms
改進(jìn)后=邏輯IO時間+物理IO時間= 165.5 * 0.01 + 24.825 * 7 = 175.43ms

到此,相信大家對“用分表存儲提高性能的方法有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章標(biāo)題:用分表存儲提高性能的方法有哪些-創(chuàng)新互聯(lián)
本文鏈接:http://muchs.cn/article22/dhipcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、動態(tài)網(wǎng)站網(wǎng)站設(shè)計、用戶體驗(yàn)、做網(wǎng)站、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司