日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

05_ClickHouse、MergeTree系列引擎概述与存储结构、建表模板、建表语句、MergeTree设置、建表示例、数据存储、数据片段(data part)

發(fā)布時間:2024/9/27 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 05_ClickHouse、MergeTree系列引擎概述与存储结构、建表模板、建表语句、MergeTree设置、建表示例、数据存储、数据片段(data part) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2.MergeTree系列引擎概述與存儲結(jié)構(gòu)
2.1.建表模板
2.2.建表語句
2.3.MergeTree設(shè)置
2.4.建表示例
2.5.數(shù)據(jù)存儲
2.6.數(shù)據(jù)片段(data part)

2.MergeTree系列引擎概述與存儲結(jié)構(gòu)

MergeTree系列引擎是ClickHouse中最強大的表引擎。
數(shù)據(jù)按照片段被一批批寫入表。
數(shù)據(jù)片段在后臺按照一定的規(guī)則進行合并。

主要特征:
?數(shù)據(jù)按照主鍵排序
稀疏索引快速檢索數(shù)據(jù)

?數(shù)據(jù)分片
增加查詢性能

?數(shù)據(jù)副本
ReplicatedMergeTree系列的引擎支持?jǐn)?shù)據(jù)副本,提升查詢性能和容錯。

?數(shù)據(jù)采樣
設(shè)置采樣方法,快速分析數(shù)據(jù)。

2.1.建表模板

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster] (name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1] [TTL expr1], name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2] [TTL expr2], ... INDEX index_name1 expr1 TYPE type1(...) GRANULARITY value1,INDEX index_name2 expr2 TYPE type2(...) GRANULARITY value2 ) ENGINE = MergeTree() [PARTITION BY expr] [ORDER BY expr] [PRIMARY KEY expr] [SAMPLE BY expr] [TTL expr [DELETE|TO DISK 'xxx'|TO VOLUME 'xxx'], ...] [SETTINGS name=value, ...]

2.2.建表語句

ENGINE:引擎的名稱和參數(shù)
PARTITION BY:分區(qū)鍵
ORDER BY:表的排序鍵
PRIMARY KEY:表的主鍵
SAMPLE BY:采樣表達式
TTL:定義行數(shù)據(jù)的存儲時間,磁盤和卷之間數(shù)據(jù)片段的自動移動的邏輯
SETTINGS:控制MergeTree行為的額外參數(shù)

2.3.MergeTree設(shè)置

重要參數(shù):
1.index_granularity:索引粒度,以行數(shù)為單位,表示索引標(biāo)記(mark)之間的最大數(shù)據(jù)行數(shù)。默 認(rèn)值:8192。
2.index_granularity_bytes:索引粒度,以字節(jié)為單位, 表示索引粒度的最大字節(jié)大小, 默認(rèn)值:10Mb。設(shè)置該參數(shù)為0, 將僅按行數(shù)限制索引粒度大小。
3.use_minimalistic_part_header_in_zookeeper : 數(shù)據(jù)片段(part)頭在ZooKeeper中的存儲方法。設(shè)置為1,緊湊存儲數(shù)據(jù)片段頭信息,極大減少ZooKeeper的存儲數(shù)據(jù)量
4.storage_policy : 存儲策略。存儲策略定義了使用多塊設(shè)備進行數(shù)據(jù)存儲的邏輯。

更多設(shè)置參數(shù):參數(shù)列表及其功能參見表system.merge_tree_settings(SELECT * FROM system.merge_tree_settings;)。

MergeTree參數(shù)的設(shè)置:
1.表級別:在建表時設(shè)置。
2.全局:config.xml的merge_tree標(biāo)簽內(nèi)進行設(shè)置。

2.4.建表示例

1.非分區(qū)表

CREATE TABLE merge_demo ( srcip String, destip String, date_time DateTime ) ENGINE = MergeTree() ORDER BY srcip SETTINGS index_granularity = 8192;

2.分區(qū)表

CREATE TABLE merge_partition_demo ( `srcip` String, `destip` String, `date_time` DateTime ) ENGINE = MergeTree() PARTITION BY toYYYYMM(date_time) ORDER BY srcip;

2.5.數(shù)據(jù)存儲

進入類似:/var/lib/clickhouse/data/{DBNAME}/{TABLENAME}/201403_1_1_0,可以看到類似如下的文件:

[root@hbase2 TabSeparated_demo]# cd 201403_1_1_0/ [root@hbase2 201403_1_1_0]# ll總用量 84 -rw-r----- 1 clickhouse clickhouse 648 11月 23 18:54 checksums.txt -rw-r----- 1 clickhouse clickhouse 158 11月 23 18:54 columns.txt -rw-r----- 1 clickhouse clickhouse 39 11月 23 18:54 CounterID.bin -rw-r----- 1 clickhouse clickhouse 48 11月 23 18:54 CounterID.mrk2 -rw-r----- 1 clickhouse clickhouse 2 11月 23 18:54 count.txt -rw-r----- 1 clickhouse clickhouse 10 11月 23 18:54 default_compression_codec.txt -rw-r----- 1 clickhouse clickhouse 36 11月 23 18:54 EventDate.bin -rw-r----- 1 clickhouse clickhouse 48 11月 23 18:54 EventDate.mrk2 -rw-r----- 1 clickhouse clickhouse 36 11月 23 18:54 JavaEnable.bin -rw-r----- 1 clickhouse clickhouse 48 11月 23 18:54 JavaEnable.mrk2 -rw-r----- 1 clickhouse clickhouse 4 11月 23 18:54 minmax_EventDate.idx -rw-r----- 1 clickhouse clickhouse 4 11月 23 18:54 partition.dat -rw-r----- 1 clickhouse clickhouse 20 11月 23 18:54 primary.idx -rw-r----- 1 clickhouse clickhouse 41 11月 23 18:54 RegionID.bin -rw-r----- 1 clickhouse clickhouse 48 11月 23 18:54 RegionID.mrk2 -rw-r----- 1 clickhouse clickhouse 151 11月 23 18:54 Title.bin -rw-r----- 1 clickhouse clickhouse 48 11月 23 18:54 Title.mrk2 -rw-r----- 1 clickhouse clickhouse 52 11月 23 18:54 UserID.bin -rw-r----- 1 clickhouse clickhouse 48 11月 23 18:54 UserID.mrk2 -rw-r----- 1 clickhouse clickhouse 107 11月 23 18:54 WatchID.bin -rw-r----- 1 clickhouse clickhouse 48 11月 23 18:54 WatchID.mrk2 [root@hbase2 201403_1_1_0]#

checksums.txt :校驗文件的正確性和完整性。
columns.txt :存儲列的信息,包括數(shù)據(jù)類型。
count.txt : 存儲分區(qū)目錄下數(shù)據(jù)的總行數(shù)。
primary.idx : 存儲索引數(shù)據(jù)的文件。稀疏索引,能夠加速查詢。
bin文件 :存儲數(shù)據(jù)的文件, 以壓縮格式存儲,默認(rèn)LZ4。
mrk文件 :存儲列的數(shù)據(jù)標(biāo)記的文件。
partiton.dat : 存儲存儲分區(qū)表達式生成的值。使用二進制格式存儲。該文件只在分區(qū)表中存儲。
*minmax_文件 : 存儲能當(dāng)前目錄下, 分區(qū)字段對應(yīng)的原始字段的最小和最大值。
skp_idx_.idx、skp_idx_.mrk : skip索引標(biāo)記文件。

2.6.數(shù)據(jù)片段(data part)

一個表是由按主鍵排序的數(shù)據(jù)片段(part)組成。
當(dāng)向表中插入數(shù)據(jù)時, 將創(chuàng)建單獨的數(shù)據(jù)片段。
ClickHouse在后臺合并數(shù)據(jù)片段以便更高效的存儲。
不會合并來自不同分區(qū)的數(shù)據(jù)片段。

總結(jié)

以上是生活随笔為你收集整理的05_ClickHouse、MergeTree系列引擎概述与存储结构、建表模板、建表语句、MergeTree设置、建表示例、数据存储、数据片段(data part)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。