1.拆表:大表拆小表(垂直拆,水平拆;分表,分區partition,分片sharding),可以在應用層實現,也可以在數據庫層面實現一部分;提高系統性能。
2.分庫:把表放到不同的數據庫,這也是分布式數據庫的基礎;提高系統性能。
3.分布式:不同的數據庫放到不同的服務器;提高系統性能。
4.集群:使用數據庫復制等技術組建集群,實現讀寫分離、備份等;提高系統性能、可用性。
5.緩存:對常用的數據進行緩存。提高系統性能。
6.備份:主從庫,快照,熱備,異地備份等;提高系統可用性。
7.空間換時間(多級緩存,靜態化{客戶端頁面緩存,反向代理緩存,內存數據庫};索引{哈希、B樹、倒排、bitmap})
8.並行與分布式計算(任務切分、分而治之;多進程、多線程並行執行)
9.多維度的可用(負載均衡、容災、備份;讀寫分離;依賴關系;監控)
10.伸縮(拆分;無狀態)
11.優化資源利用(系統容量有限;原子操作與並發控制;基於邏輯的不同,采取不一樣的策略; 容錯隔離;資源釋放)