關於系統設計中的區分思想
05-10
今天牛xx鞠總過來給我們講課了,雖然沒講很多技術的問題,但是講了一種思想,讓我感受到受益匪淺,最主要的就是一個詞區分。
1. 用戶要區分。假如說用戶表裡有1000萬條數據,如果要去查某一個人的情況,是比較慢的,那麼怎麼剝離啊?如按照註冊時間(最後一次登錄時間,由業務所定),1年內的用戶放一個表,1年外的用戶剝離出來放到另外一個表,如果用戶登錄的時候,先查1年內的表,如果沒有再查1年外的表。
2. 最核心的資源給最核心的業務(業務剝離)。如個人成績走勢圖,有的人走勢圖天天有人看(牛人),有的人走勢圖沒人看,甚至連他自己都不登錄。針對天天看的,以最快的速度生成走勢圖;如果沒人看的,甚至不登錄的,等到他登錄的時候再更新。熱點數據,比較重要,給貴的,快的配置好的;基礎數據,給便宜的,普通磁碟就行。
3. 許可權區分。如社區來了一個人,要分許可權,如進入黑名單和白名單。封號封設備等等。
其他部分總結:
1、資源優先分配
2、資料庫讀寫分離很有必要。3、對於千萬級數據表結構要謹慎調用,一個錯誤可能導致整個系統卡殼。
4、數據響應時間維持在50毫秒最佳,最差也應該維持在100毫秒以內。5、視圖,百,千萬級別不要用,數據少隨便用。
6、不在資料庫底層做關聯,在數據里(內存)做關聯。
推薦閱讀:
TAG:系統設計 |