讀寫分離

1.基本原理

讀寫分離,基本的原理是讓主數(shù)據(jù)庫(kù)處理事務(wù)性增、改、刪操作(INSERT、UPDATE、DELETE),而從數(shù)據(jù)庫(kù)處理SELECT查詢操作。數(shù)據(jù)庫(kù)復(fù)制被用來把事務(wù)性操作導(dǎo)致的變更同步到集群中的從數(shù)據(jù)庫(kù)。

2.讀寫分離的原因

因?yàn)閿?shù)據(jù)庫(kù)的“寫”(寫10000條數(shù)據(jù)到oracle可能要3分鐘)操作是比較耗時(shí)的。
但是數(shù)據(jù)庫(kù)的“讀”(從oracle讀10000條數(shù)據(jù)可能只要5秒鐘)。
所以讀寫分離,解決的是,數(shù)據(jù)庫(kù)的寫入,影響了查詢的效率。

3.什么時(shí)候要讀寫分離?

數(shù)據(jù)庫(kù)不一定要讀寫分離,如果程序使用數(shù)據(jù)庫(kù)較多時(shí),而更新少,查詢多的情況下會(huì)考慮使用,利用數(shù)據(jù)庫(kù) 主從同步 ??梢詼p少數(shù)據(jù)庫(kù)壓力,提高性能。當(dāng)然,數(shù)據(jù)庫(kù)也有其它優(yōu)化方案。memcache 或是 表折分,或是搜索引擎。都是解決方法

4.主從復(fù)制和讀寫分離

通過主從復(fù)制的方式來同步數(shù)據(jù),再通過讀寫分離來提升數(shù)據(jù)庫(kù)的并發(fā)負(fù)載能力。

5.數(shù)據(jù)庫(kù)的其他優(yōu)化方案

1.表拆分

垂直拆分和水平拆分

垂直拆分

垂直拆分是指數(shù)據(jù)列的拆分,把一張列比較多的表拆分為多張表,然后查詢的時(shí)候用join關(guān)聯(lián)起來即可。
拆分原則:
1.把不常用的字段單獨(dú)放在一張表;
2.把text,blob等大字段拆分出來放在附件表中;
3.經(jīng)常組合查詢的列放在一張表中


image.png

水平拆分

水平拆分是指數(shù)據(jù)表行的拆分,表的行數(shù)超過200萬行時(shí),就會(huì)變慢,這時(shí)可以把一張表的數(shù)據(jù)拆成多張表來存放。進(jìn)行水平拆分后的表,字段的列和類型和原表應(yīng)該是相同的,但是要記得去掉auto_increment自增長(zhǎng)。


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 摘自【mysql 讀寫分離】10分鐘了解讀寫分離的作用 ,原作者:開心果汁 1、what 讀寫分離 讀寫分離,基本...
    百碼嘯西風(fēng)閱讀 190評(píng)論 0 0
  • 1、what 讀寫分離 讀寫分離,基本的原理是讓主數(shù)據(jù)庫(kù)處理事務(wù)性增、改、刪操作(INSERT、UPDATE、DE...
    刀刃丿閱讀 570評(píng)論 1 4
  • 1. MySQL讀寫分離概念 MYSQL讀寫分離的原理其實(shí)就是讓Master數(shù)據(jù)庫(kù)處理事務(wù)性增加、刪除、修改、更新...
    superman超哥閱讀 624評(píng)論 0 0
  • MySQL的主從復(fù)制與讀寫分離兩者有著緊密聯(lián)系,首先需要先部署主從復(fù)制,才能在此基礎(chǔ)上進(jìn)行數(shù)據(jù)的讀寫分離。簡(jiǎn)單來說...
    JunChow520閱讀 875評(píng)論 0 8
  • 前言 隨著業(yè)務(wù)的不斷擴(kuò)展,數(shù)據(jù)量的不斷增大,由單臺(tái)Mysql作為獨(dú)立的數(shù)據(jù)庫(kù)是完全不能滿足實(shí)際需求的。讀和寫又存在...
    slicn閱讀 1,085評(píng)論 0 0

友情鏈接更多精彩內(nèi)容