阿里云-云數(shù)據(jù)庫PetaData最佳實踐-D

阿里云-云數(shù)據(jù)庫PetaData最佳實踐-D

ID:36204829

大?。?31.13 KB

頁數(shù):3頁

時間:2019-05-07

阿里云-云數(shù)據(jù)庫PetaData最佳實踐-D_第1頁
阿里云-云數(shù)據(jù)庫PetaData最佳實踐-D_第2頁
阿里云-云數(shù)據(jù)庫PetaData最佳實踐-D_第3頁
資源描述:

《阿里云-云數(shù)據(jù)庫PetaData最佳實踐-D》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、PB級云數(shù)據(jù)庫PetaData最佳實踐PB級云數(shù)據(jù)庫PetaData/最佳實踐最佳實踐分區(qū)表的設(shè)計用戶存有海量數(shù)據(jù)的表應(yīng)該按照數(shù)據(jù)規(guī)模進行拆解,表的數(shù)據(jù)將拆解成多個數(shù)據(jù)分區(qū)獨立存儲,通常的設(shè)計原則是:1.主鍵(PrimaryKey):單實例數(shù)據(jù)庫不不要求表一定要有主鍵,但是對于分布式數(shù)據(jù)庫,主鍵則是必須的,以保證一行數(shù)據(jù)是全局唯一的,避免遷移過程出現(xiàn)問題。如果用戶沒有特殊的性能需求或業(yè)務(wù)耦合問題,則應(yīng)將主鍵設(shè)計為無意義的整數(shù)值或者自增的;2.分區(qū)鍵(PartitionKey):用戶的分區(qū)表必須按照一種維度進行數(shù)據(jù)劃分,用戶在按照分區(qū)鍵維度進行查詢

2、時,就能做到線性性能增長,分區(qū)鍵通常有如下選擇方法:1)按業(yè)務(wù)ID切分,如用戶ID、商品ID等,適合每個業(yè)務(wù)ID的數(shù)據(jù)較均勻且查詢簡單的場景;2)按多個業(yè)務(wù)維度切分,用戶建立多張表存入相同數(shù)據(jù),但是每張表按照不同業(yè)務(wù)維度切分,查詢時根據(jù)過濾條件選擇不同的表,以提升訪問性能,適合查詢復(fù)雜且單一切分方式不能滿足需求的場景;3)按自增主鍵切分,若表分區(qū)方式為分區(qū)表,主鍵為自增,且該字段同時為分區(qū)鍵,則此時寫入為隨機分區(qū),查詢需要讀取所有分區(qū),適合有數(shù)據(jù)偏斜且寫多讀少的場景;4)至少保證在分區(qū)鍵上有一個索引;業(yè)務(wù)列,其它的列統(tǒng)歸為此類,僅用于存儲數(shù)據(jù),通

3、常要考慮:1)列不宜過長,夠用即可,臨時加載的長列會消耗額外內(nèi)存,影響查詢性能;2)準(zhǔn)確定義列的類型,避免查詢時使用的類型與表定義的類型不匹配,從而進行類型轉(zhuǎn)換,以致不能正確使用索引;3)優(yōu)先使用timestamp類型代替其它時間日期類型,且使用時嚴(yán)格遵守mysql的時間日期格式;主鍵索引,若主鍵是自增類型,則主鍵索引不會對整體性能優(yōu)化有改善,若主鍵與業(yè)務(wù)相關(guān),則可以對最頻繁使用的SQL語句的查詢條件建立主鍵索引,這樣可以提升性能;5.輔助索引,其他情況下,如果不能通過將SQL語句拆解成單分區(qū)的,且不能利用主鍵進行索引優(yōu)化時,需要對全部分區(qū)進行掃

4、描,此時可以對這部分全分區(qū)掃描的語句的查詢條件建立索引,使得在每個分區(qū)上進行訪問時,仍然能取得較高的性能*注:PetaData目前暫不支持廣播表(廣播表的數(shù)據(jù)在每個數(shù)據(jù)分區(qū)均有相同副本,用于與分區(qū)表進行join)性能優(yōu)化原則常用優(yōu)化包括2PB級云數(shù)據(jù)庫PetaData/最佳實踐1)合理的選擇拆分字段。選擇拆分字段時需要綜合考慮查詢性能、分布式事務(wù)、熱點、數(shù)據(jù)遷移等多個因素;2)掌握SQL的執(zhí)行計劃,尤其是核心SQL。對于不確定的SQL應(yīng)在分布式數(shù)據(jù)庫執(zhí)行'explainsql'命令,確定SQL有沒有跨分區(qū)、有沒有改寫以及底層有沒有合適的索引,合并

5、時是否進行了排序和分組動作;3)對底層MySQL建立合適的索引,這一點看似與分布式數(shù)據(jù)庫無關(guān),但卻是最重要的。分布式數(shù)據(jù)庫的高性能依賴于底層數(shù)據(jù)庫的高性能,而對底層數(shù)據(jù)庫性能來說,建立需要的索引是重要的環(huán)節(jié);4)確保語句能正確使用到索引,例如查詢條件能被索引完全覆蓋到,保證分區(qū)鍵上有索引等;5)查詢盡量在單機完成,最為簡單的方式就是在分區(qū)字段上指定等值條件,使操作只發(fā)送到一個后臺數(shù)據(jù)庫節(jié)點。若不指定,則操作需要發(fā)送到每個后臺節(jié)點,可能導(dǎo)致性能大幅下降;6)盡量避免分布式事務(wù)和分布式查詢;7)同時使用其他適用于MySQL的優(yōu)化手段;設(shè)計表結(jié)構(gòu)的過程

6、1)預(yù)估數(shù)據(jù)量、訪問規(guī)模,準(zhǔn)備測試數(shù)據(jù),測試原始數(shù)據(jù)庫的性能基線;2)分析和設(shè)計表結(jié)構(gòu)、約束、索引;3)分析和設(shè)計分區(qū)方式和分區(qū)字段;4)分析和設(shè)計常用sql語句訪問的頻度和分區(qū)數(shù)量5)分析和設(shè)計需要聚合、排序、分組、條件過濾的字段;6)重新在分布式數(shù)據(jù)測試性能基線;7)調(diào)整分布式數(shù)據(jù)庫的配置參數(shù),重新觀察系統(tǒng);8)調(diào)整讀寫比例、并發(fā)活躍連接數(shù),重新觀察系統(tǒng);9)比較結(jié)果,找出正確的優(yōu)化方式;2

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。