MYSQL 集羣搭建、主從配置、讀寫分離

MYSQL

集羣搭建、主從配置、讀寫分離

參考文檔

    《02_CentOS安裝mysql數據庫文檔》
    《03_Mysql主從配置文檔》
    《04_mysql主從知識點》

分庫分表

分庫:

分佈式項目用的比較多
設計到第三方系統

跨庫查詢:
    配置多數據源

分表:

1:涉及海量數據存儲
2:涉及到業務數據(分模塊)存儲

分表方式:

    1:根據容量來分200M----不推薦使用
        tablename1---200M
        tablename2---200M
        tablename3---200M
        需要配置數據庫mysql的監聽、觸發器
        tablename1---199.9M---1M---0.1
        tablename2---0.9M
        容易造成一些髒數據

    2:根據時間來劃分---推薦使用

        tablename201801
        tablenmae201802
        tablename201803

        需要寫定時器--22號就會生成一張新表---1.23

        什麼時候去劃分?每個月20-25號之間

        tablename201801
        tablename201802


    eg:查詢用戶所有的日誌信息

        需要關聯N*12張表,但是在業務處理的時候,我們不建議關聯這麼多張表,代碼邏輯處理不了,只能通過業務處理(增加限制條件)


    3:根據用戶ID來劃分---不推薦使用--存在安全漏洞

        userid==自增、UUID,---算法----數字---取得是餘數最後一位1-6
        table1
        table2
        table3....

臨時表、視圖、存儲過程

 

數據庫引擎

 

四大特性、事務隔離

ACID:

    原子性、一致性、隔離性、持久性

事務隔離四大級別:

    參考課程大綱腦圖

如何對數據庫做優化?

1:數據庫設計
    數據庫表:字段類型、字段長度、註釋、字段命名規範
    數據庫索引:外鍵、關聯字段、查詢頻率比較高的字段、
            如果數據表字段>20,則最多支持16個索引
            如果數據表字段<20,則根據查詢頻率字段來定
    數據庫視圖:相當於一張臨時表,業務中,儘量少使用
    數據庫引擎:根據業務,選擇對應的表引擎技術
    數據庫存儲過程:儘量少用
    數據庫字符:UTF-8、或者和頁面字符保持一致
    數據庫監聽器/觸發器:一般用於調度任務或者備份還原

2:業務調用的sql語句優化
    xml:
    儘量少關聯表,效率最高關聯4張表,如果多於4張表,則需要開啓兩個鏈接事務,但是這兩個事務,必須在一個service當中。
    如果是查詢語句,則不建議使用*
    如果是查詢語句,where條件後面,最好使用索引字段進行關聯

3:數據庫服務器的搭建(集羣)
    主從配置:
    讀寫分離:
    自動化(容器):
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章