一、分庫分表下的無分片鍵查詢困境
在分布式數據庫架構中,分庫分表通過分片鍵(如買家ID)將數據分散存儲,顯著提升了單表性能和系統擴展性。然而,當業務需要從非分片鍵維度(如賣家ID)進行查詢時,傳統架構暴露出以下核心問題:
1.1 跨分片掃描的性能災難
- 數據分散性:以電商場景為例,訂單數據按買家ID分庫后,同一賣家的訂單可能分布在數百個分片上。
- 查詢復雜度:賣家查詢訂單需遍歷所有分片,執行
SELECT * FROM order WHERE seller_id=123
,導致:- 網絡I/O激增:假設1024個分片,單次查詢需發起1024次數據庫請求。
- 結果集合并壓力:應用層需聚合數萬條數據并排序,內存占用和CPU消耗呈線性增長。
1.2 數據一致性與實時性矛盾
- 業務需求沖突