日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ClickHouse表引擎

發布時間:2024/7/5 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ClickHouse表引擎 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 概述

? 表引擎在ClickHouse中的作用十分關鍵,表引擎有如下作用:

? (1)數據如何存儲,存在哪,數據寫到哪, 怎樣讀取數據;

? (2)支持哪些查詢以及如何支持;

? (3)并發數據訪問;

? (4)索引的使用;

? (5)是否可以執行多線程的請求;

? (6)數據如何同步。

2 表引擎系列

2.1 MergeTree系列

? MergeTree系列是對于高負載任務的最通用和最實用的表引擎。這些引擎共享的屬性是快速數據插入和后續的后臺數據處理。想要高效地一批批寫入數據片段,并希望這些數據片段在后臺按照一定規則合并。相比在插入時不斷修改(重寫)數據進存儲,這種策略會高效很多。MergeTree系列引擎支持數據復制、分區和其他引擎不支持的特性。有如下特點:①數據按照主鍵進行排序;②可以使用分區(如果指定了主鍵);③支持數據副本;④支持數據采樣

2.1.1 MergeTree

? MergeTree 引擎支持索引,通過主鍵和日期來構建索引, 同時提供 數據的實時更新能力. 這是目前 ClickHouse處理能力最好的引擎。

? 注意:①不能和Merge 引擎相混淆。

? ②MergeTree雖然有主鍵索引,但是其主要作用是加速查詢,而不是類似MySQL等數據庫用來保持記錄唯一。即便在Compaction完成后,主鍵相同的數據行也仍舊共同存在。

? 建表語句如下

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, ...]

? 參數說明:

參數說明
ENGINE = MergeTree()ENGINE:引擎名和參數
PARTITION BY exprPARTITION BY:分區鍵,按月分區采用“YYYYMM”格式,可以使用toYYYYMM (date_column)表達式,date_column類型必須是Date
ORDER BY exprORDER BY:排序鍵,列的元組或任意表達式 (字段的組合), 或者單獨的表達式。如:ORDER BY (CounterID, EventDate)
PRIMARY KEY exprPRIMARY KEY:主鍵,需要與排序鍵字段不同,默認主鍵與排序鍵相同
SAMPLE BY exprSAMPLE BY:抽樣表達式,要用抽樣表達式,主鍵必須包含這個表達式
TTL expr [DELETE |TO DISK ‘xxx’ TO VOLUME ‘xxx’], …TTL:指定行存儲時間和定義磁盤與卷之間自動部件移動邏輯的規則列表。如:TTL create_time + INTERVAL 1 MONTH(表數據的生命周期為期一個月 )它的含義是當ClickHouse合并數據分區時, 會根據create_time這一列的時間數據以及之后一個月的這樣一周期內的數據進行保存,不在這一時間段內的數據,ck就是主動刪除分區目錄下的列文件
SETTINGS name=value, …SETTINGS:影響MergeTree性能的額外參數
①index_granularity:索引粒度,索引鍵相鄰標記間的數據行數,默認8192
②use_minimalistic_part_header_in_zookeeper:在Zookeeper中的存儲方式
③min_merge_bytes_to_use_direct_io:使用直接I/O來操作磁盤的合并操作時的最小數據量

? 測試:test_mt表的主鍵為(id, create_time),并且按照主鍵進行存儲排序,按照create_time進行數據分區,根據create_time這一列的時間數據保留最近一個月。

CREATE TABLE test_mt ( \id UInt16, \create_time Date, \comment Nullable(String) \ ) ENGINE = MergeTree() \ PARTITION BY create_time \ ORDER BY (id, create_time) \ PRIMARY KEY (id, create_time) \ TTL create_time + INTERVAL 1 MONTH \ SETTINGS index_granularity=8192;

? 插入數據

insert into test_mt values(0, '2020-01-01', null); insert into test_mt values(0, '2020-01-01', null); insert into test_mt values(1, '2020-01-02', null); insert into test_mt values(2, '2020-01-03', null);

? 查詢數據

SELECT count(*) FROM test_mt ┌─count()─┐ │ 4 │ └─────────┘SELECT * FROM test_mt ┌─id─┬─create_time─┬─comment─┐ │ 2 │ 2020-01-03 │ ???? │ └────┴─────────────┴─────────┘ ┌─id─┬─create_time─┬─comment─┐ │ 1 │ 2020-01-02 │ ???? │ └────┴─────────────┴─────────┘ ┌─id─┬─create_time─┬─comment─┐ │ 0 │ 2020-01-01 │ ???? │ └────┴─────────────┴─────────┘ ┌─id─┬─create_time─┬─comment─┐ │ 0 │ 2020-01-01 │ ???? │ └────┴─────────────┴─────────┘

? 可以發現雖然主鍵id、create_time相同的數據只有3條數據,但是結果卻有4行。因為MergeTree采用類似LSM tree的結構,很多存儲層處理邏輯直到Compaction期間才會發生。因此強制后臺compaction執行

optimize table test_mt final;

? 再次查詢,發現沒有數據了。

SELECT count(*) FROM test_mt ┌─count()─┐ │ 0 │ └─────────┘

? 是因為TTL的原因,我們在表上加了TTL當表內的數據過期時, ClickHouse會刪除所有對應的行。如果是列上加TTL,當列字段中的值過期時, ClickHouse會將它們替換成數據類型的默認值。如果分區內,某一列的所有值均已過期,則ClickHouse會從文件系統中刪除這個分區目錄下的列文件。

? 如果沒有加TTL的查詢出來應該是如下所示

SELECT count(*) FROM test_mt ┌─count()─┐ │ 4 │ └─────────┘select * from test_mt; ┌─id─┬─create_time─┬─comment─┐ │ 2 │ 2020-01-03 │ ???? │ └────┴─────────────┴─────────┘ ┌─id─┬─create_time─┬─comment─┐ │ 1 │ 2020-01-02 │ ???? │ └────┴─────────────┴─────────┘ ┌─id─┬─create_time─┬─comment─┐ │ 0 │ 2020-01-01 │ ???? │ │ 0 │ 2020-01-01 │ ???? │ └────┴─────────────┴─────────┘

?

2.1.2 ReplacingMergeTree

? ReplacingMergeTree在MergeTree的基礎上,添加了處理重復數據的功能,也就是會刪除具有相同主鍵的重復項,這就是與MergeTree的不同之處。

? 注意:數據的去重是在合并的過程中出現的,合并會在未知的時間在后臺運行,所以無法預先做出計劃。所以可能有一些數據任未被處理,因此ReplacingMergeTree適用于在后臺清理重復數據以節省空間,但是不能保證沒有重復的數據出現。

? 語法:

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster] (name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],... ) ENGINE = ReplacingMergeTree([ver]) [PARTITION BY expr] [ORDER BY expr] [PRIMARY KEY expr] [SAMPLE BY expr] [SETTINGS name=value, ...]

? 參數說明:ENGINE = ReplacingMergeTree([ver]),這個ver是版本列,類型是UInt*,Date或者DateTime,合并的時候ReplacingMergeTree從具有相同主鍵的行中選擇一行留下,如果ver列沒有指定,選擇最后一條,如果ver列已指定,選擇ver最大的版本。其他的參考MergeTree的

? 測試:

CREATE TABLE test_rmt (\id UInt16,\create_time Date,\comment Nullable(String)\ ) ENGINE = ReplacingMergeTree()\PARTITION BY create_time\ORDER BY (id, create_time)\PRIMARY KEY (id, create_time)\TTL create_time + INTERVAL 1 MONTH\SETTINGS index_granularity=8192;

? 插入數據:

insert into test_rmt values(0, '2020-05-01', null); insert into test_rmt values(0, '2020-05-01', null); insert into test_rmt values(1, '2020-05-02', null); insert into test_rmt values(2, '2020-05-03', null);

? 查詢結果:

SELECT count(*) FROM test_rmt ┌─count()─┐ │ 4 │ └─────────┘SELECT * FROM test_rmt ┌─id─┬─create_time─┬─comment─┐ │ 1 │ 2020-05-02 │ ???? │ └────┴─────────────┴─────────┘ ┌─id─┬─create_time─┬─comment─┐ │ 2 │ 2020-05-03 │ ???? │ └────┴─────────────┴─────────┘ ┌─id─┬─create_time─┬─comment─┐ │ 0 │ 2020-05-01 │ ???? │ └────┴─────────────┴─────────┘ ┌─id─┬─create_time─┬─comment─┐ │ 0 │ 2020-05-01 │ ???? │ └────┴─────────────┴─────────┘

? 可以發現數據還是4條,強制后臺compaction

optimize table test_rmt final;

? 再次查詢

SELECT count(*) FROM test_rmt ┌─count()─┐ │ 3 │ └─────────┘SELECT * FROM test_rmt ┌─id─┬─create_time─┬─comment─┐ │ 1 │ 2020-05-02 │ ???? │ └────┴─────────────┴─────────┘ ┌─id─┬─create_time─┬─comment─┐ │ 2 │ 2020-05-03 │ ???? │ └────┴─────────────┴─────────┘ ┌─id─┬─create_time─┬─comment─┐ │ 0 │ 2020-05-01 │ ???? │ └────┴─────────────┴─────────┘

? 總結:雖然ReplacingMergeTree提供了主鍵去重的能力,但是仍舊有以下缺點:①在沒有徹底optimize之前,可能無法達到主鍵去重的效果,部分數據已經去重,部分沒有去重②在分布式情況下,相同primary key的數據可能被sharding到不同節點上,不同shard間可能無法去重③無法預測optimize具體執行時間點④海量數據下要手動執行optimize需要消耗大量時間,無法滿足業務即時查詢的需求

2.1.3 SummingMergeTree

? SummingMergeTree與MergeTree不區別在與當合并SummingMergeTree表的數據片段時,會把相同主鍵的行合并為一行,這一行包含了被合并的行中具有數值數據類型的列的匯總值,對于不可加的列會取出一個最先出現的值。如果相同的主鍵對應大量的行,可以顯著減少存儲空間并加快數據查詢的速度。

? 語法:

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster] (name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],... ) ENGINE = SummingMergeTree([columns]) [PARTITION BY expr] [ORDER BY expr] [SAMPLE BY expr] [SETTINGS name=value, ...]

? 參數說明:ENGINE = SummingMergeTree([columns]):[columns]表示將要被匯總的列的列名的元組。

? 測試:

CREATE TABLE test_smt(\date Date,\name String,\money UInt16,\not_sum UInt16\ )\ ENGINE = SummingMergeTree(money)\ PARTITION by date \ ORDER by (date,name);

? 插入數據:

insert into test_smt values ('2020-05-01', 'zs', 6, 1); insert into test_smt values ('2020-05-01', 'ls', 8, 2); insert into test_smt values ('2020-05-02', 'ww', 6, 3); insert into test_smt values ('2020-05-02', 'ww', 8, 4); insert into test_smt values ('2020-05-03', 'zl', 6, 5);

? 查詢:

SELECT * FROM test_smt ┌───────date─┬─name─┬─money─┬─not_sum─┐ │ 2020-05-02 │ ww │ 8 │ 4 │ └────────────┴──────┴───────┴─────────┘ ┌───────date─┬─name─┬─money─┬─not_sum─┐ │ 2020-05-01 │ zs │ 6 │ 1 │ └────────────┴──────┴───────┴─────────┘ ┌───────date─┬─name─┬─money─┬─not_sum─┐ │ 2020-05-03 │ zl │ 6 │ 5 │ └────────────┴──────┴───────┴─────────┘ ┌───────date─┬─name─┬─money─┬─not_sum─┐ │ 2020-05-01 │ ls │ 8 │ 2 │ └────────────┴──────┴───────┴─────────┘ ┌───────date─┬─name─┬─money─┬─not_sum─┐ │ 2020-05-02 │ ww │ 6 │ 3 │ └────────────┴──────┴───────┴─────────┘

? 通過GROUP BY進行聚合查詢

SELECT date, name, sum(money), min(not_sum) FROM test_smt GROUP BY date, name┌───────date─┬─name─┬─sum(money)─┬─min(not_sum)─┐ │ 2020-05-01 │ ls │ 8 │ 2 │ │ 2020-05-02 │ ww │ 14 │ 3 │ │ 2020-05-03 │ zl │ 6 │ 5 │ │ 2020-05-01 │ zs │ 6 │ 1 │ └────────────┴──────┴────────────┴──────────────┘

? 強制compaction

optimize table test_smt final;

? 再次查詢

SELECT * FROM test_smt ┌───────date─┬─name─┬─money─┬─not_sum─┐ │ 2020-05-03 │ zl │ 6 │ 5 │ └────────────┴──────┴───────┴─────────┘ ┌───────date─┬─name─┬─money─┬─not_sum─┐ │ 2020-05-01 │ ls │ 8 │ 2 │ │ 2020-05-01 │ zs │ 6 │ 1 │ └────────────┴──────┴───────┴─────────┘ ┌───────date─┬─name─┬─money─┬─not_sum─┐ │ 2020-05-02 │ ww │ 14 │ 3 │ └────────────┴──────┴───────┴─────────┘

2.1.4 ClollapsingMergeTree

? ClollapsingMergeTree實現了對ReplacingMergeTree功能的限制,在建表語句中指定一個標記列sign,后臺Compaction時會將主鍵相同,sign相反的行進行刪除。ClollapsingMergeTree將行安裝sign的值分為兩類:sign=1為狀態行,sign=-1位取消行。每次需要新增狀態時,寫入一行狀態行,需要刪除狀態時,寫入一行取消行。后臺在Compaction時,狀態行與取消行會自動做折疊(刪除),而尚未進行Compaction的數據,狀態行與取消行同時存在。

? 為了能夠達到主鍵折疊(刪除)的目的,對業務層進行適當改造:①執行刪除操作需要寫入取消行,而取消行中需要包含與原始狀態行主鍵一樣的數據(Sign列除外)。所以在應用層需要記錄原始狀態行的值,或者在執行刪除操作前先查詢數據庫獲取原始狀態行。②由于后臺Compaction時機無法預測,在發起查詢時,狀態行和取消行可能尚未被折疊;另外,ClickHouse無法保證primary key相同的行落在同一個節點上,不在同一節點上的數據無法折疊。因此在進行count(*)、sum(col)等聚合計算時,可能會存在數據冗余的情況。為了獲得正確結果,業務層需要改寫SQL,將count()、sum(col)分別改寫為sum(Sign)、sum(col * Sign)。

? 測試:

CREATE TABLE test_cmt1(\UserID UInt64,\PageViews UInt8,\Duration UInt8,\Sign Int8\ )\ ENGINE = CollapsingMergeTree(Sign)\ ORDER BY UserID;

? 插入狀態行,sign列的值為1

INSERT INTO test_cmt1 VALUES (123456, 6, 88, 1);

? 插入一行取消行,用于抵消上述狀態行。sign列的值為-1,其余值與狀態行一致;并且插入一行主鍵相同的新狀態行,用來將PageViews從6更新至7,將Duration從888更新為889.

INSERT INTO test_cmt1 VALUES (123456, 6, 88, -1), (123456, 7, 90, 1);

? 查詢數據:可以看到未Compaction之前,狀態行與取消行共存。

SELECT * FROM test_cmt1 ┌─UserID─┬─PageViews─┬─Duration─┬─Sign─┐ │ 123456 │ 6 │ 88 │ 1 │ └────────┴───────────┴──────────┴──────┘ ┌─UserID─┬─PageViews─┬─Duration─┬─Sign─┐ │ 123456 │ 6 │ 88 │ -1 │ │ 123456 │ 7 │ 90 │ 1 │ └────────┴───────────┴──────────┴──────┘ 為了獲取正確的sum值,需要改寫SQL: sum(PageViews) => sum(PageViews * Sign)、 sum(Duration) => sum(Duration * Sign) SELECT UserID, sum(PageViews * Sign) AS PageViews, sum(Duration * Sign) AS Duration FROM test_cmt1 GROUP BY UserID HAVING sum(Sign) > 0┌─UserID─┬─PageViews─┬─Duration─┐ │ 123456 │ 7 │ 90 │ └────────┴───────────┴──────────┘

? 強制后臺Compaction

optimize table test_cmt1 final;

? 再次查詢,可以看到狀態行、取消行已經被折疊,只剩下最新的一行狀態行。

SELECT * FROM test_cmt1 ┌─UserID─┬─PageViews─┬─Duration─┬─Sign─┐ │ 123456 │ 7 │ 90 │ 1 │ └────────┴───────────┴──────────┴──────┘

? CollapsingMergeTree雖然解決了主鍵相同的數據即時刪除的問題,但是狀態持續變化且多線程并行寫入情況下,狀態行與取消行位置可能亂序,導致無法正常折疊。

CREATE TABLE test_cmt2(\UserID UInt64,\PageViews UInt8,\Duration UInt8,\Sign Int8\ )\ ENGINE = CollapsingMergeTree(Sign)\ ORDER BY UserID;

? 先插入取消行,然后后插入狀態行

INSERT INTO test_cmt2 VALUES (123456, 6, 88, -1); INSERT INTO test_cmt2 VALUES (123456, 6, 88, 1);

? 強制Compaction

optimize table test_cmt2 final;

? 查詢

select * from test_cmt2;

? 可以看到即便Compaction之后也無法進行主鍵折疊: 2行數據仍舊都存在。

SELECT * FROM test_cmt2 ┌─UserID─┬─PageViews─┬─Duration─┬─Sign─┐ │ 123456 │ 6 │ 88 │ -1 │ │ 123456 │ 6 │ 88 │ 1 │ └────────┴───────────┴──────────┴──────┘

? 為了解決CollapsingMergeTree亂序寫入情況下無法正常折疊問題,VersionedCollapsingMergeTree表引擎在建表語句中新增了一列Version,用于在亂序情況下記錄狀態行與取消行的對應關系。主鍵相同,且Version相同、Sign相反的行,在Compaction時會被刪除。

? 與CollapsingMergeTree類似, 為了獲得正確結果,業務層需要改寫SQL,將count()、sum(col)分別改寫為sum(Sign)、sum(col * Sign)。

2.1.5 AggregatingMergeTree

? AggregatingMergeTree與MergeTree的區別在于會進行預先的聚合,用于提升聚合計算的性能。與SummingMergeTree的區別在于SummingMergeTree對于非主鍵列進行sum聚合,而AggregatingMergeTree則可以指定各種聚合函數。

? AggregatingMergeTree需要結合物化視圖或者ClickHouse的特殊數據類型ArrregateFunction一起使用,在insert寫入的時候需要使用-State語法,在select查詢的時候使用-Merge語法。

? 語法:

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster] (name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],... ) ENGINE = AggregatingMergeTree() [PARTITION BY expr] [ORDER BY expr] [SAMPLE BY expr] [TTL expr] [SETTINGS name=value, ...]

? (1)結合物化視圖

CREATE TABLE test_amt1(\UserID UInt64,\CounterID UInt8,\StartDate Date,\Sign Int8\ )\ ENGINE = CollapsingMergeTree(Sign)\ ORDER BY UserID;

? 對test_amt建立物化視圖,進行預先聚合。預先聚合使用的函數分別為: sumState, uniqState。對應于寫入語法-State.

CREATE MATERIALIZED VIEW test_amt1_view\ ENGINE = AggregatingMergeTree() PARTITION BY toYYYYMM(StartDate) ORDER BY (CounterID, StartDate)\ AS SELECT\CounterID,\StartDate,\sumState(Sign) AS Visits,\uniqState(UserID) AS Users\ FROM test_amt1\ GROUP BY CounterID, StartDate;

? 插入數據

INSERT INTO test_amt1 VALUES(123, 0, '2020-05-01', 3); INSERT INTO test_amt1 VALUES(123, 1, '2020-05-01', 3); INSERT INTO test_amt1 VALUES(111, 2, '2020-05-02', 2);

? 對物化視圖進行最終的聚合操作。使用的聚合函數為 sumMerge, uniqMerge。

SELECT \StartDate, \sumMerge(Visits) AS Visits, \uniqMerge(Users) AS Users\ FROM test_amt1_view \ GROUP BY StartDate\ ORDER BY StartDate ASC┌──StartDate─┬─Visits─┬─Users─┐ │ 2020-05-01 │ 6 │ 1 │ │ 2020-05-02 │ 2 │ 1 │ └────────────┴────────┴───────┘

? 普通函數 sum, uniq不再可以使用,會報錯: Illegal type AggregateFunction(sum, Int8) of argument

? (2)配合特殊數據類型AggregateFunction使用

CREATE TABLE test_amt2(\CounterID UInt8,\StartDate Date,\Money UInt64,\UserID UInt64\ ) ENGINE = MergeTree() \ PARTITION BY toYYYYMM(StartDate) \ ORDER BY (CounterID, StartDate);

? 插入數據

INSERT INTO test_amt2 VALUES(111, '2020-05-01', 10, 1); INSERT INTO test_amt2 VALUES(111, '2020-05-01', 12, 5); INSERT INTO test_amt2 VALUES(122, '2020-05-02', 9, 2);

? 建立預先聚合表,其中UserID一列的類型為:AggregateFunction(uniq, UInt64)

CREATE TABLE test_amt2_agg(\CounterID UInt8,\StartDate Date,\Money AggregateFunction(sum, UInt64),\UserID AggregateFunction(uniq, UInt64)\ ) ENGINE = AggregatingMergeTree() \ PARTITION BY toYYYYMM(StartDate) \ ORDER BY (CounterID, StartDate);

? 從明細表中讀取數據,插入聚合表,子查詢中使用的聚合函數為 uniqState

INSERT INTO test_amt2_agg SELECT \CounterID, \StartDate, \sumState(Money),\uniqState(UserID)\ FROM test_amt2 \ GROUP BY \CounterID, \StartDate

? 注意:不能使用普通insert語句向AggregatingMergeTree中插入數據。會報錯:Cannot convert UInt64 to AggregateFunction(uniq, UInt64)

? 從聚合表中查詢,select中使用的聚合函數為uniqMerge

SELECT CounterID,StartDate,sumMerge(Money),uniqMerge(UserID) AS state\ FROM test_amt2_agg \ GROUP BY \CounterID, \StartDateSELECT CounterID, StartDate, sumMerge(Money), uniqMerge(UserID) AS state FROM test_amt2_agg GROUP BY CounterID, StartDate┌─CounterID─┬──StartDate─┬─sumMerge(Money)─┬─state─┐ │ 122 │ 2020-05-02 │ 9 │ 1 │ │ 111 │ 2020-05-01 │ 22 │ 2 │ └───────────┴────────────┴─────────────────┴───────┘

?

2.2 Log系列

? Log系列表引擎功能相對簡單,輕量級引擎主要用于快速寫入小表(1百萬行左右的表),然后全部讀出的場景。

? 特點:

? (1)數據被順序append寫到磁盤上。

? (2)不支持delete、update。

? (3)不支持index。

? (4)不支持原子性寫。

? (5)insert會阻塞select操作。

? TinyLog,StripLog,Log區別如下:①TinyLog:不支持并發讀取數據文件,查詢性能較差;格式簡單,適合用來暫存中間數據。②StripLog:支持并發讀取數據文件,查詢性能比TinyLog好;將所有列存儲在同一個大文件中,減少了文件個數。③Log:支持并發讀取數據文件,查詢性能比TinyLog好;每個列會單獨存儲在一個獨立文件中。

2.2.1 TinyLog

? 最簡單的表引擎,用于將數據存儲在磁盤上。每列都存儲在單獨的壓縮文件中,寫入時,數據將附加到文件末尾。該引擎沒有并發控制,如果同時從表中讀取和寫入數據,則讀取操作將拋出異常;如果同時寫入多個查詢中的表,則數據將被破壞。
不支持索引。

? 測試:

CREATE TABLE test_tl (\id UInt16,\name String)\ ENGINE=TinyLog;

? 插入數據:

INSERT INTO test_tl (id, name) values (1, 'zs');

? 進入ClickHouse的test_tl表的數據存儲目錄

[root@ambari01 test_tl]# cd /data/clickhouse/data/test/test_tl[root@ambari01 test_tl]# ll total 12 -rw-r----- 1 clickhouse hadoop 28 May 22 18:07 id.bin -rw-r----- 1 clickhouse hadoop 29 May 22 18:07 name.bin -rw-r----- 1 clickhouse hadoop 64 May 22 18:07 sizes.json

? id.bin和name.bin是壓縮過的對應的列的數據,sizes.json 中記錄了每個 *.bin 文件的大小。

[root@ambari01 test_tl]# cat sizes.json {"yandex":{"id%2Ebin":{"size":"28"},"name%2Ebin":{"size":"29"}}}

2.3 Integration系列

? 該系統表引擎主要用于將外部數據導入到ClickHouse中,或者在ClickHouse中直接操作外部數據源。

2.3.1 Kafka

? 將Kafka Topic中的數據直接導入到ClickHouse。

2.3.2 MySQL

? 將Mysql作為存儲引擎,直接在ClickHouse中對MySQL表進行select等操作。

2.3.3 JDBC/ODBC

? 通過指定jdbc、odbc連接串讀取數據源。

2.3.4 HDFS

? 直接讀取HDFS上的特定格式的數據文件;

2.4 Special系列

? Special系列的表引擎,是為了特定場景而定制的,不做詳述。

? Memory:將數據存儲在內存中,重啟后會導致數據丟失。查詢性能極好,適合于對于數據持久性沒有要求的1億一下的小表。在ClickHouse中,通常用來做臨時表。

? Buffer:為目標表設置一個內存buffer,當buffer達到了一定條件之后會flush到磁盤。

? File:直接將本地文件作為數據存儲。

? Null:寫入數據被丟棄、讀取數據為空。

總結

以上是生活随笔為你收集整理的ClickHouse表引擎的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久不卡国产精品一区二区 | 国产精品网址在线观看 | 天天综合在线观看 | 99视频播放 | 久久狠狠婷婷 | 日韩理论电影在线观看 | 成年人视频在线免费观看 | 日本成人中文字幕在线观看 | 91日韩在线视频 | 日本在线观看一区二区三区 | 麻豆你懂的 | www.亚洲精品 | 2018亚洲男人天堂 | 国产精品一区二区久久精品爱涩 | 四虎5151久久欧美毛片 | 91在线免费看片 | 奇米影视777影音先锋 | 成人一级免费电影 | 中文字幕免费中文 | 久草网视频在线观看 | 久久免费视频99 | 成人av网站在线 | 香蕉影视在线观看 | 一本一道久久a久久综合蜜桃 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 久久免费影院 | 最近最新mv字幕免费观看 | 久久久久97国产 | 国产美女网 | 国产精品 国内视频 | 午夜91在线 | 一级一片免费观看 | 中文字幕资源网 | 一区二区三区日韩在线 | 99久久夜色精品国产亚洲 | 国产成人亚洲在线观看 | 国产资源在线视频 | 丝袜制服天堂 | 欧美久久久一区二区三区 | 色鬼综合网 | 探花视频在线观看免费 | 日韩在线视频免费观看 | 久久综合一本 | 日本bbbb摸bbbb| 国产精品久免费的黄网站 | 天天干,狠狠干 | 中文字幕 欧美性 | 中文字幕一区二区三区乱码不卡 | 四虎在线视频免费观看 | 天堂va在线观看 | 91福利视频在线 | 日韩三级视频在线观看 | 成年人免费在线观看网站 | 国产亚洲精品精品精品 | 97电影院在线观看 | 亚洲永久av | 日韩av视屏在线观看 | 黄色小说网站在线 | 日韩激情片在线观看 | 国产69精品久久久久久久久久 | 精品国产一区二区三区四 | 中文字幕高清有码 | 国内成人精品视频 | 日韩在线观看a | 精品亚洲男同gayvideo网站 | 久久一级片 | 亚洲毛片久久 | 91视频电影 | 午夜电影久久久 | 天天干天天操天天入 | 91人网站| 欧美另类tv | 又爽又黄又刺激的视频 | 久久国产一二区 | 成人va在线观看 | 日本公妇色中文字幕 | 99热在线这里只有精品 | 久久草在线精品 | 黄网站www | 99久久久国产免费 | 久久久受www免费人成 | 日韩精品国产一区 | 狠狠夜夜 | 亚洲一区二区天堂 | 96精品高清视频在线观看软件特色 | 国产丝袜高跟 | 69av久久| 天天艹天天爽 | 天天做天天射 | 久久国产视频网 | 91精品国产高清自在线观看 | 国产视频日本 | 午夜免费久久看 | 国产精品久久在线观看 | 精品国模一区二区三区 | 亚洲aaa毛片| 中文字幕亚洲国产 | 国产99免费| 国产精品久久久久久久免费 | 又黄又爽又色无遮挡免费 | 国产成人久久77777精品 | 麻豆影视在线免费观看 | 亚洲国产高清视频 | 久久婷亚洲五月一区天天躁 | 欧美精品久久久久久 | 亚洲精品免费在线观看视频 | 国产淫片免费看 | 国产高清精 | 美女一区网站 | 九九九九热精品免费视频点播观看 | 狠狠干网址| freejavvideo日本免费 | 国产视频第二页 | 麻豆传媒视频在线 | 成人av在线资源 | 在线观看视频精品 | 激情校园亚洲 | 狠狠操电影网 | 国产精品人人做人人爽人人添 | 中文字幕一区二区三区四区视频 | 波多野结衣在线中文字幕 | 精品999国产| 国产小视频在线免费观看 | 制服丝袜在线91 | 五月色丁香| 中文字幕你懂的 | 久久久久久久福利 | 在线看一区二区 | 国产资源网站 | 成人少妇影院yyyy | 在线观看91精品视频 | 久久精品—区二区三区 | 国产精品久久久久久高潮 | 中文字幕一区二区三区视频 | 国产亚洲成av片在线观看 | 久久久精品一区二区三区 | 亚洲 精品在线视频 | 精品一区二区三区在线播放 | 狠狠的日日| 中文字幕 91| 国产精品视频久久 | 五月婷婷影院 | 深爱婷婷激情 | 精品国产电影一区二区 | 91av视频免费在线观看 | 日韩欧美v | 中文国产字幕在线观看 | 国产精品毛片网 | 久久精品中文字幕少妇 | 青青河边草观看完整版高清 | 欧美一级黄色片 | 日韩欧美高清一区二区三区 | 99re国产视频| 国产亚洲精品久久久久秋 | 欧美日在线观看 | 婷五月天激情 | 国产精品18久久久久久不卡孕妇 | 色亚洲网| 午夜色大片在线观看 | 五月开心婷婷网 | 久久久久久久久影院 | 色综合久久久久网 | 五月综合激情网 | 中文字幕一区二区三区四区 | 成人免费 在线播放 | 天天射天天 | 麻豆影视网 | 国产精品久久久一区二区三区网站 | 国产一区二三区好的 | 国产一区 在线播放 | 97精品国产97久久久久久免费 | 最新国产福利 | av电影av在线 | 国产一级一级国产 | 丁香在线视频 | 日韩视频中文 | 国产精品涩涩屋www在线观看 | 99视频在线| 婷婷亚洲综合 | 少妇性色午夜淫片aaaze | 午夜美女wwww | 久久免费毛片 | 97热在线观看 | 肉色欧美久久久久久久免费看 | av片一区二区 | 欧美久久久一区二区三区 | 一区二区中文字幕在线播放 | 六月丁香久久 | 国产欧美久久久精品影院 | 不卡精品| 伊人五月天婷婷 | a'aaa级片在线观看 | 国产一级视屏 | 精品视频免费看 | 97在线看 | 中文乱码视频在线观看 | wwwwww黄| 精品在线观看一区二区 | 手机av在线免费观看 | 五月婷婷播播 | 久久这里只有精品视频首页 | 日日夜日日干 | 欧美极品xxx | 综合精品久久久 | 97视频人人澡人人爽 | 国产成人一区二区啪在线观看 | 久草在线观看资源 | 91九色网址 | 最近中文字幕免费av | 成人毛片在线观看 | 一区二区三区 亚洲 | 亚洲桃花综合 | 草在线视频 | 国产精品手机在线播放 | 最近免费中文视频 | 日韩av片免费在线观看 | 精品国产123 | 免费看成人a | 婷婷色社区 | 天天草综合| 久久综合九色综合久久久精品综合 | 青青河边草观看完整版高清 | 天天操天天添 | 日韩精品中文字幕av | 九九视频一区 | 五月婷婷六月丁香 | 91麻豆网站| 在线国产黄色 | 日韩三级视频 | 国产精品不卡av | 99精品免费 | 日韩视频在线观看视频 | 午夜视频在线观看一区二区 | 国产精品久久久久久一区二区 | 91九色成人 | 日本久久久精品视频 | 日本在线观看一区二区三区 | 黄色成人影视 | 亚洲在线资源 | 成人97人人超碰人人99 | 97热在线观看 | 国产精品一区二区三区免费看 | 色 免费观看| 2021av在线| 在线观看国产永久免费视频 | 国产日韩精品在线观看 | 精品天堂av| 国产一区福利 | 91精品入口| 又色又爽又黄高潮的免费视频 | 亚洲妇女av| 亚洲深夜影院 | www.99久久.com| 国产高清在线a视频大全 | 国产一区二区三区四区大秀 | 亚洲一级片在线看 | 国产亚洲午夜高清国产拍精品 | 亚洲精品国产高清 | 欧美成人在线免费观看 | 麻豆久久久久久久 | 国产精品久久久久毛片大屁完整版 | 国产综合精品一区二区三区 | 成人黄视频| 久久综合电影 | 日韩 国产| 91香蕉国产 | 午夜精品久久久久久久久久久 | 欧美黑人xxxx猛性大交 | 亚洲精品资源在线观看 | 欧美成人理伦片 | 久久久精品视频网站 | 国产一区二区在线播放 | www.国产毛片 | 亚一亚二国产专区 | 国产在线污 | 日本在线观看中文字幕无线观看 | 国产小视频免费在线网址 | 国产精品久久电影网 | 欧美性色xo影院 | 日韩精品免费 | jizz欧美性9 国产一区高清在线观看 | 亚洲国产精品人久久电影 | 国产一级性生活 | 99热这里只有精品国产首页 | 天天干天天射天天插 | 一区二区欧美日韩 | 精品少妇一区二区三区在线 | 日操干| 九九视频在线观看视频6 | 日韩午夜av电影 | 伊人婷婷在线 | 成人av在线电影 | 久久国语露脸国产精品电影 | 成人午夜电影在线播放 | 毛片无卡免费无播放器 | 日本天天色 | 天天插视频 | 精品久久国产一区 | 国产h在线播放 | 日韩三级免费 | 日韩av免费在线电影 | 91女子私密保健养生少妇 | 国产高清精品在线观看 | 91九色蝌蚪视频在线 | 国产精品不卡 | 天天插天天干 | 日韩激情影院 | 丁香 久久 综合 | 在线亚洲午夜片av大片 | 国产99久久久欧美黑人 | 午夜免费福利视频 | 一区二区三区在线观看免费 | 久久久久亚洲精品男人的天堂 | 亚洲视频 中文字幕 | 欧美极品少妇xxxx | 国产精品久久久久久a | 色视频网址 | 麻豆久久一区 | 国产一区二区在线播放 | 日日日爽爽爽 | www亚洲国产| 黄色在线看网站 | 亚洲精品午夜久久久久久久久久久 | 五月天久久婷 | 日日干夜夜草 | 97视频免费观看 | 亚洲天天做 | 久久ww | 热久在线| 91原创在线观看 | 友田真希x88av | 激情在线网址 | 黄色www | www看片网站 | 色资源中文字幕 | 欧美国产日韩一区二区三区 | 99爱精品在线 | 九九视频免费在线观看 | 成人在线黄色 | 久久撸在线视频 | 久久免费视频国产 | 91成人精品一区在线播放 | 国产精品久久久久久久久久久免费看 | 日韩在线欧美在线 | 五月天亚洲综合 | 久久歪歪 | 欧美成人在线网站 | 国产精品一区二区白浆 | 一级一片免费看 | 青青河边草免费观看 | 亚洲性少妇性猛交wwww乱大交 | 人人干网站 | 免费v片| 国产无套精品久久久久久 | 日韩中文字幕a | 99精品国产高清在线观看 | 国产精品va最新国产精品视频 | 中文字幕资源在线 | 成人理论在线观看 | 日本免费一二三区 | 久久免费高清 | 六月丁香色婷婷 | 日韩区欠美精品av视频 | 久久怡红院 | 国产精品 中文在线 | 91亚洲成人| 91私密视频 | 国产精品毛片完整版 | 成 人 黄 色 视频 免费观看 | 奇米网网址 | 国产永久免费高清在线观看视频 | 国产精品视频区 | 国产精品嫩草影院99网站 | 狠狠色狠狠色综合日日小说 | 日韩毛片久久久 | 中文字幕精品一区 | 在线电影日韩 | 日日夜夜天天久久 | 色天天综合久久久久综合片 | a精品视频 | 亚洲天堂网在线视频观看 | 国产玖玖精品视频 | 日韩在线免费播放 | 欧美午夜精品久久久久 | 国产精品美女毛片真酒店 | 成人久久久精品国产乱码一区二区 | 国产视频不卡 | 综合久久精品 | 国产精品99精品 | 久久久综合精品 | 欧美日韩中文国产 | 日日爱影视 | av高清一区二区三区 | 四虎成人精品永久免费av九九 | 99视频在线免费看 | 日韩成人精品 | 成人免费中文字幕 | 精品亚洲免费 | 天天综合网国产 | 天天干夜夜 | www.久久色 | 亚洲一区二区三区91 | 在线日韩 | 欧美日韩国产综合网 | 免费久草视频 | 三级在线播放视频 | 香蕉视频国产在线 | 五月精品| 激情综合网五月激情 | av中文字幕在线免费观看 | 国产精品婷婷午夜在线观看 | 久久久久99精品国产片 | 国产精品麻豆91 | 992tv在线观看网站 | 一区二区电影在线观看 | 精品九九九 | 手机看国产毛片 | 国产精品视频最多的网站 | 91九色视频在线播放 | 高清中文字幕av | 六月丁香色婷婷 | 国产精品av免费观看 | 亚洲国产精品人久久电影 | 久久久18 | 日韩av看片 | 久久精品国产第一区二区三区 | 国产日韩av在线 | 福利视频网址 | 国产精品久久久久一区二区三区 | 玖玖在线视频观看 | 69国产精品视频免费观看 | 久久精品亚洲一区二区三区观看模式 | 免费看片在线观看 | 色婷婷久久一区二区 | 色偷偷网站视频 | 国产精品一区二区av日韩在线 | 手机av看片 | 91av视屏| 国产视频中文字幕在线观看 | 日韩欧美视频在线播放 | 一区二区免费不卡在线 | 国产中文字幕在线视频 | 午夜视频一区二区三区 | 国产精品18久久久久白浆 | 黄色午夜网站 | 黄色网址国产 | 国产精品毛片网 | 国内免费久久久久久久久久久 | 992tv在线 | 色婷婷av一区二 | 久久免费福利视频 | 久久国产精品99久久人人澡 | 日韩在线免费观看视频 | 国产成人精品一区二区三区在线观看 | 综合网伊人 | 日韩欧美在线观看一区 | 成人久久综合 | 在线观看成人网 | 手机看片1042 | av高清一区二区三区 | 久久69精品久久久久久久电影好 | 天天人人| 黄色资源在线 | 最新国产福利 | 天堂素人在线 | 天天曰天天曰 | 18久久久久久 | 欧美日韩在线精品一区二区 | 一色av | 欧美性极品xxxx娇小 | 久久新| 综合网婷婷 | 精品久久福利 | 亚洲视频 视频在线 | 国内成人精品2018免费看 | 麻豆视频免费在线观看 | 天堂va在线观看 | 久久久免费网站 | 国产免费观看高清完整版 | 岛国精品一区二区 | 国产黄在线| 一本一道波多野毛片中文在线 | 午夜免费福利片 | 久久久精品 一区二区三区 国产99视频在线观看 | 国产精品成人免费一区久久羞羞 | 天天射天天色天天干 | 国产精品去看片 | 五月天天在线 | 国产黄色理论片 | 伊人www22综合色 | 在线观看免费av片 | 国产一线天在线观看 | bbbb操bbbb| 国产精品一区久久久久 | 国产一区二区久久精品 | 国产黄色精品在线 | 江苏妇搡bbbb搡bbbb | 精品国产成人av在线免 | 91九色国产蝌蚪 | 日韩视频二区 | 免费看的黄色片 | 欧美精品免费视频 | 色狠狠久久av五月综合 | 中文字幕韩在线第一页 | 日本夜夜草视频网站 | 成年人网站免费在线观看 | 久草网在线视频 | 中文字幕在线观看第二页 | 亚洲视频综合 | 日日夜夜人人天天 | 激情五月婷婷丁香 | 手机在线看永久av片免费 | 色狠狠综合天天综合综合 | 欧美小视频在线 | 欧美婷婷色| 深爱五月激情网 | 午夜av影院 | 久久久久久久久久久久影院 | 不卡的av在线播放 | 丝袜美腿亚洲 | 成人小视频在线 | 97人人澡人人爽人人模亚洲 | 天天干夜夜夜 | 国产精品专区在线 | 国产成本人视频在线观看 | 麻豆av一区二区三区在线观看 | 成人久久久久 | 免费福利在线视频 | 亚洲男人天堂2018 | 欧美在线视频日韩 | 久久精品国产免费看久久精品 | 日韩毛片在线一区二区毛片 | 久久曰视频| av不卡中文| 视频二区在线 | 免费看搞黄视频网站 | 国产手机在线观看 | 久久久久久久18 | 五月婷婷六月综合 | 天天爽天天做 | 国产91九色蝌蚪 | 97超碰在线免费 | 最近日本韩国中文字幕 | 在线黄网站 | 超碰电影在线观看 | 日韩黄色在线 | 日韩精品视频免费在线观看 | 成人av网站在线播放 | 91免费版成人 | www视频在线观看 | 精品一二三四五区 | 亚洲精品国产高清 | av天天澡天天爽天天av | 国精产品999国精产品视频 | 999电影免费在线观看 | 在线综合 亚洲 欧美在线视频 | 国产精品一区一区三区 | 99国产在线观看 | 在线三级av | 三级av小说 | 日韩在线观看小视频 | 日韩精品久久久久久中文字幕8 | 久久国产精品一二三区 | 成人黄色毛片视频 | 91色偷偷 | 香蕉久久国产 | 99精品欧美一区二区三区黑人哦 | 日本在线观看一区二区 | 91亚色视频 | av观看在线观看 | 久久免费视频在线观看 | 精品一区二区在线播放 | 91网站观看 | 夜夜躁日日躁狠狠久久av | 国产视频午夜 | 人人天天夜夜 | www色综合| 免费看毛片网站 | 探花视频在线观看免费 | 一区二区三区不卡在线 | 亚洲成 人精品 | 超碰在线人人97 | 久色小说 | 在线观看国产www | 日韩三级视频在线观看 | 天天射天天 | 亚洲综合色网站 | 国产精品视频大全 | 2024国产精品视频 | 久久久久久影视 | 亚洲黄色软件 | 日本久久不卡视频 | 久久精品综合视频 | 亚洲精区二区三区四区麻豆 | 超碰免费观看 | 成人午夜在线电影 | 国产视频欧美视频 | 久久99精品久久久久久清纯直播 | 国产成人精品亚洲精品 | 中文字幕av最新更新 | 青青河边草免费直播 | 国产视频资源在线观看 | 在线中文字幕av观看 | 日韩毛片在线免费观看 | 免费福利片2019潦草影视午夜 | 精品一区二区久久久久久久网站 | 久久超碰免费 | 欧美日韩不卡在线视频 | 免费在线播放黄色 | 91av在线播放视频 | 日韩中文字幕在线看 | 亚洲免费资源 | 国产精品久久片 | 亚洲国产综合在线 | 国产在线a视频 | 在线视频电影 | 成人看片 | 国产精品一区欧美 | 丁香花在线视频观看免费 | 91| 久久免费视频2 | 久久综合九色综合欧美狠狠 | 国产美女精品人人做人人爽 | 欧美精品一区二区在线播放 | 国产日韩欧美在线观看视频 | 国产国产人免费人成免费视频 | 日韩字幕在线 | 99国产成+人+综合+亚洲 欧美 | 久久成年人视频 | 久久久亚洲国产精品麻豆综合天堂 | 国产精品色婷婷视频 | 开心激情婷婷 | 日韩欧美精品免费 | 亚洲伊人av| 日韩视频1区| 亚洲电影图片小说 | 欧美最猛性xxxx | 免费色网站| www.婷婷com | 综合色婷婷 | 九九日九九操 | 91麻豆精品国产自产在线 | 日韩a级黄色片 | 亚洲在线网址 | 色综合久久久久综合99 | 手机av在线免费观看 | 亚洲三级网站 | 国产资源免费 | 欧美精品久久久久久久久免 | 国产区欧美 | 久草视频在线免费 | 久操视频在线播放 | 一级黄色免费网站 | 亚洲区另类春色综合小说 | 欧美性色综合网站 | 国产免费一区二区三区网站免费 | 国产不卡网站 | 天天色天天上天天操 | 欧美精品免费在线 | 成人在线小视频 | 亚洲成人精品在线 | 丁香在线观看完整电影视频 | 91精品视频在线免费观看 | www婷婷| 久久高清| 黄色电影小说 | 天天天天天操 | 操处女逼| 久久久久久久久久久久久久电影 | 国产成人精品一区二区 | 午夜精品久久久久久久99婷婷 | 久久久久久久av麻豆果冻 | 综合国产在线观看 | 99999精品| 日韩激情视频 | 国产精品美女网站 | 久久精品视频99 | 欧美一级久久久 | 国产精品午夜久久 | 色婷婷激情 | 国产97av | av网站免费在线 | 毛片永久新网址首页 | 国产成人一二三 | 日本天天操| 九九99| 东方av在| 色综合久久66 | 亚洲精品一区中文字幕乱码 | 色资源中文字幕 | 国产涩涩在线观看 | 久久艹综合 | 久久男人中文字幕资源站 | 中文字幕精品视频 | 亚洲精品视频在线播放 | 不卡在线一区 | 精品国产一区二区三区在线 | 黄色a视频免费 | www色,com | 五月激情天 | 免费看av片网站 | 91麻豆精品国产91久久久使用方法 | 日本精品在线看 | 天天干夜夜操视频 | 91九色视频在线播放 | 国产精品免费看 | 黄色福利| 欧美激情视频一区二区三区免费 | 人人超碰97 | 国产亚洲精品久久 | 久久久在线 | 91成人网在线播放 | 国产日韩视频在线 | 91精品久久久久久综合五月天 | 久久精品视频网址 | 四虎成人在线 | 亚洲国产成人久久 | 亚洲视频在线免费观看 | 永久免费在线 | www.啪啪.com | 国产免费观看高清完整版 | 精品国产区在线 | 欧美a在线免费观看 | 日韩理论电影在线观看 | 久久久久99999 | 久久国产免费视频 | 天天艹天天操 | 国产视频精品免费播放 | 国产网站在线免费观看 | 日韩视频免费 | 久久久久福利视频 | 中文字幕亚洲精品日韩 | 日日日天天天 | 成人免费观看网址 | 午夜精品电影 | 亚洲日本一区二区在线 | 亚洲丝袜中文 | 国产婷婷精品 | 久久综合久久综合九色 | 香蕉视频91 | 在线国产一区二区三区 | 国产精品麻豆欧美日韩ww | 国产精品专区在线 | 99视频免费在线观看 | av大片免费在线观看 | 欧美一级片免费播放 | 超碰在线人人艹 | 91亚洲精品国偷拍自产在线观看 | 在线韩国电影免费观影完整版 | 超碰成人免费电影 | 丁香婷婷深情五月亚洲 | 久久久精品在线观看 | 日韩欧美一区二区三区视频 | 最新日韩电影 | 五月天狠狠操 | 91精品久久久久久久99蜜桃 | 亚洲天天在线日亚洲洲精 | 亚洲理论电影网 | 国产不卡片 | 亚洲a成人v | 草久中文字幕 | 亚洲精品国产品国语在线 | 少妇av网 | wwwwwww黄 | 亚洲伦理一区二区 | 精品在线视频一区二区三区 | 国产成人精品一区二区三区网站观看 | 亚洲精品乱码久久久久久9色 | 天天干天天干天天干 | 在线观看91久久久久久 | 久久免费在线视频 | 色婷婷免费视频 | www色 | 欧美精品久久久久久久亚洲调教 | 色狠狠综合天天综合综合 | 中文字幕av最新 | 日韩欧美v | 夜夜躁狠狠燥 | 天天干,天天射,天天操,天天摸 | 婷婷六月天天 | 美女免费视频观看网站 | 久久精品一级片 | 狠狠躁夜夜躁人人爽视频 | 蜜臀久久99静品久久久久久 | 久草观看 | 日韩免费视频在线观看 | 亚州国产精品视频 | 色香蕉网 | 久久人人爽人人爽人人片av软件 | 手机看片中文字幕 | 国产精品久久久久久久久岛 | 免费看特级毛片 | 国内精品久久久久久久影视简单 | 日韩在线视频精品 | 日日夜夜草 | 久久国产精品小视频 | 婷婷视频导航 | 欧美亚洲免费在线一区 | 成人久久久精品国产乱码一区二区 | 国产只有精品 | 91视频下载 | 精品国产伦一区二区三区免费 | 精品国产乱码久久久久久天美 | av电影中文字幕 | 香蕉视频免费在线播放 | www.福利| 综合色亚洲 | 91中文字幕网 | 9色在线视频 | 亚洲影视九九影院在线观看 | 国产成人精品在线观看 | 久久精品久久精品久久 | 久久久精品视频成人 | 亚洲免费资源 | 日韩a欧美| 国产视频在 | 国产成人av电影在线观看 | 在线观看一级 | 黄色中文字幕 | 成人a在线观看 | 色天天综合网 | 亚州人成在线播放 | 成人黄大片 | 国产福利91精品 | 天天干天天做天天操 | 色福利网站 | 国产精品久久久久高潮 | 2018亚洲男人天堂 | 日本黄色一级电影 | 色五月成人 | 国产精品久久久久久久久软件 | 国产又粗又猛又色又黄视频 | 久久精选| 亚洲片在线观看 | 国产成人精品一区在线 | 91精品视频观看 | 免费看片网站91 | www国产在线 | 国产手机在线视频 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 狠狠色伊人亚洲综合网站野外 | 亚洲天堂激情 | 婷婷色六月天 | 亚洲一区 av | 久久高清国产视频 | 在线观看国产亚洲 | 在线精品视频免费播放 | 中文字幕在线色 | av导航福利 | 欧美成年人在线视频 | 麻豆成人在线观看 | 天天操天天干天天综合网 | av片在线看 | 亚洲1区在线 | 色婷婷综合视频在线观看 | 九九九视频在线 | 成人性生爱a∨ | 久久精品国产免费看久久精品 | 国产韩国精品一区二区三区 | 99热官网 | 福利视频一区二区 | 久草视频99| 伊人资源站 | 91探花国产综合在线精品 | 91麻豆传媒 | 亚洲精品18p | 伊人网综合在线观看 | 97在线资源| 在线亚洲人成电影网站色www | 亚洲激情中文 | 麻豆国产精品va在线观看不卡 | 国产婷婷vvvv激情久 | 欧美日韩久久久 | 成人欧美日韩国产 | 毛片网站免费在线观看 | 成人在线视频观看 | 91日韩在线 | 久久天天躁狠狠躁亚洲综合公司 | 久久久网页 | 97视频网站| 亚洲午夜精品一区 | 黄色毛片在线观看 | 婷婷色五 | 欧美精品在线观看免费 | 亚洲精品免费在线视频 | 91丨九色丨国产在线 | 国产在线不卡精品 | 欧美日韩精品网站 | 久久综合九色综合欧美就去吻 | 国产露脸91国语对白 | 狠狠干夜夜爱 | 午夜婷婷在线观看 | 激情在线网站 | 夜夜躁日日躁狠狠久久av | 日韩综合在线观看 | 日本成人免费在线观看 | 亚洲视频在线看 | 91人人爱| 又爽又黄又无遮挡网站动态图 | www免费视频com| 国产在线日韩 | 在线观看视频在线观看 | 欧美乱大交 | 91精品第一页 | 99精品视频免费 | 中文字幕视频免费观看 | 国产精品一区二区在线免费观看 | 国产在线理论片 | 97人人澡人人爽人人模亚洲 | 亚洲 中文 欧美 日韩vr 在线 | 亚洲精品456在线播放第一页 | 三级黄在线 | 521色香蕉网站在线观看 | 99热9| 日日干日日色 | 波多野结衣一区二区三区中文字幕 | 国产精品白丝jk白祙 | 亚洲一区精品二人人爽久久 | 欧美大片mv免费 | 亚洲一级免费电影 | 国产999精品久久久 免费a网站 | 国产成人精品久久久 | 99久久精品久久久久久清纯 | 亚洲永久av | 国产精品日韩欧美一区二区 | 一区二区三区www | 少妇自拍av | 99久久精品国 | 日韩一级片观看 | 成人av免费在线看 | 综合天天 | 色婷婷视频在线观看 | 成人蜜桃 | 亚洲国产中文在线观看 | 伊人影院在线观看 | 四虎成人免费观看 | 一本一本久久a久久 | 国产一区电影在线观看 | 日韩欧美视频免费观看 | 成人黄色毛片视频 | 日韩在线三区 | 国产 亚洲 欧美 在线 | 欧美一级片在线观看视频 | 婷婷六月综合网 | 亚洲精品久久久蜜桃 | 久二影院 | 免费在线看成人av | 亚洲精品一区二区精华 | 成人国产精品免费 | 亚洲精品视频国产 | av电影在线免费 | 黄色在线免费观看网站 | 黄色看片 | 国产成人精品国内自产拍免费看 | 天天天干天天射天天天操 | 91亚洲精品久久久 | 日日躁你夜夜躁你av蜜 | 国产区精品在线观看 | 99精品视频免费观看 | 成人午夜剧场在线观看 | 国产在线第三页 | 97热视频| 最新国产精品久久精品 | 天天在线免费视频 | 午夜婷婷网 | 精品国产一区二区三区男人吃奶 | 在线免费视| 五月天丁香综合 | 午夜在线免费观看视频 | 又污又黄网站 | 91av色| 国产清纯在线 | 国产亚洲精品成人av久久影院 | 亚洲免费永久精品国产 | 婷婷亚洲综合 | 国产福利一区二区在线 | 正在播放国产一区二区 | 亚洲精品高清视频 | 久久久国产日韩 | 狠狠色丁香婷婷综合最新地址 | 久久乐九色婷婷综合色狠狠182 | 亚洲 欧美 91 | 亚洲一区 av | 狠狠操91| 天天色播 | 日韩免费av在线 | 色婷婷色 | 国产精品区在线观看 | 五月婷婷色丁香 | 91成人网页版 | 欧美一区日韩精品 | 日韩专区在线观看 | 久久美女视频 | 91av在线免费看 | 欧美三级高清 | 久久黄色网址 | 97在线视频网站 | 免费看片成年人 |