摘自《mycat權威指南》
首先,全面了解 mycat 的能力、目前的限制、以及可能的解決辦法,然後,在此基礎上,考慮是否用mycat的分表分片功能,根據目前業務的資料模型和資料訪問模式,確定幾個可能的分表方案,然後對方案進行針對性的效能測試,在效能資料的基礎上,最終決定採用怎樣的分片策略。
一、了解 mycat
了解 mycat 的能力,包括如下的方面:
其中,關於分片規則的支援和擴充套件、多資料庫支援、 sql 攔截和註解、跨庫 join、讀寫分離、快取功能、高可用性等方面需要比較深入的學習和理解,有助於正確的使用 mycat 來解決當前的業務問題。
二、分析業務
接下來是分析當前業務,具體內容包括如下幾個方面:
資料的模型和訪問模式在很大程度上決定了未來資料分片的模式,包括哪些錶用全域性表、哪些用 er 分片、哪些用範圍分片規則、哪些用一致性 hash 或自定義方式。而資料可靠性的要求,則影響到 mycat 後端是採用普通的 mysql 主從還是用 gluster 多寫模式,事務性要求需要相關的表或者sql盡量不會垮分片執行,對於以後制定本專案的程式設計約束有重要意義。
三、分表方案
四、效能測試
建議根據業務分析的結果,確定兩套比較合適分表方案,然後進行效能測試,選出最佳的分表方案,效能測試可以採用 mycat自帶的超級工具,此工具在前面提到過,可以模擬接近真實業務資料的資料,並隨機製造大量的資料供測試,是目前開源的最佳資料庫效能測試工具。
五、程式設計約束
在最終進入開發之前,架構師還需要給出乙個程式設計約束,需要明確列出不能執行的 sql 語句,這些約束可能包括如下幾種:
六、開發&部署
最後在開發階段,還應該做到如下幾點
當專案上線後,通過 mycat web 對系統進行監控,特別是服務的 io 和網路指標,除此之外,對 mycat 執行過程中的日誌也要進行排查,告警資訊可能是 sql 錯誤,可能是 mycat bug,及時分析處理,並積極反饋給mycat 社群,尋求幫助。
軟體專案管理之一 專案進度計畫
兩年前買的一本軟體專案管理看完後就扔在櫃子裡,最近又拿來起來,結合目前自己帶的團隊中的一些情況,頗有感觸,於是決定寫點東西。有些專案負責人經常抱怨專案的進度無法控制,專案各階段schedule無法設定,即使設定了專案也無法按既定目標來走。在我看來,這些都有其罪惡的根源,問題的關鍵是專案進度計畫沒有做...
一 專案概覽
鏈結1 密碼 1zrc 鏈結2 密碼 43bo 02 天天生鮮資料庫設計 待完善 03 使用者註冊 待完善 04 使用者登入 待完善 05 使用者中心 待完善 06 分布式fastdfs檔案系統 待完善 07 天天生鮮首頁 待完善 08 天天生鮮詳情頁 待完善 09 天天生鮮列表頁 待完善 10 天...
一 專案準備
一.ps的基本操作 1.調出標尺 ctrl r 2.調整單位 編輯 首選項 單位與標尺 修改單位為畫素 3.放大和縮小 ctrl 或ctrl 4.量取長度或者寬度 選取工具 5.取色 工具欄吸管工具 6.文字 工具欄文字工具 二.開發環境的搭建 1.開發軟體使用visual studio code ...