簡體   English   中英

在此示例中,列式數據庫與 RDBMS 相比如何更快

[英]In this example, how columnar database is faster compared to RDBMS

在這個例子中,像Vertica這樣的columnar式數據庫比rdbms w.r.t 速度要好多少?

我假設Symboldateprimary key w.r.t rdbms

在此處輸入圖像描述

從我正在遵循的示例中,投影如下所示,但我無法弄清楚為什么不。 讀取次數較少

在此處輸入圖像描述

如果 tickstore 只有您在示例中使用的三列(實際上只有那時),那么面向行的 DBMS 可能會更快 - 特別是如果您有symboldate索引。

但在任何其他情況下:列式數據庫中的每一列(Vertica 是第一個廣為人知的)都歸結為一個文件本身。 因此,在表中有 103 列的情況下,面向行的 DBMS 從磁盤中讀取了過多的 100 列,而 Vertica 僅讀取了 3 列; 面向行的 DBMS 需要瀏覽完整的讀取行以查找查詢中所需的每一列的開始; Vertica 可以依靠每個列文件僅包含一種數據類型這一事實,並且可以優化讀取和寫入過程以利用該知識。

此外,還有針對列數據的編碼算法,這些算法會在此處詳細介紹 go 的答案空間。

總結一下:面向列的數據庫唯一不喜歡的是100多個列表的SELECT *

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM