中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C-Store的特點有哪些

發布時間:2022-01-06 17:16:48 來源:億速云 閱讀:120 作者:iii 欄目:互聯網科技

這篇文章主要介紹“C-Store的特點有哪些”,在日常操作中,相信很多人在C-Store的特點有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C-Store的特點有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

背景知識

行式存儲是當時數據庫的主流,由于適用 OLTP 場景,于是叫做 write-optimized,而針對 OLAP 場景的系統叫做 read-optimized,如數據倉庫。

CPU的增速比磁盤帶寬快很多,于是可以犧牲一定的 CPU 來換取磁盤帶寬。

有兩種方式干這個事:(1)編碼(2)densepack,緊湊存儲,我理解就是壓縮。

當時關系數據庫不能很好的支持 OLAP 查詢密集場景。于是作者提出了一個新的列存數據庫 C-Store,這篇文章里包含很多內容,是個大雜燴,其中有幾個新的特點:(1)write-optimized 和 read-optimized 混合架構 (2)存儲模型,冗余的數據按不同順序存儲,來支持快速檢索。(3)高效的壓縮,直接處理壓縮的數據(4)列式查詢優化器(5)數據恢復(6)快照隔離避免 2PC

本文介紹其中的(1)(2)(5)

(1)混合架構

優化寫入和優化查詢是比較互斥的,比如直接按寫入順序存儲數據,就像日志追加一樣,但是這種方式對查詢不友好,因為查詢可能在另一種順序下比較快。

一個模型適用兩個場景是很難的,因此本文的架構是搞兩個模塊。一個模塊負責處理快速寫入,就是上邊的 WS,一個模塊負責提供高效的查詢,就是下邊的 RS,這樣就需要一些連接器,就是 Tuple Mover,將 WS 中的數據同步到 RS 中。

作者的預期是 WS 相比 RS 而言是很小的一部分,可以全部放在內存中,其實這個架構就類似 LSM 了。

C-Store的特點有哪些

為了實現簡便,C-Store 用同一套列存引擎來管理 WS 和 RS,只不過在 WS 中多存一些索引信息用來快速定位數據。

(2)存儲模型

projection:

每一個表可以綁定多個 projection,這是什么概念呢?每個 projection 是這張表的某些列的組合,是實際存儲在磁盤上的,每個 projection 可以按不同順序存儲,一張表的每個列必須出現在至少一個 projection 中。一個表綁定的 projection 也可能包括其他表中的列(相當于重新劃分表了)。

比如一張用戶表(姓名,年齡,工資),可以綁定兩個 projection,P1(姓名,年齡) order by 年齡,P2(姓名,工資),order by工資。

這樣,按年齡查找姓名和按工資查找姓名這兩種查詢就可以分別分配到 P1 和 P2 里,每個都很快。

由于把各個列分散開了,就需要重組一行數據。這里涉及三個概念

SID:Segment id,每個 projection 水平分成多個 segment 分區,SID 就是分區號。

SK:Storage keys,每個分區中,給每行數據分配的一個自增的主鍵,用來將不同的 projection 對齊,其實就是行號、下標。

下圖就是一個示例:

C-Store的特點有哪些

join index:為了重建一行完整的數據,需要將這些按不同順序的記錄映射到同一個順序上,也就是 join index 的作用。比如將 projection2 映射到 projection1 上,這是個一對一映射。

C-Store的特點有哪些

這個 join index 可以是一條路徑,比如還有一個 projection3 到 projection2 的映射,有傳遞性。這樣,就能根據 join index 重組數據了。

在對數據的遍歷過程中,將傳統的按點返回的 Iterator 接口改成了批量返回的 iterator ,每個批次 64KB,避免了方法的過多調用。

數據恢復

當節點掛掉但是數據沒丟時,可以直接重啟機器,把其他機器的執行隊列中的操作拿過來執行。

當一個節點的 RS 和 WS 都丟了,就需要從其他節點的 projections 和 join indexes 重建這個節點的數據。

當僅僅 WS 丟了,可以快速從 RS 恢復出來,這個涉及快照隔離,不詳細說了。

局限

projection 是如何生成的沒有具體說明,沒有講如何做負載均衡

join index 的維護比較麻煩,尤其是加入update,在恢復數據時候也需要 join index,沒有做錯誤恢復的性能。

在完成這篇論時系統還沒開發完,功能不全,還是個單機系統。

到此,關于“C-Store的特點有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凯里市| 渝中区| 班玛县| 资溪县| 奉节县| 祁阳县| 宜丰县| 卓资县| 河津市| 延长县| 浦江县| 唐山市| 澄城县| 南汇区| 富民县| 阿城市| 丽江市| 东乡| 安溪县| 禄丰县| 凉城县| 隆安县| 社会| 宁安市| 大洼县| 来安县| 宜丰县| 营口市| 阿合奇县| 甘肃省| 桑植县| 富源县| 淮南市| 沿河| 沙湾县| 会东县| 穆棱市| 游戏| 灵宝市| 张北县| 宁陵县|