最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

玩原神學編程-數(shù)據(jù)庫分庫分表是啥?讀擴散又是啥?

2023-08-04 02:23 作者:星痕_MeteorV  | 我要投稿
  • 如果我們不分表,那表就會很大,很長,分布在硬碟的各個地方,讀取 I/O 就會變多
  • 所以要垂直分表或是水評分表
  • 垂直分表 : 直接把幾個 column 抓出去。而可以減輕壓力的原因是 column 變小了。 B+ 樹儲存的話,數(shù)據(jù)其實都放在 “數(shù)據(jù)頁” 裡面,例如大小 16K。 但是 column 很多的話 row 就會相對小。這樣都在同個數(shù)據(jù)頁就能找到(涵蓋)的話就不用這整個 16K 找完還得往下一個 16K 去找。
  • 水平分表 : 就是切 row,一般一個單位是 500w~2000w。
  • 最常見的是取 mod,難點在如果想擴充就得做 migration 然後頭疼。
  • 若我們用 range 去分表,例如第一張放 [1~2kw), 第二張放 [2kw~4kw) 這樣就能無限擴充了。 但這樣如果剛好某一個 range 的資料被頻繁讀寫,那就會有 Read/Write Hotspot 問題。 (例如剛好 2023 註冊的玩家特別活躍)
  • 解決熱點問題最簡單方案就是產(chǎn) ID 的時候隨機。
  • 另一種解決熱點問題的方式是上層用 range 分表,然後底下再用 mod 分表 例如 3kw 先到第二張,然後再取 mod 來到更小的表查詢。 這樣可以從讀寫單表變成讀寫多表。
  • “沒有什麼是加中間層不能解決的,如果有,那就再加一層” 至於中間層的實現(xiàn)方式,可以用 orm,也可以用 proxy 去做中間層分表路由邏輯
  • 讀擴散問題 : 如果我想查詢一個非主鍵的資料,而因為分表的關(guān)係我得同時查可能 200 張表。(因為它不像是 ID 我可以直接知道 range 在哪就去 access 哪張表)
  • 一種解法是建一個分片表,然後把那個普通的 column 當做一個 key,然後 id 變成 data。有點像倒排索引。缺點是你得維護兩張表而且更改的時候要同時更改。
  • 點讚破 500 了我還是沒看到 up 的解答,救。 我自己是想那就建一個新的 pk 吧。


玩原神學編程-數(shù)據(jù)庫分庫分表是啥?讀擴散又是啥?的評論 (共 條)

分享到微博請遵守國家法律
韶山市| 通辽市| 光泽县| 高淳县| 扶绥县| 临城县| 平果县| 万山特区| 措勤县| 六盘水市| 邢台市| 通榆县| 和田市| 都江堰市| 武夷山市| 锦州市| 封丘县| 观塘区| 阳高县| 鹰潭市| 新邵县| 从江县| 子长县| 留坝县| 鹤峰县| 浏阳市| 平定县| 阳原县| 夏津县| 彩票| 黔西县| 乌海市| 诸暨市| 离岛区| 乐亭县| 冷水江市| 抚宁县| 顺平县| 繁峙县| 承德县| 和平区|