真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

數(shù)據(jù)庫優(yōu)化的階段是什么

這篇文章主要講解了“數(shù)據(jù)庫優(yōu)化的階段是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“數(shù)據(jù)庫優(yōu)化的階段是什么”吧!

金沙ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

0x01:SQL優(yōu)化及應(yīng)用程序優(yōu)化

一個系統(tǒng)總是從小到大,所以在系統(tǒng)還是小型系統(tǒng)的時候。首先應(yīng)該注重表的設(shè)計,合理使用主鍵、外鍵、索引;字段選用合適的數(shù)據(jù)類型、合適的數(shù)據(jù)長度。使用SQL考慮索引什么情況是有效的;什么時候是失效的,避免使用索引失效的SQL。

另外應(yīng)該程序優(yōu)化也很重要,比如能批量執(zhí)行SQL,就不要在程序中循環(huán)執(zhí)行SQL。使用各種框架的緩存也非常重要,例如,如果使用MyBatis時,就好合理使用MyBatis的一級緩存和二級緩存;使用Hibernate時,就好合理使用Hibernate的一級緩存和二級緩存等。

0x02:數(shù)據(jù)庫讀寫分類

當(dāng)業(yè)務(wù)量達到一定程度時,可以考慮數(shù)據(jù)庫的讀寫分離方案,讓讀寫業(yè)務(wù)分離。但是一定要考慮如何解決寫庫與讀庫的數(shù)據(jù)一致性問題。目前,很多開源的讀寫分離服務(wù)和框架。主要基于如下兩種方案:

  • 應(yīng)用程序根據(jù)業(yè)務(wù)邏輯來判斷,增刪改等寫操作命令發(fā)給寫庫,查詢命令發(fā)給讀庫。

  • 利用中間件來做代理,負(fù)責(zé)對數(shù)據(jù)庫的請求識別出讀還是寫,并分發(fā)到不同的數(shù)據(jù)庫中。

0x03:引入緩存數(shù)據(jù)庫

NoSql數(shù)據(jù)庫目前也是大行其道,特別redis數(shù)據(jù)庫。例如使用Redis緩存服務(wù)器,可以把一些常用、不經(jīng)常變化的數(shù)據(jù)緩存到內(nèi)存。在內(nèi)存讀取數(shù)據(jù)的數(shù)據(jù)要比在硬盤讀取的速度不知道快多少倍。引入緩存數(shù)據(jù)庫增加了系統(tǒng)的復(fù)雜度,另外還有考慮關(guān)系型數(shù)據(jù)庫與NOSQL數(shù)據(jù)庫數(shù)據(jù)一致性的問題。

0x04:垂直拆分

一個數(shù)據(jù)庫由很多表的構(gòu)成,每個表對應(yīng)著不同的業(yè)務(wù),垂直切分是指按照業(yè)務(wù)將表進行分類,分布到不同的數(shù)據(jù)庫上面,這樣也就將數(shù)據(jù)或者說壓力分擔(dān)到不同的庫上面,如下圖:

數(shù)據(jù)庫優(yōu)化的階段是什么

優(yōu)點:

  • 拆分后業(yè)務(wù)清晰,拆分規(guī)則明確

  • 系統(tǒng)之間整合或擴展容易

  • 數(shù)據(jù)維護簡單

缺點:

  • 部分業(yè)務(wù)表無法join,只能通過接口方式解決,提高了系統(tǒng)復(fù)雜度

  • 受每種業(yè)務(wù)不同的限制存在單庫性能瓶頸,不易數(shù)據(jù)擴展跟性能提高

  • 事務(wù)處理復(fù)雜

0x05:水平拆分

垂直拆分后遇到單機瓶頸,可以使用水平拆分。相對于垂直拆分的區(qū)別是:垂直拆分是把不同的表拆到不同的數(shù)據(jù)庫中,而水平拆分是把同一個表拆到不同的數(shù)據(jù)庫中。

相對于垂直拆分,水平拆分不是將表的數(shù)據(jù)做分類,而是按照某個字段的某種規(guī)則來分散到多個庫之中,每個表中包含一部分?jǐn)?shù)據(jù)。簡單來說,我們可以將數(shù)據(jù)的水平切分理解為是按照數(shù)據(jù)行的切分,就是將表中 的某些行切分到一個數(shù)據(jù)庫,而另外的某些行又切分到其他的數(shù)據(jù)庫中,主要有分表,分庫兩種模式。如下圖:

數(shù)據(jù)庫優(yōu)化的階段是什么

分庫模式

數(shù)據(jù)庫優(yōu)化的階段是什么

分表模式

優(yōu)點:

  • 不存在單庫大數(shù)據(jù),高并發(fā)的性能瓶頸

  • 對應(yīng)用透明,應(yīng)用端改造較少

  • 按照合理拆分規(guī)則拆分,join操作基本避免跨庫

  • 提高了系統(tǒng)的穩(wěn)定性跟負(fù)載能力

缺點:

  • 拆分規(guī)則難以抽象

  • 分片事務(wù)一致性難以解決

  • 數(shù)據(jù)多次擴展難度跟維護量極大

  • 跨庫join性能較差

感謝各位的閱讀,以上就是“數(shù)據(jù)庫優(yōu)化的階段是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對數(shù)據(jù)庫優(yōu)化的階段是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!


文章標(biāo)題:數(shù)據(jù)庫優(yōu)化的階段是什么
文章分享:http://weahome.cn/article/ippspd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部