模塊化分庫
1. 一個頻道一個數據庫:如商城庫、公司庫、分享庫、團購庫、優惠券庫、問答庫、活動庫、論壇庫、CMS庫等。
2. 一套大功能一個數據庫:如核心庫、歷史庫、統計庫、隊列庫等。
3. 一套子系統一個庫:如OA庫、倉儲物流系統庫等。
大數據量分表
如歷史庫中的表大多需要做分表處理(根據數據量大小按時間分表)。亦可利用SQL2008的分區表功能做分區表。
提高擴展性
如商城庫根據需要可以分拆為商城基礎庫、商品庫、訂單庫等。
其他細節
1. 主鍵使用數字ID,棄用GUID
2. 除包含事務需要批量執行的SQL編寫存儲過程外,其他SQL均由程序維護。
3. 盡量不做跨庫查詢,以降低個分庫之間的耦合度提高擴展性。
4. 需要做統計功能的,應添加冗余字段,減少數據庫中的實時統計。
5. 對於Convert/SubString等對數據的處理,盡量放到程序中處理
6. 應該建立緩存機制,將更新頻率低的部分數據做本機緩存,減少連接查詢
7. 減少Like查詢,將需要做全文檢索的數據生成文件索引,減少高開銷的查詢。
目錄
【架構★我的系統架構】我的系統架構<應用系統架構>
【架構★我的系統架構】我的系統架構<程序結構>
【架構★我的系統架構】我的系統架構<分布式存儲>
【架構★我的系統架構】我的系統架構<異步隊列>
【架構★我的系統架構】我的系統架構<統計報表系統>
【架構★我的系統架構】我的系統架構<站內統計系統>
... ...