當然不是這樣。
數據庫有沒有問題,我們要根據系統對數據庫的讀寫壓力來決定。
通常用戶達到一定量級,我們會根據系統的業務特征,作出相應的技術框架調整和服務器擴容。我以常見中小互聯網公司系統的數據擴容過程簡單說明下,大致這么個過程:
單實例數據庫-->讀寫分離-->緩存服務-->多實例數據庫-->多實例緩存-->冷熱分離-->數據平臺沉淀-->分布式搜索引擎
當然這個過程不是特別嚴謹,也非常的粗糙。不同的業務系統,需要做的拆分和數據擴容手段會有區別。有些人甚至喜歡用服務器本身的內存來緩存一部分數據。這里只是簡單說明下,當系統給數據庫帶來壓力的時候,我們要持續不斷的做技術跟進。當然隨著業務系統的發展,技術架構也往往會做解藕拆分。技術架構和業務架構是相輔相成的。
這里簡單貼一張常見的互聯網基本架構圖:
如對系統架構設計感興趣,或查看我之前的回答。里面有資料的分享。謝謝