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

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

理解 Databend Cluster key 原理及使用

2023-08-30 11:12 作者:Databend  | 我要投稿


Databend Cluster Key 是指 Databend 可以按聲明的 key 排序存儲(chǔ),主要用于用戶對(duì)時(shí)間響應(yīng)比較高,同時(shí)愿意為這個(gè) cluster key 進(jìn)行額排序操作的用戶。 Databend 只支持一個(gè) Cluster key,Cluster key中可以包含多列及表達(dá)式。

基本語法

更多關(guān)于 Databend Cluster key 語法參考:

https://databend.rs/doc/sql-commands/ddl/clusterkey/

使用注意事項(xiàng)

目前 Databend 在表有 cluster key 的情況下,使用

  • copy into

  • replace into

這兩種方式寫入數(shù)據(jù)時(shí),會(huì)自動(dòng)執(zhí)行 compact 和 recluster 操作。

關(guān)于 Databend Cluster Key 你需要了解的:

  1. Databend 中數(shù)據(jù)分區(qū)按: block_size_threshold (default: 100M ) or row_per_block(default 100萬) 組織,兩者任意達(dá)到之一就會(huì)生成新的 Block

  2. 新生成的 Block 中會(huì)按定義的 cluster key 排序存儲(chǔ),當(dāng)該key的 min = max 時(shí),該 block 為 constant_block, 同時(shí) cluster key 不保證全局有序

  3. 多個(gè) block 之間可能有重疊區(qū)間,如,cluster by (age)

不同區(qū)間的重疊形成了不同的深度,例如上圖:

這樣一個(gè)查詢,需要查找到的深度為 3 ,即為 3 個(gè) Block。

所以表中指定列的重疊block-partitions的平均深度,越小越好。如下所示:

結(jié)果中最重要信息是“average_depth”,數(shù)字越小, 表的clustering效果越好,上圖為: 2.46,屬于比較好的狀態(tài)(小于 total_block_count * 0.1 ) 。block_depth_histogram 告訴更多關(guān)于每個(gè)深度有多少個(gè)分區(qū)的詳細(xì)信息。 如果在較低深度中的分區(qū)數(shù)更多,則表的聚類效果更好。 例如"00004" :38 表示 (3,4] 有 38 個(gè) block 有 4 個(gè)深度。

其它優(yōu)化建議

  1. 一般來講聲明 Cluster key 后對(duì)于區(qū)間查詢和點(diǎn)查都有較大的優(yōu)化

  2. 如果聲明 cluster key 后,還想進(jìn)一步的提升點(diǎn)查或是區(qū)間查詢的能力,可以通過調(diào)整 block 大小

關(guān)于 options 查看: https://databend.rs/doc/sql-reference/table-engines/fuse#options

默認(rèn)數(shù)據(jù)分布:

優(yōu)化數(shù)據(jù)在 Block 中的分布

3. 對(duì)于特別寬的表,建議查詢中只訪問需要的列來減少時(shí)間開銷

4. 對(duì)于復(fù)雜的 SQL 里面有大量聚合的操作還是推薦大一點(diǎn)的 Block 及行數(shù)

參考

  • https://databend.rs/doc/sql-functions/system-functions/clustering_information

  • https://databend.rs/doc/sql-commands/ddl/clusterkey/dml-recluster-table


理解 Databend Cluster key 原理及使用的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
贵德县| 游戏| 崇明县| 阿克苏市| 贡觉县| 十堰市| 太康县| 兴安县| 绥宁县| 将乐县| 余干县| 东至县| 翁牛特旗| 滦平县| 壶关县| 榆中县| 和硕县| 静海县| 尚义县| 酒泉市| 盐源县| 莱芜市| 闸北区| 淮南市| 买车| 教育| 镇原县| 忻州市| 文登市| 新宾| 米脂县| 邢台市| 镇沅| 林芝县| 三门县| 永定县| 高邮市| 阿克| 泰州市| 景宁| 遵义县|