3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ClickHouse第四讲-表引擎

發(fā)布時間:2024/8/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ClickHouse第四讲-表引擎 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
MySQL 的數(shù)據(jù)表有 InnoDB MyISAM 存儲引擎,不同的存儲引擎提供不同的存儲機(jī) 制、索引方式等功能,也可以稱之為表類型。在 ClickHouse 中也有表引擎。 表引擎在 ClickHouse 中的作用十分關(guān)鍵,直接決定了數(shù)據(jù)如何存儲和讀取、是否支 持并發(fā)讀寫、是否支持 index 索引、支持的 query 種類、是否支持主備復(fù)制等。 ClickHouse 提供了大約 28 種表引擎,各有各的用途,比如有 Log 系列用來做小表 數(shù)據(jù)分析,MergeTree 系列用來做大數(shù)據(jù)量分析,而 Integration 系列則多用于外表數(shù) 據(jù)集成。再考慮復(fù)制表 Replicated 系列,分布式表 Distributed ClickHouse 表引擎一共分為四個系列,分別是 Log 系列、MergeTree 系列、Integration 系列、Special 系列。其中包含了兩種特殊的表引擎 Replicated、Distributed,功能上與其他表引擎正交,根據(jù)場景組合使用。

Log系列表引擎

Log 系列表引擎功能相對簡單,主要用于快速寫入小表(1 百萬行左右的表),然后全 部讀出的場景,即一次寫入,多次查詢。Log 系列表引擎包含:TinyLogStripeLog Log 三種引擎。 ? 幾種 Log 表引擎的共性是: ? 數(shù)據(jù)被順序 append 寫到本地磁盤上。 ? 不支持 deleteupdate 修改數(shù)據(jù)。 ? 不支持 index(索引)。 ? 不支持原子性寫。如果某些操作(異常的服務(wù)器關(guān)閉)中斷了寫操作,則可能會獲 得帶有損壞數(shù)據(jù)的表。 ? insert 會阻塞 select 操作。當(dāng)向表中寫入數(shù)據(jù)時,針對這張表的查詢會被阻塞, 直至寫入動作結(jié)束。 ? 它們彼此之間的區(qū)別是: ? TinyLog:不支持并發(fā)讀取數(shù)據(jù)文件,查詢性能較差;格式簡單,適合用來暫存 中間數(shù)據(jù)。 ? StripLog:支持并發(fā)讀取數(shù)據(jù)文件,查詢性能比 TinyLog 好;將所有列存儲在 同一個大文件中,減少了文件個數(shù)。 ? Log:支持并發(fā)讀取數(shù)據(jù)文件,查詢性能比 TinyLog 好;每個列會單獨(dú)存儲在一 個獨(dú)立文件中

TinyLog

TinyLog Log 系列引擎中功能簡單、性能較低的引擎。 它的存儲結(jié)構(gòu)由數(shù)據(jù)文件和元數(shù)據(jù)兩部分組成。其中,數(shù)據(jù)文件是按列獨(dú)立存儲的,也 就是說每一個列字段都對應(yīng)一個文件。 由于 TinyLog 數(shù)據(jù)存儲不分塊,所以不支持并發(fā)數(shù)據(jù)讀取,該引擎適合一次寫入,多 次讀取的場景,對于處理小批量中間表的數(shù)據(jù)可以使用該引擎,這種引擎會有大量小文件, 性能會低 create table t_tinylog(id UInt8,name String,age UInt8)??engine=TinyLog; insert into t_tinylog values (1,'張三',18),(2,'李四',19),(3,' 王五',20); #在表中刪除一條數(shù)據(jù),這里是不支持 delete alter table t_tinylog delete where id = 1; 當(dāng) 在 newdb 庫 中 創(chuàng) 建 表 t_tinylog 后 , 在 ClickHouse 保 存 數(shù) 據(jù) 的 目 錄 /var/lib/clickhouse/data/newdb/下會多一個 t_tinylog 目錄在向表 t_tinylog 中插入數(shù)據(jù)后,進(jìn)入“ t_tinylog”目錄,查看目錄下的文件, 如下圖所示: t_tinylog 中的每個列都單獨(dú)對應(yīng)一個*.bin 文件,同時還有一 個 sizes.json 文件存儲元數(shù)據(jù),記錄了每個 bin 文件中數(shù)據(jù)大小

StripeLog

StripeLog 數(shù)據(jù)存儲會劃分塊,每次插入對應(yīng)一個數(shù)據(jù)塊,擁 有更高的查詢性能(擁有.mrk 標(biāo)記文件,支持并行查詢)。StripeLog 引擎將所有列存 儲在一個文件中,使用了更少的文件描述符。對每一次 Insert 請求,ClickHouse 數(shù)據(jù)塊追加在表文件的末尾,逐列寫入。StripeLog 引擎不支持 ALTER UPDATE ALTER DELETE 操作。 create table t_stripelog(id UInt8,name String,age UInt8) engine = StripeLog; #向表 t_stripelog 中插入數(shù)據(jù),這里插入分多次插入,會將數(shù)據(jù)插入不同的數(shù)據(jù)塊中 node1 :) insert into t_stripelog values (1,'張三',18); node1 :) insert into t_stripelog values (2,'李四',19); 當(dāng) 在 newdb 庫 中創(chuàng) 建表 t_stripelog 后 ,在 ClickHouse 保 存數(shù) 據(jù)的 目錄 /var/lib/clickhouse/data/newdb/下會多一個 t_stripelog 目錄,如圖所示: ? data.bin:數(shù)據(jù)文件,所有列字段都寫入 data.bin 文件中。 ? index.mrk:數(shù)據(jù)標(biāo)記文件,保存了數(shù)據(jù)在 data.bin 文件中的位置信息,即每 個插入數(shù)據(jù)列的 offset 信息,利用數(shù)據(jù)標(biāo)記能夠使用多個線程,并行度取 data.bin 壓縮數(shù)據(jù),提升查詢性能。 ? sizes.json:元數(shù)據(jù)文件,記錄了 data.bin index.mrk 大小信息。

Log

Log 引擎表適用于臨時數(shù)據(jù),一次性寫入、測試場景。Log 引擎結(jié)合了 TinyLog 表引 擎和 StripeLog 表引擎的長處,是 Log 系列引擎中性能最高的表引擎。 Log 表引擎會將每一列都存在一個文件中,對于每一次的 INSERT 操作,會生成數(shù)據(jù) ,經(jīng)測試,數(shù)據(jù)塊個數(shù)與當(dāng)前節(jié)點的 core 數(shù)一致。 create table t_log(id UInt8 ,name String ,age UInt8 ) engine = Log; #向表 t_log 中插入數(shù)據(jù),分多次插入,插入后數(shù)據(jù)存入數(shù)據(jù)塊 node1 :) insert into t_log values (1,'張三',18); node1 :) insert into t_log values (2,'李四',19); node1 :) insert into t_log values (3,'王五',20); node1 :) insert into t_log values (4,'馬六',21); node1 :) insert into t_log values (5,'田七',22); 當(dāng) 在 newdb 庫 中 創(chuàng) 建 表 t_log 后 , 在 ClickHouse 保 存 數(shù) 據(jù) 的 目 錄 /var/lib/clickhouse/data/newdb/下會多一個 t_log 目錄,如圖所示: 我們發(fā)現(xiàn)表 t_log 中的每個列都對應(yīng)一個*.bin 文件。其他兩個文件的解釋如下: ? __marks.mrk:數(shù)據(jù)標(biāo)記,保存了每個列文件中的數(shù)據(jù)位置信息,利用數(shù)據(jù)標(biāo)記 能夠使用多個線程,并行度取 data.bin 壓縮數(shù)據(jù),提升查詢性能。 ? sizes.json:記錄了*.bin __mark.mrk 大小的信息。

Special系列引擎

Memory 表引擎直接將數(shù)據(jù)保存在內(nèi)存中,ClickHouse 中的 Memory 表引擎具有以 下特點: ? Memory 引擎以未壓縮的形式將數(shù)據(jù)存儲在 RAM 中,數(shù)據(jù)完全以讀取時獲得的形 式存儲。 ? 并發(fā)數(shù)據(jù)訪問是同步的,鎖范圍小,讀寫操作不會相互阻塞。 ? 不支持索引。 ? 查詢是并行化的,在簡單查詢上達(dá)到最大速率(超過 10 GB /秒),在相對較少 的行(最多約 100,000,000)上有高性能的查詢。 ? 沒有磁盤讀取,不需要解壓縮或反序列化數(shù)據(jù),速度更快(在許多情況下,與 MergeTree 引擎的性能幾乎一樣高)。 ? 重新啟動服務(wù)器時,表存在,但是表中數(shù)據(jù)全部清空。 ? Memory 引擎多用于測試。

create table t_memory(id UInt8 ,name String, age UInt8) engine = Memory; 注意:”Memory”表引擎寫法固定,不能小寫。同時創(chuàng)建好表 t_memory 后,在對應(yīng) 的磁盤目錄/var/lib/clickhouse/data/newdb 下沒有“ t_memory”目錄,基于內(nèi)存 存儲,當(dāng)重啟 ClickHouse 服務(wù)后,表 t_memory 存在,但是表中數(shù)據(jù)全部清空。

Merge

Merge 引擎 (不要跟 MergeTree 引擎混淆) 本身不存儲數(shù)據(jù),但可用于同時從任 意多個其他的表中讀取數(shù)據(jù),這里需要多個表的結(jié)構(gòu)相同,并且創(chuàng)建的 Merge 引擎表的結(jié) 構(gòu)也需要和這些表結(jié)構(gòu)相同才能讀取。 讀是自動并行的,不支持寫入。讀取時,那些被真正讀取到數(shù)據(jù)的表如果設(shè)置了索引, 索引也會被使用。 Merge 引擎的參數(shù):一個數(shù)據(jù)庫名和一個用于匹配表名的正則表達(dá)式: Merge(數(shù)據(jù)庫, 正則表達(dá)式) 例如:Merge(hits, '^WatchLog') 表示數(shù)據(jù)會從 hits 數(shù)據(jù)庫中表名匹配正則 ^WatchLog’ 的表中讀取。 注意:當(dāng)選擇需要讀取的表時,會匹配正則表達(dá)式匹配上的表,如果當(dāng)前 Merge 表的 名稱也符合正則表達(dá)式匹配表名,這個 Merge 表本身會自動排除,以避免進(jìn)入遞歸死循環(huán), 當(dāng)然也可以創(chuàng)建兩個相互無限遞歸讀取對方數(shù)據(jù)的 Merge 表,但這并沒有什么意義。 例子: create table m_t1 (id UInt8 ,name String,age UInt8) engine = TinyLog; node1 :) insert into m_t1 values (1,'張三',18),(2,'李四',19) #newdb 庫中創(chuàng)建表 m_t2,并插入數(shù)據(jù) node1 :) create table m_t2 (id UInt8 ,name String,age UInt8) engine = TinyLog; node1 :) insert into m_t2 values (3,'王五',20),(4,'馬六',21) #newdb 庫中創(chuàng)建表 m_t3,并插入數(shù)據(jù) node1 :) create table m_t3 (id UInt8 ,name String,age UInt8) engine = TinyLog; node1 :) insert into m_t3 values (5,'田七',22),(6,'趙八',23) #newdb 庫中創(chuàng)建表 t_merge,使用 Merge 引擎,匹配 m 開頭的表 node1 :) create table t_merge (id UInt8,name String,age UInt8) engine = Merge(newdb,'^m'); #查詢 t_merge 表中的數(shù)據(jù) node1 :) select * from t_merge;

Distributed

Distributed ClickHouse 中 分 布 式 引 擎 , 之 前 所 有 的 操 作 雖 然 說 是 在 ClickHouse 集群中進(jìn)行的,但是實際上是在 node1 節(jié)點中單獨(dú)操作的,與 node2、node3 無關(guān),使用分布式引擎聲明的表才可以在其他節(jié)點訪問與操作。 Distributed 引擎和 Merge 引擎類似,本身不存放數(shù)據(jù),功能是在不同的 server 上把多張相同結(jié)構(gòu)的物理表合并為一張邏輯表。 分布式引擎語法: Distributed(cluster_name, database_name, table_name[, sharding_key]) 對以上語法解釋: ? cluster_name:集群名稱,與集群配置中的自定義名稱相對應(yīng)。配置在 /etc/metrika.xml 文件中,如下圖:

目錄文件有的在:[root@dc-o-ch-08 dev]# cat /etc/clickhouse-server/metrika.xml

? database_name:數(shù)據(jù)庫名稱。 ? table_name:表名稱。 ? sharding_key:可選的,用于分片的 key 值,在數(shù)據(jù)寫入的過程中,分布式表 會依據(jù)分片 key 的規(guī)則,將數(shù)據(jù)分布到各個節(jié)點的本地表。 注意:創(chuàng)建分布式表是讀時檢查的機(jī)制,也就是說對創(chuàng)建分布式表和本地表的順序并沒 有強(qiáng)制要求。

例子:

#使用默認(rèn)的 default 庫,在每個節(jié)點上創(chuàng)建表 test_table node1 :) create table test_local (id UInt8,name String) engine= TinyLog node2 :) create table test_local (id UInt8,name String) engine= TinyLog node3 :) create table test_local (id UInt8,name String) engine= TinyLog #node1 上創(chuàng)建分布式表 t_distributed,表引擎使用 Distributed 引擎 node1 :) create table t_distributed(id UInt8,name String) engine = Distributed(clickhouse_cluster_3shards_1replicas,default,test_local,id); 注意:以上分布式表 t_distributed 只存在與 node1 #分別在 node1node2node3 節(jié)點上向表 test_local 中插入 2 條數(shù)據(jù) node1 :) insert into test_local values (1,'張三'),(2,'李四'); node2 :) insert into test_local values (3,'王五'),(4,'馬六'); node3 :) insert into test_local values (5,'田七'),(6,'趙八'); #查詢分布式表 t_distributed 中的數(shù)據(jù) node1 :) select * from t_distributed; #向分布式表 t_distributed 中插入一些數(shù)據(jù),然后查詢 node1node2node3 節(jié) 點上的 test_local 數(shù)據(jù),發(fā)現(xiàn)數(shù)據(jù)已經(jīng)分布式存儲在不同節(jié)點上 node1 :) insert into t_distributed values (7,'zs'),(8,'ls'),(9,'ww'),(10,'ml'),(11,'tq'),(12,'zb'); #node1 查詢本地表 test_local 以上在 node1 節(jié)點上創(chuàng)建的分布式表 t_distributed 雖然數(shù)據(jù)是分布式存儲在每 個 clickhouse 節(jié)點上的,但是只能在 node1 上查詢 t_distributed 表,其 他 clickhouse 節(jié)點查詢不到此分布式表。如果想要在每臺 clickhouse 節(jié)點上都能訪問分 布式表我們可以指定集群,創(chuàng)建分布式表:

?#創(chuàng)建分布式表 t_cluster ,引擎使用 Distributed 引擎

create table t_cluster on cluster clickhouse_cluster_3shards_1replicas (id UInt8,name String) engine =Distributed(clickhouse_cluster_3shards_1replicas,default,test_local,id); 中使用了 ON CLUSTER 分布式 DDL(數(shù)據(jù)庫定義語言),這意味著在集群 的每個分片節(jié)點上,都會創(chuàng)建一張 Distributed 表,這樣便可以從其中任意一端發(fā)起對 所有分片的讀、寫請求。

MergeTree系列表引擎

所有的表引擎中,最為核心的當(dāng)屬 MergeTree 系列表引擎,這些表引擎擁有最為強(qiáng) 大的性能和最廣泛的使用場合。對于非 MergeTree 系列的其他引擎而言,主要用于特殊用 途,場景相對有限。而 MergeTree 系列表引擎是官方主推的存儲引擎,有主鍵索引、數(shù)據(jù) 分區(qū)、數(shù)據(jù)副本、數(shù)據(jù)采樣、刪除和修改等功能,支持幾乎所有 ClickHouse 核心功能。MergeTree 系 列 表 引 擎 包 含 : MergeTree 、 ReplacingMergeTree 、 SummingMergeTree(匯總求和功能)、AggregatingMergeTree(聚合功能)、 CollapsingMergeTree(折疊刪除功能)、VersionedCollapsingMergeTree(版本折疊功能)引擎,在這些的基礎(chǔ)上還可以疊加 Replicated DistributedMergeTree 在寫入一批數(shù)據(jù)時,數(shù)據(jù)總會以數(shù)據(jù)片段的形式寫入磁盤,且數(shù)據(jù)片段在磁盤上不可修改。為了避免片段過多,ClickHouse 會通過后臺線程,定期合并這些數(shù)據(jù)片段,屬于相同分區(qū)的數(shù)據(jù)片段會被合成一個新的片段。這種數(shù)據(jù)片段往復(fù)合并的特點,也 正是合并樹名稱的由來。 MergeTree 作為家族系列最基礎(chǔ)的表引擎,主要有以下特點: ? 存儲的數(shù)據(jù)按照主鍵排序:創(chuàng)建稀疏索引加快數(shù)據(jù)查詢速度。 ? 支持?jǐn)?shù)據(jù)分區(qū),可以通過 PARTITION BY 語句指定分區(qū)字段。 ? 支持?jǐn)?shù)據(jù)副本。 ? 支持?jǐn)?shù)據(jù)采樣

建表語句:

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() ORDER BY expr [PARTITION BY expr] [PRIMARY KEY expr] [SAMPLE BY expr] [TTL expr [DELETE|TO DISK 'xxx'|TO VOLUME 'xxx'], ...] [SETTINGS name=value, ...] 關(guān)于以上建表語句的解釋如下: ? ENGINEENGINE = MergeTree()MergeTree 引擎沒有參數(shù)。 ? ORDER BY:排序字段。比如 ORDER BY (Col1, Col2),值得注意的是,如果 沒有使用 PRIMARY KEY 顯式的指定主鍵 ORDER BY 排序字段自動作為主鍵。如 果不需要排序,則可以使用 ORDER BY tuple() 語法,這樣的話,創(chuàng)建的表也 就不包含主鍵。這種情況下,ClickHouse 會按照插入的順序存儲數(shù)據(jù)。必選項。 PARTITION BY : 分 區(qū) 字 段 , 例 如 要 按 月 分 區(qū) , 可 以 使 用 表 達(dá) 式 toYYYYMM(date_column),這里的 date_column 是一個 Date 類型的列,分 區(qū)名的格式會是"YYYYMM"可選。 PRIMARY KEY:指定主鍵,如果排序字段與主鍵不一致,可以單獨(dú)指定主鍵字段。 否則默認(rèn)主鍵是排序字段。大部分情況下不需要再專門指定一個 PRIMARY KEY 子句,注意,MergeTree 中主鍵并不用于去重,而是用于索引,加快查詢速度。 可選。 另外,如果指定了 PRIMARY KEY 與排序字段不一致,要保證 PRIMARY KEY 定的主鍵是 ORDER BY 指定字段的前綴,比如: 這種強(qiáng)制約束保障了即便在兩者定義不同的情況下,主鍵仍然是排序鍵的前綴,不 會出現(xiàn)索引與數(shù)據(jù)順序混亂的問題。 --允許 ... ... ORDER BY (A,B,C) PRIMARY KEY A --報錯 ... ... ORDER BY (A,B,C) PRIMARY KEY B DB::Exception: Primary key must be a prefix of the sorting key SAMPLE BY:采樣字段,如果指定了該字段,那么主鍵中也必須包含該字段。比 如 SAMPLE BY intHash32(UserID) ORDER BY (CounterID, EventDate,intHash32(UserID))可選。 ? TTL:數(shù)據(jù)的存活時間。在 MergeTree 中,可以為某個列字段或整張表設(shè)置 TTL 當(dāng)時間到達(dá)時,如果是列字段級別的 TTL,則會刪除這一列的數(shù)據(jù);如果是表級別 TTL,則會刪除整張表的數(shù)據(jù)。可選。 ? SETTINGS:額外的參數(shù)配置。可選。 例子: create table t_mt(id UInt8,name String,age UInt8,birthday Date,location String) engine=MergeTree() order by (id,age) partition by toYYYYMM(birthday);insert into t_mt values(1,'張三',18,'2021-06-01','上海'),(1,'張三',18,'2021-06-01','上海'),(2,'李四',19,'2021-02-10','北京'),(3,'王五',12,'2021-06-18','天津'),(1,'馬六',10,'2021-06-18','上海')(5,'田七',22,'2021-06-09','廣州')insert into t_mt values(1,'趙八',18,'2021-06-01','北京'),(2,'李九',19,'2021-02-10','天津'),(3,'鄭十',12,'2021-07-01','北京')optimize table t_mt partition '202102' optimize table t_mt partition '202106' 新插入的數(shù)據(jù)新生成了數(shù)據(jù)塊,實際上這里在底層對應(yīng)新的分區(qū)文件片段,那 么為什么新插入的數(shù)據(jù)沒有根據(jù)日期和之前的數(shù)據(jù)放入同一個分區(qū)文件呢?MergeTree 擎會在插入數(shù)據(jù) 15 分鐘左右,將同一個分區(qū)的各個分區(qū)文件片段合并成一整個分區(qū)文件。 這里也可以手動執(zhí)行 OPTIMIZE 語句手動觸發(fā)合并 注意:以上 optimize 操作,也可以直接寫 optimize table t_mt, 每次執(zhí)行合并一 個分區(qū),如果有多個分區(qū)需要執(zhí)行多次。如果想一次合并所有分區(qū),也可以寫成 optimize table t_mt final; 注意:MergeTree 引擎表中主鍵并不用于去重,而是用于索引,加快查詢速度。

MergeTree引擎表的目錄結(jié)構(gòu)

t_mt , 當(dāng) 插 入 數(shù) 據(jù) 完 成 后 , 在 clickhouse 節(jié) 點 /var/lib/clickhouse/data/newdb/路徑下會生成對應(yīng)目錄“t_mt”,進(jìn)入此目錄下, 可以看到對應(yīng)的分區(qū)目錄,通過: DC-pre-clickhost-01 :) select * from system.parts where table='t_mt'查詢分區(qū)信息

? table 代表當(dāng)前表。 ? partition 是當(dāng)前表的分區(qū)名稱。 ? name 是對應(yīng)到磁盤上數(shù)據(jù)所在的分區(qū)目錄片段。例如“ 202102_2_2_0”中“202102” 是分區(qū)名稱,“2”是數(shù)據(jù)塊的最小編號,“2”是數(shù)據(jù)塊的最大編號,“0”代表該塊 在 MergeTree 中第幾次合并得到。 ? active 代表當(dāng)前分區(qū)片段的狀態(tài):1 代表激活狀態(tài),0 代表非激活狀態(tài),非激活片段 是那些在合并到較大片段之后剩余的源數(shù)據(jù)片段,損壞的數(shù)據(jù)片段也表示為非活動狀 態(tài)。非激活片段會在合并后的 10 分鐘左右被刪除。 數(shù)據(jù)目錄說明: 對以上目錄的解釋如下: ? checksums.txt:校驗文件,使用二進(jìn)制格式存儲。它保存了余下各類文件(primary. idxcount.txt )size 大小及 size 的哈希值,用于快速校驗文件的完整性和 正確性。 ? columns.txt: 存儲當(dāng)前分區(qū)所有列信息。使用明文格式存儲。 ? count.txt:計數(shù)文件,使用明文格式存儲。用于記錄當(dāng)前數(shù)據(jù)分區(qū)目錄下數(shù)據(jù)的總 行數(shù)。 ? primary.idx:一級索引文件,使用二進(jìn)制格式存儲。用于存放稀疏索引,一張 MergeTree 表只能聲明一次一級索引,即通過 ORDER BY 或者 PRIMARY KEY 指定字 段。借助稀疏索引,在數(shù)據(jù)查詢的時能夠排除主鍵條件范圍之外的數(shù)據(jù)文件,從而有效減少數(shù)據(jù)掃描范圍,加速查詢速度。 ? 列.bin:數(shù)據(jù)文件,使用壓縮格式存儲,默認(rèn)為 LZ4 壓縮格式,用于存儲某一列的數(shù) 據(jù)。由于 MergeTree 采用列式存儲,所以每一個列字段都擁有獨(dú)立的.bin 數(shù)據(jù)文件, 并以列字段名稱命名。 ? .mrk2:列字段標(biāo)記文件,使用二進(jìn)制格式存儲。標(biāo)記文件中保存了.bin 文件中數(shù) 據(jù)的偏移量信息 ? partition.dat minmax_[Column].idx:如果指定了分區(qū)鍵,則會額外生成 partition.dat minmax 索 引 文 件 , 它 們 均 使 用 二 進(jìn) 制 格 式 存 儲 。 partition.dat 用于保存當(dāng)前分區(qū)下分區(qū)表達(dá)式最終生成的值,即分區(qū)字段值;而 minmax 索引用于記錄當(dāng)前分區(qū)下分區(qū)字段對應(yīng)原始數(shù)據(jù)的最小和最大值。比如當(dāng)使用 birthday 字段對應(yīng)的原始數(shù)據(jù)為 2021-02-172021-02-23,分區(qū)表達(dá)式為 PARTITION BY toYYYYMM(birthday),即按月分區(qū)。partition.dat 中保存的 值將會是 202102,而 minmax 索引中保存的值將會是 2021-02-172021-02-23 ClickHouse MergeTree 引擎表支持分區(qū),索引,修改,并發(fā)查詢數(shù)據(jù),當(dāng)查詢 MergeTree 表數(shù)據(jù)時,首先向 primary.idx 文件中獲取對應(yīng)的索引,根據(jù)索引找到 【列.mrk2】文件獲取對應(yīng)的數(shù)據(jù)塊偏移量,然后再根據(jù)偏移量從【列.bin】文件中讀取 塊數(shù)據(jù)。

MergeTree設(shè)置表引擎

給表設(shè)置分區(qū)可以在查詢過程中跳過不需要的數(shù)據(jù)目錄,提升查詢效率。在 ClickHouse 中并不是所有的表都支持分區(qū),目前只有 MergeTree 家族系列的表引擎才 支持?jǐn)?shù)據(jù)分區(qū)。 通過前面的學(xué)習(xí),我們知道向 MergeTree 分區(qū)表中每次插入數(shù)據(jù)時,每次都會生成對 應(yīng)的分區(qū)片段,不會立刻合并相同分區(qū)的數(shù)據(jù),需要等待 15 分鐘左右,ClickHouse 會自 動合并相同的分區(qū)片段,并刪除合并之前的源數(shù)據(jù)片段,當(dāng)然這里我們也可以手動執(zhí)行 OPTIMIZE 語句手動觸發(fā)合并分區(qū)表中的分區(qū)片段。通過下面案例來學(xué)習(xí)分區(qū)表中分區(qū)片 段合并的規(guī)則。 create table login_info(id UInt8,name String,log_time Date)engine=MergeTree() order by (id) partition by toYYYYMM(log_time); insert into login_info values(1,'zs','2021-06-01'),(2,'ls','2021-06-01'),(3,'ww','2021-07-01'),(4,'ml','2021-07-01');

insert into login_info values(5,'zs','2021-06-01'),(6,'ls','2021-06-01'),(7,'ww','2021-07-01'),(8,'ml','2021-07-01'); 通過插入數(shù)據(jù)之后再次查詢發(fā)現(xiàn),相同分區(qū)的數(shù)據(jù)展示在不同的數(shù)據(jù)塊中。在 clickhouse 節(jié) 點 上 再 次 查 看 表 login_info 數(shù) 據(jù) 目 錄 /var/lib/clickhouse/data/newdb/login_info,如下圖示: 202106_3_3_0”為例,“202006”為分區(qū),“3”代表數(shù)據(jù)塊的最小編號,“3 代表數(shù)據(jù)塊的最大編號,“0”代表合并的第幾次(合并樹中塊的級別)。 手動執(zhí)行 OPTIMIZE 語句手動觸發(fā)合并分區(qū)表中的分區(qū)片段: #執(zhí)行如下命令,手動合并分區(qū)片段 node1 :) optimize table login_info partition '202106' ; node1 :) optimize table login_info partition '202107' ;

?

MergeTree 分區(qū)表合并分區(qū)規(guī)則如下:獲取相同分區(qū)片段中最小編號和最大編號,組 合成新的分區(qū)片段,同時修改合并的次數(shù)(合并樹中塊的級別),合并示意圖如下:

繼續(xù)插入數(shù)據(jù)

insert into login_info values(9,'zs','2021-06-01'),(10,'ls','2021-06-01'),(11,'ww','2021-07-01'),(12,'ml','2021-07-01');

新增之后的情況:

?再次執(zhí)行合并分區(qū)命令,合并表 login_info 分區(qū)片段:

node1 :) optimize table login_info partition '202106' ; node1 :) optimize table login_info partition '202107' ; 此外,表設(shè)置分區(qū)字段時,分區(qū)健不僅可以指定成時間列,也可以是表中任意列或者列 的表達(dá)式。下面案例使用表中的地區(qū)列當(dāng)做分區(qū): create table emp_info(id UInt8,name String,age UInt8,loc String,salary Decimal32(2))engine=MergeTree() order by (id) partition loc; insert into login_info values(1,'zs',18,'上海',10.11),(2,'zs',18,'上海',10.11),(3,'zs',18,'上海',10.11),(4,'zs',18,'上海',10.11),(5,'zs',18,'上海',10.11); 注 意 : 如 果 按 照 字 符 串 字 段 來 進(jìn) 行 分 區(qū) , 在 底 層 /var/lib/clickhouse/data/newdb/目錄下對應(yīng)的表 emp_info 中的分區(qū)片段名稱 是使用字符串的 hashcode+編碼的形式來命名。

ReplacingMergeTree

MergeTree 不 能 對 相 同 主 鍵 的 數(shù) 據(jù) 進(jìn) 行 去 重 , ClickHouse 提 供 了 ReplacingMergeTree 引擎,可以針對同分區(qū)內(nèi)相同主鍵的數(shù)據(jù)進(jìn)行去重,它能夠在合并 分區(qū)時刪除重復(fù)的數(shù)據(jù)。值得注意的是,ReplacingMergeTree 只是在一定程度上解決了 數(shù)據(jù)重復(fù)問題,由于自動分區(qū)合并機(jī)制在后臺定時執(zhí)行,所以并不能完全保障數(shù)據(jù)不重復(fù)。 ReplacingMergeTree 適用于在后臺清除重復(fù)的數(shù)據(jù)以節(jié)省空間。 ? ReplaceingMergeTree 建表語句: 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] [SAMPLE BY expr] [SETTINGS name=value, ... 以上建表語句的解釋如下: ? [ver] :可選參數(shù),指定列的版本,可以是 UInt*Date 或者 DateTime 類型 的字段作為版本號。該參數(shù)決定了數(shù)據(jù)去重的方式。當(dāng)沒有指定[ver]時,保留最 后插入的數(shù)據(jù),也就是最新的數(shù)據(jù);如果指定了具體的[ver]列,則保留最大版本 數(shù)據(jù)。 使用 ReplacingMergeTree 是需要注意以下幾點: ? 如何判斷數(shù)據(jù)重復(fù) ReplacingMergeTree 在去除重復(fù)數(shù)據(jù)時,是以 ORDERBY 排序鍵為基準(zhǔn)的,而不是 PRIMARY KEY ? 何時刪除重復(fù)數(shù)據(jù) 在執(zhí)行分區(qū)合并時,會觸發(fā)刪除重復(fù)數(shù)據(jù)。optimize 的合并操作是在后臺執(zhí)行的,無 法預(yù)測具體執(zhí)行時間點,除非是手動執(zhí)行。 ? 不同分區(qū)的重復(fù)數(shù)據(jù)不會被去重 ReplacingMergeTree 是以分區(qū)為單位刪除重復(fù)數(shù)據(jù)的。只有在相同的數(shù)據(jù)分區(qū)內(nèi)重 復(fù)的數(shù)據(jù)才可以被刪除,而不同數(shù)據(jù)分區(qū)之間的重復(fù)數(shù)據(jù)依然不能被剔除。 ? 數(shù)據(jù)去重的策略是什么 如果沒有設(shè)置[ver]版本號,則保留同一組重復(fù)數(shù)據(jù)中的最新插入的數(shù)據(jù);如果設(shè)置了 [ver]版本號,則保留同一組重復(fù)數(shù)據(jù)中 ver 字段取值最大的那一行。 ? optimize 命令使用 一般在數(shù)據(jù)量比較大的情況,盡量不要使用該命令。因為在海量數(shù)據(jù)場景下,執(zhí)行 optimize 要消耗大量時間。 測試去重按照 Order by 字段進(jìn)行去重,而不是按照 primary 主鍵字段進(jìn)行去重。 #創(chuàng)建表 t_replacing_mt ,使用 ReplacingMergeTree 引擎 create table t_replacing_mt(id UInt8,name String,age UInt8,gender String)engine=ReplacingMergeTree() order by (id,age) primary key id partition by gender; insert into t_replacing_mt values(1,'張三',18,'男'),(2,'李四',19,'女'),(3,'王五',20,'男') insert into t_replacing_mt values(1,'張三',18,'10') select * from t_replacing_mt; optimize table t_replacing_mt; select * from t_replacing_mt; insert into t_replacing_mt values(1,'張三三',18,'男'); select * from t_replacing_mt; optimize table t_replacing_mt; select * from t_replacing_mt; 注意:通過以上測試發(fā)現(xiàn) ClickHouse ReplacingMergeTree 中去除重復(fù)數(shù)據(jù)時,是以 ORDERBY 排序鍵為基準(zhǔn)的,而不是 PRIMARY KEY。 ? 測試不指定[ver]列時,插入相同排序字段的數(shù)據(jù),保留最新一條數(shù)據(jù)。 #刪除表 t_replacing_mt 重建,使用 ReplacingMergeTree 引擎 create table t_replacing_mt(id UInt8,name String,age UInt8,gender String)engine=ReplacingMergeTree() order by id primary key id partition by gender;insert into t_replacing_mt values(1,'張三',18,'男'),(2,'李四',19,'女'),(3,'王五',20,'男') select * from t_replacing_mt; insert into t_replacing_mt values(1,'張三',18,'男') select * from t_replacing_mt; optimize table t_replacing_mt 注意:通過以上測試可以發(fā)現(xiàn),ClickHouse ReplacingMergeTree 中不指定[ver]列 時,當(dāng)插入排序字段相同的數(shù)據(jù)時,保留最新一條數(shù)據(jù) ? 測試指定[ver]列時,插入相同排序字段的數(shù)據(jù),保留當(dāng)前[ver]列最大值。 create table t_replacing_mt(id UInt8,name String,age UInt8,gender String)engine=ReplacingMergeTree() order by id primary key id partition by gender(age);insert into t_replacing_mt values(1,'張三',18,'男'),(2,'李四',19,'女'),(3,'王五',20,'男') select * from t_replacing_mt; insert into t_replacing_mt values(1,'張三',18,'男') select * from t_replacing_mt; optimize table t_replacing_mt 注意:通過以上測試可以發(fā)現(xiàn),在 ClickHouse 中創(chuàng)建 ReplacingMergeTree 時,如果 指定了[ver]列,當(dāng)存在 Order by 字段重復(fù)時,會保留 ver 列最大值對應(yīng)的行。

?? 測試不同分區(qū)中有相同的 Order by 字段時,不去重。

注意:通過以上測試可以發(fā)現(xiàn),在 ClickHouse 中創(chuàng)建 ReplacingMergeTree 時,不同 分區(qū)中相同的 Order by 字段不會去重。

SummingMergeTree

該引擎繼承了 MergeTree 引擎,當(dāng)合并 SummingMergeTree 表的數(shù)據(jù)片段時, ClickHouse 會把所有具有相同主鍵的行合并為一行,該行包含了被合并的行中具有數(shù)值 數(shù)據(jù)類型的列的匯總值,即如果存在重復(fù)的數(shù)據(jù),會對對這些重復(fù)的數(shù)據(jù)進(jìn)行合并成一條數(shù) 據(jù),類似于 group by 的效果,可以顯著減少存儲空間并加快數(shù)據(jù)查詢速度。 如果用戶只需要查詢數(shù)據(jù)的匯總結(jié)果,不關(guān)心明細(xì)數(shù)據(jù),并且數(shù)據(jù)的匯總條件是預(yù)先明 確的,即 GROUP BY 的分組字段是確定的,可以使用該表引擎。 ? 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, ...] 對以上建表語句的解釋如下: ? [columns]: 將要被匯總的列,或者多個列,多個列需要寫在元組中。可選參數(shù)。 所選的列必須是數(shù)值類型,并且不可位于主鍵中。如果沒有指定 [columns] ClickHouse 會把所有不在主鍵中的數(shù)值類型的列都進(jìn)行匯總。 使用 SummingMergeTree 注意以下幾點: ? SummingMergeTree 是根據(jù)什么對兩條數(shù)據(jù)進(jìn)行合并的 ORBER BY 排序鍵作為聚合數(shù)據(jù)的條件 Key。即如果排序 key 是相同的,則會合并 成一條數(shù)據(jù),并對指定的合并字段進(jìn)行聚合。 ? 僅對分區(qū)內(nèi)的相同排序 key 的數(shù)據(jù)行進(jìn)行合并 以數(shù)據(jù)分區(qū)為單位來聚合數(shù)據(jù)。當(dāng)分區(qū)合并時,同一數(shù)據(jù)分區(qū)內(nèi)聚合 Key 相同的數(shù)據(jù) 會被合并匯總,而不同分區(qū)之間的數(shù)據(jù)則不會被匯總。 ? 如果沒有指定聚合字段,會怎么聚合 如果沒有指定聚合字段,則會按照非主鍵的數(shù)值類型字段進(jìn)行聚合。 ? 對于非匯總字段的數(shù)據(jù),該保留哪一條 如果兩行數(shù)據(jù)除了排序字段相同,其他的非聚合字段不相同,那么在聚合發(fā)生時,會保 留最初的那條數(shù)據(jù),新插入的數(shù)據(jù)對應(yīng)的那個字段值會被舍棄。 ? 測試不指定聚合字段同時測試不同分區(qū)內(nèi),相同排序 key 數(shù)據(jù)不會被合并 create table t_summing_mt(id UInt8,name String,age UInt8,loc String,dept String,workdays UInt8,salary Decimal32(2))engine=SummingMergeTree() order by (id,age) primary key id partition by loc;
insert into t_summing_mt values(1,'張三',18,'北京','大數(shù)據(jù)',24,10000),(2,'李四',19,'上海','java',22,8000),(3,'王五',20,'北京','Java',24,10000)
select * from t_summing_mt
注意:我們可以看到當(dāng)不指定 聚合字段時,有相同排序字段行進(jìn)行聚合時,會將數(shù)值類型 的字段進(jìn)行聚合合并。
#繼續(xù)向表 t_summing_mt 中插入以下數(shù)據(jù):?
node1 :) insert into t_summing_mt values (1,' 張 三 ',18,' 南 京 ','java',18,12000);
注意:不同分區(qū)內(nèi)相同的排序 key 的數(shù)據(jù)不能被合并 測試指定一個聚合字段 create table t_suming_mt(id UInt8,name String,age UInt8,loc String,dept String,workdays UInt8,salary Decimal32(2))engine=SumingMergeTree(salary) order by (id,age) primary key id partition by loc; insert into t_suming_mt values(1,'張三',18,'北京','大數(shù)據(jù)',24,10000),(2,'李四',19,'上海','Java',22,8000),,(3,'王五',20,'北京 ','Java',26,12000) insert into t_suming_mt values(1,'馬六',18,'北京','前端',27,15000)注意:我們可以看到當(dāng)指定一個聚合字段時,有相同排序字段行進(jìn)行聚合時,會按照這個 數(shù)值字段進(jìn)行合并,其他的保留最開始一條數(shù)據(jù)的信息。測試多字段聚合: create table t_suming_mt(id UInt8,name String,age UInt8,loc String,dept String,workdays UInt8,salary Decimal32(2))engine=SumingMergeTree((salary,workdays)) order by (id,age) primary key id partition by loc; 注意:我們可以看到當(dāng)指定多個聚合字段時,有相同排序字段行進(jìn)行聚合時,會按照指定 的多個數(shù)值字段進(jìn)行合并,其他的保留最開始一條數(shù)據(jù)的信息。

AggregatingMergeTree:

表引擎繼承自 MergeTree,可以使用 AggregatingMergeTree 表來做增量數(shù)據(jù) 統(tǒng)計聚合。如果要按一組規(guī)則來合并減少行數(shù),則使用 AggregatingMergeTree 是合適 的。AggregatingMergeTree 是通過預(yù)先定義的聚合函數(shù)計算數(shù)據(jù)并通過二進(jìn)制的格式存入表內(nèi)。與 SummingMergeTree 的區(qū)別在于:SummingMergeTree 對非主鍵列進(jìn)行 sum 聚合,而 AggregatingMergeTree 則可以指定各種聚合函數(shù)。對某些字段需要進(jìn)行聚合時, 需要在創(chuàng)建表字段時指定成 AggregateFunction 類型: 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, ...] #創(chuàng)建表 t_aggregating_mt ,使用 AggregatingMergeTree 引擎,指定 salary create table t_aggregating_mt(id UInt8,name String,age UInt8,loc String,dept String,workdays UInt8,salary AggregateFunction(sum,Decimal32(2)))engine = AggregatingMergeTree() order by (id,age) primary key id partition by loc;#對于 AggregateFunction 類型的列字段,在進(jìn)行數(shù)據(jù)的寫入和查詢時與其他的表引 擎有很大區(qū)別,在寫入數(shù)據(jù)時,需要調(diào)用 *-State 函數(shù);而在查詢數(shù)據(jù)時,則需要調(diào)用 相應(yīng)的 *-Merge 函數(shù)。DC-pre-clickhost-01 :) insert into t_aggregating_mt select 1,'張三',18,'北京','java',18,sumState(toDecimal32(10000,2)); DC-pre-clickhost-01 :) insert into t_aggregating_mt select 1,'張三',18,'北京','java',18,sumState(toDecimal32(10000,2)); DC-pre-clickhost-01 :) insert into t_aggregating_mt select 3,'王五',20,'北京','java',25,sumState(toDecimal32(12000,2));查詢數(shù)據(jù)時,如果正常語句查詢,aggregateFunction 類型的列不會正常顯示數(shù)據(jù), 針對以上的數(shù)據(jù)需要使用 sumMerge 來展示數(shù)據(jù)。 ##錯誤方式查詢表 t_aggregating_mt 中的數(shù)據(jù)

???????

#正確方式查詢表 t_aggregating_mt 中的數(shù)據(jù),注意需要跟上 groupBy 向表中插入排序字段相同的數(shù)據(jù)進(jìn)行分區(qū)聚合時,數(shù)據(jù)按照建表指定的聚合字段進(jìn)行合 并,其他的非聚合字段會保留最初的那條數(shù)據(jù),新插入的數(shù)據(jù)對應(yīng)的字段值會被舍棄。

?# 向表中插入新的一條數(shù)據(jù)

?#查詢表中的數(shù)據(jù),這里為了方便看到分區(qū)不合并,直接查詢

#使用 optimize 命令合并相同分區(qū)數(shù)據(jù)

?

以上方式使用 AggregatingMergeTree 表引擎比較不方便,更多情況下,我們將 AggregatingMergeTree 作為物化視圖的表引擎與 MergeeTree 搭配使用

?DC-pre-clickhost-01 :) create materialized view view_aggregating_mt engine=AggregatingMergeTree() order by id as select id,name,sumState(salary) as ss from t_merge_base group by id,name;

DC-pre-clickhost-01 :) insert into t_merge_base values(1,'張三',18,'北京','大數(shù)據(jù)',24,10000),(2,'李四',19,'上海','Java',22,8000),(3,'王五',20,'北京','JAVA',26,12000)

DC-pre-clickhost-01 :) select * ,sumMerge(ss) from view_aggregating_mt group by id,name,ss

insert into t_merge_base values (1,'張三三',18,'北京','前端 ',22,5000);

?#手動執(zhí)行 optimize 命令,合并物化視圖 view_aggregating_mt 相同分區(qū)數(shù)據(jù)

optimize table view_aggregating_mt;

#查詢視圖 view_aggregating_mt 數(shù)據(jù)

select *,sumMerge(ss) from view_aggregating_mt group by id,name,ss; 注 意 : 通 過 普 通 MergeTree 表 與 AggregatingMergeTree 物 化 視 圖 結(jié) 合 使 用 , MergeTree 中存放原子數(shù)據(jù),物化視圖中存入聚合結(jié)果數(shù)據(jù),可以提升數(shù)據(jù)查詢效率。

CollapsingMergeTree

CollapsingMergeTree 就是一種通過以增代刪的思路,支持行級數(shù)據(jù)修改和刪除的 表引擎。它通過定義一個 sign 標(biāo)記位字段,記錄數(shù)據(jù)行的狀態(tài)。如果 sign 標(biāo)記為 1,則 表示這是一行有效的數(shù)據(jù);如果 sign 標(biāo)記為-1,則表示這行數(shù)據(jù)需要被刪除。當(dāng) CollapsingMergeTree 分區(qū)合并時,同一數(shù)據(jù)分區(qū)內(nèi),sign 標(biāo)記為 1 -1 的一組數(shù)據(jù) 會被抵消刪除。 每次需要新增數(shù)據(jù)時,寫入一行 sign 標(biāo)記為 1 的數(shù)據(jù);需要刪除數(shù)據(jù)時,則寫入一行sign 標(biāo)記為-1 的數(shù)據(jù)。此外,只有相同分區(qū)內(nèi)的數(shù)據(jù)才有可能被折疊。 CollapsingMergeTree 建表語法如下: CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster] ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1], name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... sign Int8 ) ENGINE = CollapsingMergeTree(sign) [PARTITION BY expr] [ORDER BY expr] [SAMPLE BY expr] [SETTINGS name=value, ...] ? 存在的問題: CollapsingMergeTree對于寫入數(shù)據(jù)的順序有著嚴(yán)格要求,否則導(dǎo)致無法正常折疊。 ? 數(shù)據(jù)折疊保留規(guī)則: 在同一個分區(qū)內(nèi) order by 字段相同的數(shù)據(jù)存在多條,且 sign 值不同,數(shù)據(jù)保留規(guī) 則如下: 1) 如果 sign=1 sign=-1 的行數(shù)相同并且最后一行數(shù)據(jù) sign=1,則保留第一行 sign=-1 的行和最后一行 sign=1 的行。 2) 如果 sign=1 的行比 sign=-1 的行多,則保留最后一條 sign=1 的行。 3) 如果 sign=-1 的行比 sign=1 的行多,則保留第一條 sign=-1 的行。 4) 其他情況,不保留數(shù)據(jù) ? 按照順序?qū)懭胄枰禄騽h除的數(shù)據(jù): #創(chuàng)建表 t_collapsing_mt ,使用 CollapsingMergeTree create table t_collapsing_mt(id UInt8,name String,loc String login_times UInt8,total_dur UInt8 sign Int8)engine=CollapsingMergeTree(sign) order by (id,total_dur) primary key id,partition by loc; #向表t_collapsing_mt中插入數(shù)據(jù): insert into t_collapsing_mt values(1,'張三','北京',1,30,1),(2,'李四','上海',1,40,1) #查看數(shù)據(jù):select * from t_collapsing_mt; #向表 t_collapsing_mt 中繼續(xù)插入一條數(shù)據(jù),刪除“張三”數(shù)據(jù) insert into t_collapsing_mt values(1,'張三','北京',1,30,-1); #optimize合并相同分區(qū)的數(shù)據(jù) optimize table t_collapsing_mt #查詢表中的數(shù)據(jù) select * from t_collapsing_mt; #插入以下兩條數(shù)據(jù),來更新 “李四”數(shù)據(jù) insert into t_collapsing_mt values(2,'李四','上海',1,40,-1),(2,'李四','上海',2,100,1) #查詢表t_collasping_mt中的數(shù)據(jù) select * from t_collapsing_mt; 注意:當(dāng)數(shù)據(jù)插入到表中的順序標(biāo)記如果不是 1,-1 這種順序時,合并相同分區(qū)內(nèi)的數(shù)據(jù)不 能達(dá)到修改和更新效果。 如果數(shù)據(jù)的寫入程序是單線程執(zhí)行的,則能夠較好地控制寫入順序;如果需要處理的數(shù) 據(jù)量很大,數(shù)據(jù)的寫入程序通常是多線程執(zhí)行的,那么此時就不能保障數(shù)據(jù)的寫入順序了。 在這種情況下,CollapsingMergeTree 的工作機(jī)制就會出現(xiàn)問題。但是可以通過 VersionedCollapsingMergeTree 的表引擎得到解決。

VersionedCollapsingMergeTree

CollapsingMergeTree 表引擎對于數(shù)據(jù)寫入亂序的情況下,不能夠?qū)崿F(xiàn)數(shù) 據(jù) 折 疊 的 效 果 。 VersionedCollapsingMergeTree 表 引 擎 的 作 用 與 CollapsingMergeTree 完 全 相 同 ,它 們 的 不 同 之 處 在 于 ,VersionedCollapsingMergeTree 對數(shù)據(jù)的寫入順序沒有要求,在同一個分區(qū)內(nèi),任意順序的數(shù)據(jù)都能夠完成折疊操作。VersionedCollapsingMergeTree 使用 version 列來實現(xiàn)亂序情況下的數(shù)據(jù)折疊,該引擎除了需要指定一個 sign 標(biāo)識之外,還需要指定一個 UInt*類型的 version 版本號。 VersionedCollapsingMergeTree 建表語句: CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster] ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1], name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... sign Int8, version UInt8 ) ENGINE = VersionedCollapsingMergeTree(sign, version) [PARTITION BY expr] [ORDER BY expr] [SAMPLE BY expr] [SETTINGS name=value, ...] #創(chuàng)建t_version_collapsing_mt表使用versionedCollapsingMergeTree引擎 create table t_version_collapsing_mt( id UInt8, name String, loc String, login_times UInt8, total_dur UInt8, sign Int8, version UInt8 ) engine = VersionedCollapsingMergeTree(sign,version) order by (id,total_dur) primary key id,partition by loc;

Integration系列引擎

ClickHouse 提供了許多與外部系統(tǒng)集成的方法,包括一些表引擎。這些表引擎與其 他類型的表引擎類似,可以用于將外部數(shù)據(jù)導(dǎo)入到 ClickHouse 中,或者在 ClickHouse 中直接操作外部數(shù)據(jù)源

HDFS引擎

HDFS 引擎支持 ClickHouse 直接讀取 HDFS 中特定格式的數(shù)據(jù)文件,目前文件格式 支持 Json,Csv 文件等,ClickHouse 通過 HDFS 引擎建立的表,不會在 ClickHouse 中 產(chǎn)生數(shù)據(jù),讀取的是 HDFS 中的數(shù)據(jù),將 HDFS 中的數(shù)據(jù)映射成 ClickHouse 中的一張表,這樣就可以使用 SQL 操作 HDFS 中的數(shù)據(jù)。ClickHouse 并不能夠刪除 HDFS 上的數(shù)據(jù),當(dāng)我們在 ClickHouse 客戶端中刪除了對應(yīng)的表,只是刪除了表結(jié)構(gòu),HDFS 上的文件并沒有被刪除,這一點跟 Hive 的外部表 分相似 語法: ENGINE = HDFS(URI,format) 注意:URI HDFS 文件路徑,format 指定文件格式。HDFS 文件路徑中文件為多個 時,可以指定成 some_file_?,或者當(dāng)數(shù)據(jù)映射的是 HDFS 多個文件夾下數(shù)據(jù)時,可以指 定 somepath/* 來指定 URI 其他配置: 由于 HDFS 配置了 HA 模式,有集群名稱,所以 URI 使用 mycluster HDFS 集群名稱 時,ClickHouse 不識別,這時需要做以下配置: 1) 將 hadoop 路徑下$HADOOP_HOME/etc/hadoop 下的 hdfs-site.xml 文件復(fù) 制到/etc/clickhouse-server 目錄下。 2) 修 改 /etc/init.d/clickhouse-server 文 件 , 加 入 一 行 “ export LIBHDFS3_CONF=/etc/clickhouse-server/hdfs-site.xml 3) 重啟 ClickHouse-server 服務(wù) serveice clickhouse-server restart 當(dāng)然,這里也可以不做以上配置,在寫 HDFS URI 時,直接寫成對應(yīng)的節(jié)點+端口即可 建表語句: create table t_hdfs(id UInt8,name String,age UInt8) engine = HDFS('hdfs://mycluster/ch/*.csv','CSV') 注意:這里表 t_hdfs 不會在 clickhouse 對應(yīng)的節(jié)點路徑下創(chuàng)建數(shù)據(jù)目錄,同時這種表 映射的是 HDFS 路徑中的 csv 文件,不能插入數(shù)據(jù),t_hdfs 是只讀表。 create table t_hdfs2(id UInt8,name String,age UInt8) engine = HDFS('hdfs://mycluster/chdata','CSV'); #向表 t_hdfs2 中寫入數(shù)據(jù) node1 :) insert into t_hdfs2 values(5,'田七',23),(6,'趙八',24); 注意:t_hdfs2 表沒有直接映射已經(jīng)存在的 HDFS 文件,這種表允許查詢和插入數(shù)據(jù)。

MYSQL引擎

ClickHouse MySQL數(shù)據(jù)庫引擎可以將MySQL 某個庫下的表映射到 ClickHouse中, 使用 ClickHouse 對數(shù)據(jù)進(jìn)行操作。ClickHouse 同樣支持 MySQL 表引擎,即映射一張 MySQL 中的表到 ClickHouse 中,使用 ClickHouse 進(jìn)行數(shù)據(jù)操作,與 MySQL 數(shù)據(jù)庫引 擎一樣,這里映射的表只能做查詢和插入操作,不支持刪除和更新操作 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], ... ) ENGINE = MySQL('host:port', 'database', 'table', 'user', 'password'[, replace_query, 'on_duplicate_clause']); ? host:port - MySQL 服務(wù)器名稱和端口 ? database - MySQL 數(shù)據(jù)庫。 ? table - 映射的 MySQL 中的表 ? user - 登錄 mysql 的用戶名 ? password - 登錄 mysql 的密碼 replace_query - INSERT INTO 查詢是否替換為 REPLACE INTO 的標(biāo) ,默認(rèn)為 0,不替換。當(dāng)設(shè)置為 1 時,所有的 insert into 語句更改為 replace into 語句。當(dāng)插入的數(shù)據(jù)有重復(fù)主鍵數(shù)據(jù)時,此值為 0 默認(rèn)報錯,此值為 1 時, 主鍵相同這條數(shù)據(jù),默認(rèn)替換成新插入的數(shù)據(jù) on_duplicate_clause - 默認(rèn)不使用。當(dāng)插入數(shù)據(jù)主鍵相同時,可以指定只 更新某列的數(shù)據(jù)為新插入的數(shù)據(jù),對應(yīng)于 on duplicate key 后面的語句,其 他的值保持不變,需要 replace_query 設(shè)置為 0 #mysql 中創(chuàng)建一張表 t_ch,指定 id 為主鍵 CREATE TABLE t_ch ( id INT, NAME VARCHAR (255), age INT, PRIMARY KEY (id) ) insert into t_ch values (1,"張三",18),(2,"李四",19),(3,"王五",20) create table t_mysql_engine ( id UInt8, :name String,?age UInt8)engine = MySQL('node2:3306','test','t_ch','root','123456'); 注意:在 clickhouse t_mysql_engine 表不會在 ClickHouse 服務(wù)器節(jié)點上創(chuàng)建 數(shù)據(jù)目錄。 測試MYSQL的引擎: create table t_ch(id Int,name varchar(255),age int,primary key (id)) insert into t_ch values(1,'張三',18),(2,'李四',19),(3,'王五',20) create table t_mysql_engine (id UInt8, name String, age UInt8 )engine = MySQL('node2:3306','test','t_ch','root','123456',1); #ClickHouse 中向表 t_mysql_engine 中插入一條數(shù)據(jù),主鍵重復(fù)。這里由于指定 replace_query = 1 ,所以當(dāng)前主鍵數(shù)據(jù)會被替換成新插入的數(shù)據(jù)。 node1 :) insert into t_mysql_engine values (3,'馬六','21'); node1 :) select * from t_mysql_engine;

kafka引擎

ClickHouse 中還可以創(chuàng)建表指定為 Kafka 為表引擎,這樣創(chuàng)建出的表可以查詢到 Kafka 中的流數(shù)據(jù)。對應(yīng)創(chuàng)建的表不會將數(shù)據(jù)存入 ClickHouse 中,這里這張 kafka 擎表相當(dāng)于一個消費(fèi)者,消費(fèi) Kafka 中的數(shù)據(jù),數(shù)據(jù)被查詢過后,就不會再次被查詢到。 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster] ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1], name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... ) ENGINE = Kafka() SETTINGS kafka_broker_list = 'host:port', kafka_topic_list = 'topic1,topic2,...', kafka_group_name = 'group_name', kafka_format = 'data_format'[,] 對以上參數(shù)的解釋: ? kafka_broker_list: 以逗號分隔的 Kafka Broker 節(jié)點列表 ? kafka_topic_list topic 列表 ? kafka_group_name kafka 消費(fèi)者組名稱 ? kafka_format : Kafka 中消息的格式,例如:JSONEachRowCSV 等等,具 體參照 https://clickhouse.tech/docs/en/interfaces/formats/。這 里一般使用 JSONEachRow 格式數(shù)據(jù),需要注意的是,json 字段名稱需要與創(chuàng)建的 Kafka 引擎表中字段的名稱一樣,才能正確的映射數(shù)據(jù) create table t_kafka_consumer ( id UInt8, name String, age UInt8 ) engine = Kafka() settings kafka_broker_list='node1:9092,node2:9092,node3:9092', kafka_topic_list='ck-topic', kafka_group_name='group1', kafka_format='JSONEachRow'; #啟動 kafka,kafka 中創(chuàng)建 ck-topic topic,并向此 topic 中生產(chǎn)以下數(shù)據(jù): 創(chuàng)建 topic: kafka-topics.sh?--zookeeper??node3:2181,node4:2181,node5:2181 --create --topic ck-topic --partitions 3 --replication-factor 3 生產(chǎn)數(shù)據(jù): kafka-console-producer.sh? --broker-list? node1:9092,node2:9092,node3:9092 --topic ck-topic #ClickHouse 中查詢表 t_kafka_consumer 數(shù)據(jù),可以看到生產(chǎn)的數(shù)據(jù) node1 :) select * from t_kafka_consumer; 注意:再次查看表 t_kafka_consumer 數(shù)據(jù) ,我們發(fā)現(xiàn)讀取不到任何數(shù)據(jù),這里對應(yīng)的 ClikcHouse 中的 Kafka 引擎表,只是相當(dāng)于是消費(fèi)者,消費(fèi)讀取 Kafka 中的數(shù)據(jù),數(shù) 據(jù)被消費(fèi)完成之后,不能再次查詢到對應(yīng)的數(shù)據(jù)。 ClickHouse 中創(chuàng)建的 Kafka 引擎表 t_kafka_consumer 只是一個數(shù)據(jù)管 道,當(dāng)查詢這張表時就是消費(fèi) Kafka 中的數(shù)據(jù),數(shù)據(jù)被消費(fèi)完成之后,不能再次被讀取到。 如果想將 Kafka topic 中的數(shù)據(jù)持久化到 ClickHouse 中,我們可以通過物化視圖方式訪 問 Kafka 中的 數(shù)據(jù),可 以通過以 下三個步 驟完成將 Kafka 中數(shù) 據(jù)持久化到 ClickHouse 中: 1) 創(chuàng)建 Kafka 引擎表,消費(fèi) kafka 中的數(shù)據(jù)。 2) 再創(chuàng)建一張 ClickHouse 中普通引擎表,這張表面向終端用戶查詢使用。這里生 產(chǎn)環(huán)境中經(jīng)常創(chuàng)建 MergeTree 家族引擎表。 3) 創(chuàng)建物化視圖,將 Kafka 引擎表數(shù)據(jù)實時同步到終端用戶查詢表中。 #ClickHouse 中創(chuàng)建 t_kafka_consumer2 表,使用 Kafka 引擎 : create table t_kafka_consumer2 ( : id UInt8, : name String, : age UInt8 : ) engine = Kafka() : settings : kafka_broker_list='node1:9092,node2:9092,node3:9092', : kafka_topic_list='ck-topic', : kafka_group_name='group1', : kafka_format='JSONEachRow'; #ClickHouse 中創(chuàng)建一張終端用戶查詢使用的表,使用 MergeTree 引擎 create table t_kafka_mt( ?id UInt8, ?name String, ?age UInt8 ?) engine = MergeTree() ?order by id;
#創(chuàng)建物化視圖,同步表 t_kafka_consumer2 數(shù)據(jù)到 t_kafka_mt create materialized view view_consumer to t_kafka_mt :?as select id,name,age from t_kafka_consumer2; 注意:物化視圖在 ClickHouse 中也是存儲數(shù)據(jù)的,create materialized view? view_consumer to t_kafka_mt 語句是將物化視圖 view_consumer 中的數(shù)據(jù)存儲到 到對應(yīng)的 t_kafka_mt 表中,這樣同步的目的是如果不想繼續(xù)同步 kafka 中的數(shù)據(jù),可 以直接刪除物化視圖即可

總結(jié)

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

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

亚洲综合无码久久精品综合 | 国产精品无码一区二区桃花视频 | 色五月五月丁香亚洲综合网 | 国产熟妇高潮叫床视频播放 | 无码国模国产在线观看 | 久久亚洲精品成人无码 | 少妇邻居内射在线 | 亚洲爆乳大丰满无码专区 | 国产精品毛多多水多 | аⅴ资源天堂资源库在线 | 国产av无码专区亚洲a∨毛片 | 国产亚洲tv在线观看 | 午夜丰满少妇性开放视频 | 免费无码午夜福利片69 | 午夜成人1000部免费视频 | 婷婷综合久久中文字幕蜜桃三电影 | 天干天干啦夜天干天2017 | 欧美喷潮久久久xxxxx | 亚洲色欲色欲天天天www | 亚洲精品一区二区三区婷婷月 | 中文字幕av伊人av无码av | 成人无码视频免费播放 | 日韩精品无码一区二区中文字幕 | 搡女人真爽免费视频大全 | 久在线观看福利视频 | 一本加勒比波多野结衣 | 国产激情无码一区二区 | 中文字幕 人妻熟女 | 宝宝好涨水快流出来免费视频 | 国产偷抇久久精品a片69 | 亚洲国产欧美日韩精品一区二区三区 | 少妇被黑人到高潮喷出白浆 | 娇妻被黑人粗大高潮白浆 | 国产成人无码午夜视频在线观看 | 亚洲经典千人经典日产 | 国产精品.xx视频.xxtv | 99精品视频在线观看免费 | 爆乳一区二区三区无码 | 一二三四社区在线中文视频 | 人人澡人人妻人人爽人人蜜桃 | 性欧美大战久久久久久久 | 亚洲精品一区国产 | 欧洲熟妇精品视频 | 97人妻精品一区二区三区 | 欧美freesex黑人又粗又大 | 亚洲色欲色欲欲www在线 | 国产美女精品一区二区三区 | 亚洲一区二区观看播放 | 国产艳妇av在线观看果冻传媒 | 亚洲无人区午夜福利码高清完整版 | a在线亚洲男人的天堂 | 亚洲码国产精品高潮在线 | 欧美丰满熟妇xxxx性ppx人交 | 国产舌乚八伦偷品w中 | 久久国产精品二国产精品 | 中文字幕无码热在线视频 | 日韩人妻系列无码专区 | 少妇高潮喷潮久久久影院 | 18无码粉嫩小泬无套在线观看 | 久久午夜无码鲁丝片午夜精品 | 久久国产精品二国产精品 | 纯爱无遮挡h肉动漫在线播放 | 精品乱码久久久久久久 | 东北女人啪啪对白 | 国产精品人人妻人人爽 | 少妇邻居内射在线 | 欧美大屁股xxxxhd黑色 | 欧美日韩色另类综合 | 亚洲毛片av日韩av无码 | 精品无码av一区二区三区 | 伦伦影院午夜理论片 | 无码精品人妻一区二区三区av | aⅴ亚洲 日韩 色 图网站 播放 | 午夜福利电影 | 少妇性l交大片欧洲热妇乱xxx | av香港经典三级级 在线 | 久久99热只有频精品8 | 久久午夜无码鲁丝片午夜精品 | 无码人妻出轨黑人中文字幕 | 久久99精品久久久久婷婷 | aⅴ亚洲 日韩 色 图网站 播放 | 国产 精品 自在自线 | 最近的中文字幕在线看视频 | 欧美日韩久久久精品a片 | 人人妻人人澡人人爽欧美一区 | 精品欧美一区二区三区久久久 | 久久精品国产99久久6动漫 | 亚洲精品久久久久avwww潮水 | 性欧美熟妇videofreesex | 西西人体www44rt大胆高清 | 精品欧美一区二区三区久久久 | 亚洲另类伦春色综合小说 | 国产午夜亚洲精品不卡 | 成人亚洲精品久久久久软件 | 精品久久8x国产免费观看 | 99久久久无码国产精品免费 | 未满成年国产在线观看 | 天天综合网天天综合色 | 午夜男女很黄的视频 | 18无码粉嫩小泬无套在线观看 | 久久亚洲精品中文字幕无男同 | 1000部夫妻午夜免费 | 色欲综合久久中文字幕网 | 俺去俺来也www色官网 | 国产午夜视频在线观看 | 少妇性l交大片欧洲热妇乱xxx | 色婷婷欧美在线播放内射 | 天堂久久天堂av色综合 | 国产精品人人爽人人做我的可爱 | 熟女体下毛毛黑森林 | 国产av一区二区精品久久凹凸 | 午夜精品久久久久久久 | 国语自产偷拍精品视频偷 | 国内揄拍国内精品人妻 | 色老头在线一区二区三区 | 国产激情无码一区二区app | 久久精品女人天堂av免费观看 | 中文字幕无码av激情不卡 | 日韩精品一区二区av在线 | 亚洲国产一区二区三区在线观看 | 国产农村乱对白刺激视频 | 国产激情一区二区三区 | 久久久久成人精品免费播放动漫 | 天天躁日日躁狠狠躁免费麻豆 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产亚洲精品久久久久久久 | 亚洲成a人一区二区三区 | 无码播放一区二区三区 | 国产成人综合美国十次 | 国产精品成人av在线观看 | 精品国产一区二区三区av 性色 | 内射爽无广熟女亚洲 | 亚洲日韩精品欧美一区二区 | 国产亚洲欧美日韩亚洲中文色 | 国产精品-区区久久久狼 | 亚洲日韩av片在线观看 | 国产精品美女久久久网av | 麻豆国产丝袜白领秘书在线观看 | 熟妇激情内射com | 丰腴饱满的极品熟妇 | 免费乱码人妻系列无码专区 | 午夜精品一区二区三区在线观看 | 久久久国产一区二区三区 | 女人高潮内射99精品 | 午夜性刺激在线视频免费 | 麻豆精产国品 | 自拍偷自拍亚洲精品10p | www一区二区www免费 | 伊人久久大香线蕉av一区二区 | 国产精品美女久久久 | 国产午夜亚洲精品不卡 | 亚洲精品国产品国语在线观看 | 男女下面进入的视频免费午夜 | 久久国语露脸国产精品电影 | 国产真人无遮挡作爱免费视频 | 无码人妻丰满熟妇区五十路百度 | 给我免费的视频在线观看 | 中文字幕av日韩精品一区二区 | 偷窥村妇洗澡毛毛多 | 99久久人妻精品免费二区 | 亚洲精品国产第一综合99久久 | 国语精品一区二区三区 | 大地资源网第二页免费观看 | 人人爽人人澡人人人妻 | 免费播放一区二区三区 | 初尝人妻少妇中文字幕 | 夜夜高潮次次欢爽av女 | 成熟人妻av无码专区 | 国产精品.xx视频.xxtv | 丁香花在线影院观看在线播放 | 亚洲国产精品成人久久蜜臀 | 久久无码人妻影院 | 亚洲爆乳大丰满无码专区 | 色综合天天综合狠狠爱 | 中文字幕乱码人妻无码久久 | 国产内射爽爽大片视频社区在线 | 人人妻在人人 | 国产精品成人av在线观看 | 久久亚洲精品成人无码 | 欧洲vodafone精品性 | 久久久精品欧美一区二区免费 | 久久无码中文字幕免费影院蜜桃 | 日韩 欧美 动漫 国产 制服 | 乱人伦人妻中文字幕无码 | 在线观看欧美一区二区三区 | 亚洲欧美日韩成人高清在线一区 | 又色又爽又黄的美女裸体网站 | 国产精品久久福利网站 | 久久人人爽人人人人片 | 亚洲精品一区二区三区在线观看 | 国产亚洲精品久久久久久国模美 | 少妇被粗大的猛进出69影院 | 日本大乳高潮视频在线观看 | 久久午夜无码鲁丝片 | 一本久久a久久精品亚洲 | 国内老熟妇对白xxxxhd | 国语精品一区二区三区 | 色欲av亚洲一区无码少妇 | 免费乱码人妻系列无码专区 | 精品国产福利一区二区 | 成人性做爰aaa片免费看 | 国产va免费精品观看 | ass日本丰满熟妇pics | 国产无套粉嫩白浆在线 | 久久午夜无码鲁丝片秋霞 | 国产精品亚洲五月天高清 | 久久精品国产亚洲精品 | 在线观看国产一区二区三区 | 国产农村乱对白刺激视频 | 成 人影片 免费观看 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲va中文字幕无码久久不卡 | 久久久久久亚洲精品a片成人 | 国产莉萝无码av在线播放 | 亚洲男人av香蕉爽爽爽爽 | 伊人久久大香线蕉亚洲 | 又大又硬又爽免费视频 | 国产美女极度色诱视频www | 日韩精品成人一区二区三区 | 日日摸天天摸爽爽狠狠97 | 婷婷色婷婷开心五月四房播播 | 国产av人人夜夜澡人人爽麻豆 | 成人亚洲精品久久久久软件 | 日日天干夜夜狠狠爱 | 亚洲色大成网站www | 国产精品a成v人在线播放 | 久久97精品久久久久久久不卡 | 九九热爱视频精品 | 性做久久久久久久免费看 | 久久精品无码一区二区三区 | 久久精品一区二区三区四区 | 亚洲色欲色欲欲www在线 | 亚洲精品综合五月久久小说 | 日本护士xxxxhd少妇 | 午夜福利试看120秒体验区 | 成人欧美一区二区三区黑人免费 | 国产偷国产偷精品高清尤物 | 无码人妻黑人中文字幕 | 暴力强奷在线播放无码 | 永久免费观看国产裸体美女 | 亚洲精品久久久久avwww潮水 | 国产亚洲日韩欧美另类第八页 | 色狠狠av一区二区三区 | 国产午夜亚洲精品不卡 | 在线观看国产一区二区三区 | 双乳奶水饱满少妇呻吟 | 国产精品第一区揄拍无码 | 丰满肥臀大屁股熟妇激情视频 | 又大又硬又黄的免费视频 | 国产人妖乱国产精品人妖 | 国产成人午夜福利在线播放 | 亚洲精品成人av在线 | 激情内射日本一区二区三区 | 乱中年女人伦av三区 | 国产成人综合美国十次 | 亚洲色成人中文字幕网站 | 欧美熟妇另类久久久久久不卡 | 露脸叫床粗话东北少妇 | 色综合久久中文娱乐网 | 国产超碰人人爽人人做人人添 | 伊人久久婷婷五月综合97色 | 青青青爽视频在线观看 | 中文无码精品a∨在线观看不卡 | 国内精品久久久久久中文字幕 | 久久国语露脸国产精品电影 | 精品熟女少妇av免费观看 | 国产精品高潮呻吟av久久4虎 | 欧美成人午夜精品久久久 | 成人免费视频视频在线观看 免费 | 波多野42部无码喷潮在线 | 婷婷色婷婷开心五月四房播播 | 午夜福利一区二区三区在线观看 | 色爱情人网站 | 一个人看的视频www在线 | 亚洲欧美国产精品久久 | 日本高清一区免费中文视频 | √天堂中文官网8在线 | 特黄特色大片免费播放器图片 | 在线观看欧美一区二区三区 | 亚洲精品久久久久avwww潮水 | 欧美熟妇另类久久久久久多毛 | 无码毛片视频一区二区本码 | 国产超级va在线观看视频 | 亚洲国产综合无码一区 | 1000部啪啪未满十八勿入下载 | 中文字幕乱码亚洲无线三区 | 强伦人妻一区二区三区视频18 | 成年美女黄网站色大免费全看 | 少妇被粗大的猛进出69影院 | www国产精品内射老师 | 国产真人无遮挡作爱免费视频 | 午夜精品一区二区三区在线观看 | 无码午夜成人1000部免费视频 | 亚洲国产成人a精品不卡在线 | 色综合久久久无码中文字幕 | 日本一区二区三区免费播放 | 亚洲中文字幕久久无码 | av无码久久久久不卡免费网站 | 少妇无码一区二区二三区 | 亚洲呦女专区 | 日本乱人伦片中文三区 | 国产成人精品视频ⅴa片软件竹菊 | 亚洲国产精品久久久天堂 | 宝宝好涨水快流出来免费视频 | 国产精品久久久久7777 | 少妇久久久久久人妻无码 | 亚洲综合在线一区二区三区 | 亚洲精品国产精品乱码不卡 | 成人片黄网站色大片免费观看 | 99久久亚洲精品无码毛片 | 亚欧洲精品在线视频免费观看 | 丰满人妻翻云覆雨呻吟视频 | 骚片av蜜桃精品一区 | 一个人看的视频www在线 | 欧美高清在线精品一区 | 久久五月精品中文字幕 | 亚洲精品一区二区三区四区五区 | 美女黄网站人色视频免费国产 | 久久久av男人的天堂 | 丝袜人妻一区二区三区 | 日韩精品无码免费一区二区三区 | 国产疯狂伦交大片 | 一区二区传媒有限公司 | 四虎国产精品免费久久 | 荫蒂添的好舒服视频囗交 | 色欲人妻aaaaaaa无码 | 性做久久久久久久免费看 | аⅴ资源天堂资源库在线 | 成人aaa片一区国产精品 | 成人无码精品1区2区3区免费看 | 精品aⅴ一区二区三区 | 自拍偷自拍亚洲精品10p | 亚洲热妇无码av在线播放 | 免费无码的av片在线观看 | 丝袜足控一区二区三区 | 国产精品无码一区二区桃花视频 | 四十如虎的丰满熟妇啪啪 | 国产成人av免费观看 | 99久久精品国产一区二区蜜芽 | 双乳奶水饱满少妇呻吟 | 成在人线av无码免观看麻豆 | 偷窥日本少妇撒尿chinese | 最近中文2019字幕第二页 | 四虎影视成人永久免费观看视频 | a在线亚洲男人的天堂 | 偷窥日本少妇撒尿chinese | 午夜福利一区二区三区在线观看 | 正在播放东北夫妻内射 | 在线观看免费人成视频 | 国产精品无码永久免费888 | 初尝人妻少妇中文字幕 | 奇米影视7777久久精品人人爽 | 亚洲中文字幕va福利 | 国产熟妇另类久久久久 | 人妻少妇精品无码专区二区 | 国产国语老龄妇女a片 | 国产成人久久精品流白浆 | 亚洲中文字幕va福利 | 亚无码乱人伦一区二区 | 天天躁日日躁狠狠躁免费麻豆 | 最新版天堂资源中文官网 | 丁香啪啪综合成人亚洲 | 亚洲精品中文字幕乱码 | 国产人成高清在线视频99最全资源 | 麻豆国产人妻欲求不满谁演的 | 久久99热只有频精品8 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 国内精品九九久久久精品 | 日产国产精品亚洲系列 | 四虎国产精品一区二区 | 亚洲高清偷拍一区二区三区 | 日日躁夜夜躁狠狠躁 | 欧美猛少妇色xxxxx | 国产成人精品三级麻豆 | 内射后入在线观看一区 | 麻豆国产人妻欲求不满 | 免费国产成人高清在线观看网站 | 精品人妻中文字幕有码在线 | √天堂中文官网8在线 | 久久久久se色偷偷亚洲精品av | 欧洲精品码一区二区三区免费看 | 无码人妻丰满熟妇区毛片18 | 蜜臀av在线播放 久久综合激激的五月天 | 久久久久国色av免费观看性色 | 久久久久久国产精品无码下载 | 亚洲欧洲日本无在线码 | 美女张开腿让人桶 | 精品国精品国产自在久国产87 | 国产精品久免费的黄网站 | 国产精品无码一区二区桃花视频 | 国内精品久久久久久中文字幕 | 综合网日日天干夜夜久久 | 狠狠色噜噜狠狠狠狠7777米奇 | 欧美35页视频在线观看 | 亚洲中文字幕无码中文字在线 | 清纯唯美经典一区二区 | 国产农村乱对白刺激视频 | 国产精品久久久久9999小说 | 无码人妻少妇伦在线电影 | www国产亚洲精品久久网站 | 国产黄在线观看免费观看不卡 | 亚洲gv猛男gv无码男同 | 免费无码午夜福利片69 | 精品无人国产偷自产在线 | 台湾无码一区二区 | 国产人妻人伦精品 | 无套内射视频囯产 | 波多野结衣 黑人 | 少妇无套内谢久久久久 | 免费看男女做好爽好硬视频 | 成人性做爰aaa片免费看不忠 | 亚欧洲精品在线视频免费观看 | 免费播放一区二区三区 | 精品国偷自产在线 | 亚洲爆乳大丰满无码专区 | 人妻中文无码久热丝袜 | 无码一区二区三区在线观看 | 久在线观看福利视频 | 未满小14洗澡无码视频网站 | 国内综合精品午夜久久资源 | 一本久久伊人热热精品中文字幕 | 色一情一乱一伦一区二区三欧美 | 国产亚洲欧美在线专区 | 国产婷婷色一区二区三区在线 | 永久免费观看国产裸体美女 | 99精品久久毛片a片 | 久久精品国产亚洲精品 | 老熟妇仑乱视频一区二区 | 丰满人妻被黑人猛烈进入 | 亚洲精品午夜无码电影网 | 正在播放老肥熟妇露脸 | 久久久久久亚洲精品a片成人 | 亚洲成熟女人毛毛耸耸多 | 爆乳一区二区三区无码 | 激情国产av做激情国产爱 | 无码一区二区三区在线观看 | 亚洲人成网站色7799 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲精品无码人妻无码 | 国产亲子乱弄免费视频 | 国产亚洲视频中文字幕97精品 | 国产精品无码永久免费888 | 精品久久久无码中文字幕 | 精品成在人线av无码免费看 | 国产亚洲视频中文字幕97精品 | 丰满人妻精品国产99aⅴ | 国产成人无码av一区二区 | 国产做国产爱免费视频 | 狠狠cao日日穞夜夜穞av | 玩弄人妻少妇500系列视频 | 久久久久亚洲精品男人的天堂 | 国产特级毛片aaaaaaa高清 | 国产精品毛片一区二区 | 亚拍精品一区二区三区探花 | 精品人妻中文字幕有码在线 | 国产成人综合在线女婷五月99播放 | 青草青草久热国产精品 | 男人扒开女人内裤强吻桶进去 | 亚洲精品一区三区三区在线观看 | 色欲人妻aaaaaaa无码 | 国产极品视觉盛宴 | 欧美精品一区二区精品久久 | 久久精品无码一区二区三区 | 天天摸天天透天天添 | 成人免费无码大片a毛片 | 亚洲日韩av一区二区三区中文 | 午夜性刺激在线视频免费 | 亚洲国产av精品一区二区蜜芽 | 无码精品国产va在线观看dvd | 国产在线无码精品电影网 | 97久久国产亚洲精品超碰热 | 亚洲无人区午夜福利码高清完整版 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产av一区二区精品久久凹凸 | 欧美成人高清在线播放 | 永久黄网站色视频免费直播 | 亚洲爆乳精品无码一区二区三区 | 强辱丰满人妻hd中文字幕 | 国产性生交xxxxx无码 | 领导边摸边吃奶边做爽在线观看 | 色综合久久88色综合天天 | 又色又爽又黄的美女裸体网站 | 中国女人内谢69xxxx | 国产九九九九九九九a片 | 国产精品福利视频导航 | 中文字幕乱码人妻二区三区 | 波多野结衣av在线观看 | 久久人人97超碰a片精品 | 天天摸天天透天天添 | 国产亚洲精品久久久久久国模美 | 又粗又大又硬毛片免费看 | 国产两女互慰高潮视频在线观看 | 无码毛片视频一区二区本码 | 天堂а√在线地址中文在线 | 亚洲日韩精品欧美一区二区 | 波多野结衣av一区二区全免费观看 | 午夜福利试看120秒体验区 | 精品日本一区二区三区在线观看 | 999久久久国产精品消防器材 | 成熟妇人a片免费看网站 | 亚洲熟女一区二区三区 | 日韩亚洲欧美精品综合 | 丁香啪啪综合成人亚洲 | 沈阳熟女露脸对白视频 | 人人妻人人澡人人爽人人精品 | 综合网日日天干夜夜久久 | 午夜福利一区二区三区在线观看 | 国产另类ts人妖一区二区 | 亚洲色欲色欲天天天www | 伊人久久大香线蕉av一区二区 | 国产精品美女久久久 | 国产一区二区三区四区五区加勒比 | 久久伊人色av天堂九九小黄鸭 | 又大又硬又爽免费视频 | 久在线观看福利视频 | 精品夜夜澡人妻无码av蜜桃 | 国产乱人伦偷精品视频 | 精品一区二区不卡无码av | 网友自拍区视频精品 | 未满成年国产在线观看 | 午夜无码区在线观看 | 日本在线高清不卡免费播放 | 国产精品美女久久久久av爽李琼 | 亚洲狠狠婷婷综合久久 | 麻豆国产97在线 | 欧洲 | 欧美性生交xxxxx久久久 | 国产一区二区不卡老阿姨 | 国产成人午夜福利在线播放 | 国产精品久久久久9999小说 | 欧美精品无码一区二区三区 | 日本精品人妻无码免费大全 | 4hu四虎永久在线观看 | 中文字幕av日韩精品一区二区 | 欧美zoozzooz性欧美 | 樱花草在线播放免费中文 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲高清偷拍一区二区三区 | 久久久精品国产sm最大网站 | 中文字幕久久久久人妻 | 国产真人无遮挡作爱免费视频 | 蜜臀aⅴ国产精品久久久国产老师 | 精品久久久无码中文字幕 | 性开放的女人aaa片 | 久久精品中文字幕大胸 | 老司机亚洲精品影院无码 | 丁香花在线影院观看在线播放 | 国产人妻精品午夜福利免费 | 国产欧美亚洲精品a | 日韩av无码一区二区三区不卡 | 狠狠色欧美亚洲狠狠色www | 精品无码一区二区三区的天堂 | 亚洲欧美色中文字幕在线 | 丰满人妻被黑人猛烈进入 | 亚洲欧美日韩综合久久久 | 东京一本一道一二三区 | 色五月五月丁香亚洲综合网 | 亚洲天堂2017无码 | 国产在线精品一区二区高清不卡 | 狂野欧美激情性xxxx | 国产亚洲欧美日韩亚洲中文色 | 秋霞特色aa大片 | 大肉大捧一进一出好爽视频 | 老熟女乱子伦 | 鲁大师影院在线观看 | 国产麻豆精品一区二区三区v视界 | 高中生自慰www网站 | а√资源新版在线天堂 | 久久精品国产99久久6动漫 | 久久精品人人做人人综合试看 | 国产一区二区不卡老阿姨 | 日日干夜夜干 | 日韩少妇内射免费播放 | 老熟妇乱子伦牲交视频 | 免费观看黄网站 | 欧美xxxx黑人又粗又长 | 99精品久久毛片a片 | 无码一区二区三区在线 | 中文无码伦av中文字幕 | 久久精品国产99精品亚洲 | 少妇高潮一区二区三区99 | www国产亚洲精品久久网站 | 午夜福利不卡在线视频 | 亚洲一区二区三区在线观看网站 | 亚洲国产精品一区二区第一页 | 成人aaa片一区国产精品 | 精品无码国产一区二区三区av | 2020久久超碰国产精品最新 | 水蜜桃亚洲一二三四在线 | 麻豆精品国产精华精华液好用吗 | а√资源新版在线天堂 | 国精产品一区二区三区 | 51国偷自产一区二区三区 | 偷窥村妇洗澡毛毛多 | 国产午夜无码视频在线观看 | 亚洲啪av永久无码精品放毛片 | 国产超碰人人爽人人做人人添 | 久久久成人毛片无码 | 精品国产一区二区三区四区 | 在线观看欧美一区二区三区 | 久久久久久国产精品无码下载 | 天堂一区人妻无码 | 99久久人妻精品免费二区 | 欧美日韩在线亚洲综合国产人 | 国产明星裸体无码xxxx视频 | 国产亚洲精品久久久久久久久动漫 | 国产一区二区三区日韩精品 | 久久亚洲中文字幕无码 | 熟女少妇人妻中文字幕 | 少女韩国电视剧在线观看完整 | 中文精品久久久久人妻不卡 | 国产午夜福利100集发布 | 日韩av无码中文无码电影 | 天堂а√在线地址中文在线 | 国内丰满熟女出轨videos | 色妞www精品免费视频 | 久久久久国色av免费观看性色 | 免费观看激色视频网站 | 亚洲午夜无码久久 | 欧美日本免费一区二区三区 | 亚洲精品一区二区三区在线 | 亚洲中文无码av永久不收费 | 亚洲爆乳精品无码一区二区三区 | www成人国产高清内射 | 国产综合在线观看 | 精品欧洲av无码一区二区三区 | 大地资源网第二页免费观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 无码国内精品人妻少妇 | 色综合久久88色综合天天 | 高潮喷水的毛片 | 永久免费观看国产裸体美女 | 欧美色就是色 | 亚洲自偷自拍另类第1页 | 性欧美牲交在线视频 | 欧美日韩视频无码一区二区三 | 无码毛片视频一区二区本码 | 久久国产自偷自偷免费一区调 | 在线亚洲高清揄拍自拍一品区 | 国产人成高清在线视频99最全资源 | 亚洲一区二区三区在线观看网站 | 女人被男人爽到呻吟的视频 | 两性色午夜视频免费播放 | 日本丰满熟妇videos | 久久99精品国产麻豆蜜芽 | 欧美日韩久久久精品a片 | 露脸叫床粗话东北少妇 | 婷婷色婷婷开心五月四房播播 | 亚洲国产欧美国产综合一区 | 色一情一乱一伦 | 性色av无码免费一区二区三区 | 国产免费无码一区二区视频 | 欧美 亚洲 国产 另类 | 无套内谢老熟女 | 国产 精品 自在自线 | 无码一区二区三区在线观看 | 久久久久久久久蜜桃 | 国内少妇偷人精品视频免费 | 国产精品无码成人午夜电影 | 老熟女重囗味hdxx69 | 在线播放亚洲第一字幕 | 亚洲精品一区二区三区大桥未久 | 亚洲自偷精品视频自拍 | 亚洲狠狠婷婷综合久久 | 亚洲中文字幕无码中文字在线 | 精品一二三区久久aaa片 | 免费观看又污又黄的网站 | 性欧美大战久久久久久久 | 亚洲s码欧洲m码国产av | 18禁止看的免费污网站 | 欧美国产日韩亚洲中文 | 久久人人爽人人爽人人片ⅴ | 国产av久久久久精东av | 一本大道伊人av久久综合 | 精品无码一区二区三区的天堂 | 成人三级无码视频在线观看 | 曰本女人与公拘交酡免费视频 | 麻豆果冻传媒2021精品传媒一区下载 | www国产亚洲精品久久久日本 | 亚洲精品国产品国语在线观看 | 国产精品18久久久久久麻辣 | 亚洲乱亚洲乱妇50p | 亚洲成av人综合在线观看 | 97色伦图片97综合影院 | 波多野结衣av一区二区全免费观看 | 久久国语露脸国产精品电影 | 中文无码伦av中文字幕 | 亚洲综合色区中文字幕 | 精品国产麻豆免费人成网站 | 亚洲小说春色综合另类 | 伊在人天堂亚洲香蕉精品区 | 无码乱肉视频免费大全合集 | 国产口爆吞精在线视频 | 夜夜高潮次次欢爽av女 | 黑人玩弄人妻中文在线 | 九月婷婷人人澡人人添人人爽 | 日韩无码专区 | 国产福利视频一区二区 | 婷婷六月久久综合丁香 | 成熟女人特级毛片www免费 | 麻豆国产人妻欲求不满谁演的 | 精品久久久无码人妻字幂 | 98国产精品综合一区二区三区 | 丝袜 中出 制服 人妻 美腿 | 日日麻批免费40分钟无码 | 国内揄拍国内精品人妻 | 少妇无套内谢久久久久 | 久久精品99久久香蕉国产色戒 | 国产亚av手机在线观看 | 久久久国产精品无码免费专区 | 国产在线精品一区二区三区直播 | 2019午夜福利不卡片在线 | 天天综合网天天综合色 | 国产精品内射视频免费 | 蜜桃视频插满18在线观看 | 国产三级精品三级男人的天堂 | 国产精品久久久久久亚洲毛片 | 东京热无码av男人的天堂 | 四虎国产精品一区二区 | 久久午夜无码鲁丝片午夜精品 | 麻豆国产人妻欲求不满谁演的 | 国内少妇偷人精品视频 | 国产午夜精品一区二区三区嫩草 | 欧美日韩一区二区综合 | 精品国产av色一区二区深夜久久 | 亚洲欧洲中文日韩av乱码 | 日本熟妇乱子伦xxxx | 成人无码视频在线观看网站 | 熟女体下毛毛黑森林 | 国产精品无码一区二区桃花视频 | 欧美xxxx黑人又粗又长 | 中文无码精品a∨在线观看不卡 | 亚洲码国产精品高潮在线 | www成人国产高清内射 | 奇米影视7777久久精品人人爽 | 亚洲人成网站免费播放 | 捆绑白丝粉色jk震动捧喷白浆 | 国产在线精品一区二区三区直播 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 无码人妻黑人中文字幕 | 无码精品国产va在线观看dvd | 亚洲成在人网站无码天堂 | 久久五月精品中文字幕 | 99久久精品无码一区二区毛片 | 久久国产精品_国产精品 | 亚洲七七久久桃花影院 | 香蕉久久久久久av成人 | 蜜臀av在线播放 久久综合激激的五月天 | 亚洲aⅴ无码成人网站国产app | 国产在热线精品视频 | 中文字幕无码免费久久9一区9 | 欧美性猛交内射兽交老熟妇 | 大乳丰满人妻中文字幕日本 | 少妇无码av无码专区在线观看 | 两性色午夜视频免费播放 | 亚洲の无码国产の无码影院 | 久久精品中文字幕一区 | 精品 日韩 国产 欧美 视频 | 在线天堂新版最新版在线8 | 精品偷自拍另类在线观看 | 最近中文2019字幕第二页 | √天堂中文官网8在线 | 色综合天天综合狠狠爱 | 扒开双腿吃奶呻吟做受视频 | 国产在热线精品视频 | 国产成人综合在线女婷五月99播放 | 亚洲精品美女久久久久久久 | 国产艳妇av在线观看果冻传媒 | 无码av最新清无码专区吞精 | 欧美丰满熟妇xxxx性ppx人交 | 精品无码一区二区三区的天堂 | 狠狠色丁香久久婷婷综合五月 | 午夜精品久久久内射近拍高清 | 97无码免费人妻超级碰碰夜夜 | 国产一区二区三区影院 | 美女黄网站人色视频免费国产 | 成人亚洲精品久久久久软件 | www国产亚洲精品久久网站 | 色诱久久久久综合网ywww | av香港经典三级级 在线 | 成年美女黄网站色大免费视频 | 18黄暴禁片在线观看 | 精品无码av一区二区三区 | 成人亚洲精品久久久久 | 成人三级无码视频在线观看 | 亚洲欧美日韩综合久久久 | 中文字幕无码免费久久9一区9 | 亚洲呦女专区 | 国产一区二区不卡老阿姨 | 国产热a欧美热a在线视频 | 色婷婷综合中文久久一本 | 一区二区三区高清视频一 | 国产激情精品一区二区三区 | 久久精品女人的天堂av | 99久久99久久免费精品蜜桃 | 国产精品久久久午夜夜伦鲁鲁 | 亚洲成a人片在线观看无码 | 人人妻人人澡人人爽人人精品 | 国产 浪潮av性色四虎 | 国产精品无码一区二区桃花视频 | 无码人妻久久一区二区三区不卡 | 成 人影片 免费观看 | 色窝窝无码一区二区三区色欲 | 丁香花在线影院观看在线播放 | 色婷婷综合中文久久一本 | 精品国产一区av天美传媒 | 国产精品毛片一区二区 | 97夜夜澡人人双人人人喊 | 欧美 亚洲 国产 另类 | 亚洲毛片av日韩av无码 | 88国产精品欧美一区二区三区 | 亚洲阿v天堂在线 | 人人澡人摸人人添 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 日本乱偷人妻中文字幕 | 亚洲 激情 小说 另类 欧美 | 欧美丰满熟妇xxxx | 久久精品人人做人人综合试看 | 亚洲人成网站免费播放 | 国产精品怡红院永久免费 | 秋霞特色aa大片 | 国产两女互慰高潮视频在线观看 | 久久亚洲a片com人成 | 国产办公室秘书无码精品99 | 秋霞成人午夜鲁丝一区二区三区 | 亚洲熟悉妇女xxx妇女av | 亚洲熟熟妇xxxx | 97夜夜澡人人爽人人喊中国片 | 久久99精品久久久久久 | 好男人www社区 | 国产亚洲精品久久久久久久久动漫 | 国产无遮挡又黄又爽又色 | 亚洲精品久久久久久一区二区 | 国产精华av午夜在线观看 | 色窝窝无码一区二区三区色欲 | 国产精品亚洲专区无码不卡 | 麻豆国产丝袜白领秘书在线观看 | 特黄特色大片免费播放器图片 | аⅴ资源天堂资源库在线 | 精品久久8x国产免费观看 | 亚洲精品欧美二区三区中文字幕 | 午夜理论片yy44880影院 | 中文字幕无码免费久久99 | 成 人 网 站国产免费观看 | 国产精品怡红院永久免费 | 国产午夜福利100集发布 | 色一情一乱一伦 | 中文字幕无码热在线视频 | 中文字幕精品av一区二区五区 | 日本大乳高潮视频在线观看 | 1000部夫妻午夜免费 | 国产69精品久久久久app下载 | 色婷婷综合中文久久一本 | 国产精品无码mv在线观看 | 美女极度色诱视频国产 | 无遮挡啪啪摇乳动态图 | 日本熟妇乱子伦xxxx | 久久国产劲爆∧v内射 | 精品久久久中文字幕人妻 | 一本精品99久久精品77 | 亚洲精品鲁一鲁一区二区三区 | 午夜精品久久久内射近拍高清 | 夜精品a片一区二区三区无码白浆 | 亚洲伊人久久精品影院 | 国产精品久久久久无码av色戒 | 乱码午夜-极国产极内射 | 国产精品无码成人午夜电影 | 性色欲网站人妻丰满中文久久不卡 | 亚洲欧美综合区丁香五月小说 | 欧美成人高清在线播放 | 欧美喷潮久久久xxxxx | 国产人妻久久精品二区三区老狼 | 国精品人妻无码一区二区三区蜜柚 | 国产乱人偷精品人妻a片 | 女人被男人躁得好爽免费视频 | 强开小婷嫩苞又嫩又紧视频 | 欧美性猛交内射兽交老熟妇 | 精品aⅴ一区二区三区 | 99精品国产综合久久久久五月天 | 小sao货水好多真紧h无码视频 | 伦伦影院午夜理论片 | 亚洲国产精品一区二区美利坚 | 国产午夜精品一区二区三区嫩草 | 国产极品美女高潮无套在线观看 | 精品乱子伦一区二区三区 | 麻豆国产人妻欲求不满谁演的 | 免费看少妇作爱视频 | 2020久久香蕉国产线看观看 | 亚洲欧洲无卡二区视頻 | 久久久久久九九精品久 | 精品欧洲av无码一区二区三区 | 理论片87福利理论电影 | 影音先锋中文字幕无码 | 人人妻人人澡人人爽欧美一区九九 | 亚洲精品美女久久久久久久 | 麻豆国产丝袜白领秘书在线观看 | 亚洲国产精华液网站w | 国产亚洲日韩欧美另类第八页 | 精品国产麻豆免费人成网站 | 女人被男人躁得好爽免费视频 | 亚洲va欧美va天堂v国产综合 | 51国偷自产一区二区三区 | 人妻中文无码久热丝袜 | 午夜性刺激在线视频免费 | 久久久成人毛片无码 | 任你躁在线精品免费 | 在线亚洲高清揄拍自拍一品区 | 狠狠亚洲超碰狼人久久 | yw尤物av无码国产在线观看 | 福利一区二区三区视频在线观看 | 97夜夜澡人人爽人人喊中国片 | 丰满少妇女裸体bbw | 亚洲国产午夜精品理论片 | 精品国产一区二区三区四区 | 蜜桃视频插满18在线观看 | 高潮毛片无遮挡高清免费 | 无码一区二区三区在线观看 | 沈阳熟女露脸对白视频 | 精品国产一区二区三区av 性色 | 色欲久久久天天天综合网精品 | 久久天天躁狠狠躁夜夜免费观看 | 久久久久久久女国产乱让韩 | 亚洲国产成人a精品不卡在线 | 国产性生大片免费观看性 | 亚洲午夜久久久影院 | 欧美兽交xxxx×视频 | 久久人人爽人人爽人人片av高清 | 玩弄中年熟妇正在播放 | 国产欧美熟妇另类久久久 | av小次郎收藏 | 熟妇人妻中文av无码 | 图片小说视频一区二区 | 青草青草久热国产精品 | 一本一道久久综合久久 | 在线播放亚洲第一字幕 | 日日干夜夜干 | 久久精品人人做人人综合试看 | 帮老师解开蕾丝奶罩吸乳网站 | 国产激情精品一区二区三区 | 久久国产精品萌白酱免费 | 波多野结衣一区二区三区av免费 | 欧美自拍另类欧美综合图片区 | a在线观看免费网站大全 | 四虎国产精品一区二区 | 1000部夫妻午夜免费 | 精品日本一区二区三区在线观看 | 久久精品女人天堂av免费观看 | 男女猛烈xx00免费视频试看 | 午夜理论片yy44880影院 | 久久久www成人免费毛片 | 欧美日本免费一区二区三区 | 伊人久久婷婷五月综合97色 | 美女毛片一区二区三区四区 | 性色av无码免费一区二区三区 | 欧美日本精品一区二区三区 | 久久精品人人做人人综合试看 | 欧美乱妇无乱码大黄a片 | 人人妻人人澡人人爽人人精品浪潮 | 人妻无码αv中文字幕久久琪琪布 | 中文字幕人妻无码一夲道 | 国产无遮挡吃胸膜奶免费看 | 久久综合激激的五月天 | 精品国产一区二区三区四区 | 欧美日韩人成综合在线播放 | 青青草原综合久久大伊人精品 | 97久久精品无码一区二区 | 又大又黄又粗又爽的免费视频 | 丰满护士巨好爽好大乳 | 亚洲中文无码av永久不收费 | 无码一区二区三区在线观看 | 国产成人久久精品流白浆 | 免费无码肉片在线观看 | 午夜精品一区二区三区的区别 | 精品人人妻人人澡人人爽人人 | 99视频精品全部免费免费观看 | 偷窥日本少妇撒尿chinese | 无码人妻精品一区二区三区不卡 | 狠狠cao日日穞夜夜穞av | 夫妻免费无码v看片 | 纯爱无遮挡h肉动漫在线播放 | 在线亚洲高清揄拍自拍一品区 | 狠狠色色综合网站 | 中文久久乱码一区二区 | 88国产精品欧美一区二区三区 | 无遮挡啪啪摇乳动态图 | 午夜福利试看120秒体验区 | 亚洲精品www久久久 | 成人精品天堂一区二区三区 | 国产精品爱久久久久久久 | 色综合天天综合狠狠爱 | 无码中文字幕色专区 | 精品久久久久香蕉网 | 欧美 亚洲 国产 另类 | 2019午夜福利不卡片在线 | 熟妇人妻无码xxx视频 | 国产艳妇av在线观看果冻传媒 | 精品无人区无码乱码毛片国产 | 欧美午夜特黄aaaaaa片 | 久久久国产精品无码免费专区 | 亚洲国产成人av在线观看 | 奇米影视888欧美在线观看 | 国产精品久久久久9999小说 | 小sao货水好多真紧h无码视频 | 日本丰满护士爆乳xxxx | 国产成人无码一二三区视频 | 四虎国产精品一区二区 | 成年美女黄网站色大免费视频 | 波多野结衣一区二区三区av免费 | 国产精品久免费的黄网站 | 露脸叫床粗话东北少妇 | 久久久久久久人妻无码中文字幕爆 | 扒开双腿疯狂进出爽爽爽视频 | 麻豆av传媒蜜桃天美传媒 | 伦伦影院午夜理论片 | 高潮毛片无遮挡高清免费视频 | 成人综合网亚洲伊人 | 国产亚洲美女精品久久久2020 | 狠狠色噜噜狠狠狠7777奇米 | 鲁鲁鲁爽爽爽在线视频观看 | 一个人看的www免费视频在线观看 | 国产偷抇久久精品a片69 | 国内精品久久毛片一区二区 | 国产成人一区二区三区在线观看 | 午夜理论片yy44880影院 | 国产乱人偷精品人妻a片 | 亚洲精品午夜国产va久久成人 | 熟妇人妻无码xxx视频 | 天堂亚洲免费视频 | 日韩欧美中文字幕在线三区 | av人摸人人人澡人人超碰下载 | 老太婆性杂交欧美肥老太 | 久久久久成人精品免费播放动漫 | 大屁股大乳丰满人妻 | 蜜臀av在线播放 久久综合激激的五月天 | 亚洲自偷自偷在线制服 | 草草网站影院白丝内射 | 亚欧洲精品在线视频免费观看 | 成人免费视频在线观看 | 亚洲成av人在线观看网址 | 久久国产精品二国产精品 | 成人三级无码视频在线观看 | 无人区乱码一区二区三区 | 欧美真人作爱免费视频 | 国产艳妇av在线观看果冻传媒 | 狂野欧美性猛xxxx乱大交 | 国产内射老熟女aaaa | 久久 国产 尿 小便 嘘嘘 | 色情久久久av熟女人妻网站 | 午夜精品一区二区三区在线观看 | 久久久av男人的天堂 | 99久久亚洲精品无码毛片 | 俺去俺来也www色官网 | 亚洲国产精品成人久久蜜臀 | 亚洲中文字幕无码中文字在线 | 狂野欧美性猛xxxx乱大交 | 99久久精品日本一区二区免费 | 露脸叫床粗话东北少妇 | 日本一本二本三区免费 | 久久99精品久久久久婷婷 | 青青久在线视频免费观看 | 秋霞特色aa大片 | 国产特级毛片aaaaaa高潮流水 | 99riav国产精品视频 | 国产精品久久久久久久9999 | 无码国产激情在线观看 | 99久久精品午夜一区二区 | 国内精品一区二区三区不卡 | 欧美 亚洲 国产 另类 | 日日橹狠狠爱欧美视频 | 久久精品国产一区二区三区肥胖 | 久久97精品久久久久久久不卡 | 国产乱人伦av在线无码 | 天干天干啦夜天干天2017 | 国产精品久久福利网站 | 成人无码影片精品久久久 | 性做久久久久久久免费看 | 精品 日韩 国产 欧美 视频 | 亚洲国产精品久久久天堂 | 国产美女精品一区二区三区 | 亚洲国产av精品一区二区蜜芽 | a在线亚洲男人的天堂 | 亚洲中文字幕av在天堂 | 捆绑白丝粉色jk震动捧喷白浆 | 国产一区二区三区四区五区加勒比 | 亚洲色欲色欲天天天www | 人人超人人超碰超国产 | 美女毛片一区二区三区四区 | a国产一区二区免费入口 | 丰满少妇女裸体bbw | 亚洲区欧美区综合区自拍区 | 中文字幕无码人妻少妇免费 | 国产精品无套呻吟在线 | 无套内谢的新婚少妇国语播放 | 国产精品高潮呻吟av久久 | 成人女人看片免费视频放人 | 中文字幕乱妇无码av在线 | 精品人妻人人做人人爽夜夜爽 | 亚洲综合久久一区二区 | 国产在线无码精品电影网 | 国产三级精品三级男人的天堂 | 55夜色66夜色国产精品视频 | 久激情内射婷内射蜜桃人妖 | 中文字幕无码免费久久9一区9 | 无码人妻少妇伦在线电影 | 中文精品久久久久人妻不卡 | 人人妻人人澡人人爽欧美一区 | 性欧美疯狂xxxxbbbb | 亚洲熟妇色xxxxx欧美老妇 | 在线精品亚洲一区二区 | 精品国精品国产自在久国产87 | 国产成人无码午夜视频在线观看 | 高清国产亚洲精品自在久久 | 日本va欧美va欧美va精品 | 在线天堂新版最新版在线8 | 国产后入清纯学生妹 | 亚洲色偷偷男人的天堂 | 国产精品a成v人在线播放 | 亚洲精品一区二区三区在线观看 | 少妇厨房愉情理9仑片视频 | 亚洲a无码综合a国产av中文 | 玩弄人妻少妇500系列视频 | 国产口爆吞精在线视频 | 日本xxxx色视频在线观看免费 | 99视频精品全部免费免费观看 | 国产成人精品一区二区在线小狼 | 久久精品中文字幕大胸 | 玩弄少妇高潮ⅹxxxyw | 国产成人精品一区二区在线小狼 | 色婷婷久久一区二区三区麻豆 | 久久视频在线观看精品 | 亚洲午夜福利在线观看 | 国产人成高清在线视频99最全资源 | 精品久久久久香蕉网 | 女人被爽到呻吟gif动态图视看 | 国产真人无遮挡作爱免费视频 | 乱人伦中文视频在线观看 | 久久精品国产一区二区三区肥胖 | 婷婷五月综合缴情在线视频 | 成人一区二区免费视频 | 国产精品毛片一区二区 | 亚洲午夜福利在线观看 | 蜜桃臀无码内射一区二区三区 | 久久午夜无码鲁丝片秋霞 | 动漫av一区二区在线观看 | 狂野欧美性猛交免费视频 | 麻花豆传媒剧国产免费mv在线 | 国产精品-区区久久久狼 | 亚洲娇小与黑人巨大交 | 国产成人午夜福利在线播放 | 亚洲精品久久久久久久久久久 | 性色av无码免费一区二区三区 | 成在人线av无码免观看麻豆 | 国精产品一品二品国精品69xx | 丰腴饱满的极品熟妇 | 日韩少妇白浆无码系列 | 又大又硬又黄的免费视频 | 色一情一乱一伦一视频免费看 | 天天综合网天天综合色 | 无码人妻丰满熟妇区五十路百度 | 亚洲无人区一区二区三区 | 亚洲欧美中文字幕5发布 | 亚洲欧美日韩成人高清在线一区 | 国内精品久久久久久中文字幕 | 久久久久成人片免费观看蜜芽 | 日韩人妻系列无码专区 | 无码精品国产va在线观看dvd | 无码国内精品人妻少妇 | 国产精品怡红院永久免费 | 久久人妻内射无码一区三区 | 成熟妇人a片免费看网站 | 老熟妇仑乱视频一区二区 | 国产午夜亚洲精品不卡 | 扒开双腿疯狂进出爽爽爽视频 | 国产成人精品优优av | 亚洲自偷精品视频自拍 | 成人欧美一区二区三区 | 国产手机在线αⅴ片无码观看 | 色一情一乱一伦 | 欧美人妻一区二区三区 | 国产成人精品一区二区在线小狼 | 亚洲国产精品久久人人爱 | 久久精品99久久香蕉国产色戒 | 乌克兰少妇xxxx做受 | 99精品无人区乱码1区2区3区 | 无码午夜成人1000部免费视频 | 蜜桃视频插满18在线观看 | 精品无码国产一区二区三区av | 狠狠色噜噜狠狠狠7777奇米 | 18禁黄网站男男禁片免费观看 | 国产午夜精品一区二区三区嫩草 | 亚洲国产精品久久人人爱 | 国产精品.xx视频.xxtv | 麻豆国产丝袜白领秘书在线观看 | 亚洲爆乳精品无码一区二区三区 | 天海翼激烈高潮到腰振不止 | 久精品国产欧美亚洲色aⅴ大片 | www国产精品内射老师 | 欧美丰满少妇xxxx性 | 98国产精品综合一区二区三区 | 黑人巨大精品欧美一区二区 | 国产人成高清在线视频99最全资源 | 在线成人www免费观看视频 | 国产亚洲欧美在线专区 | 性欧美熟妇videofreesex | 午夜性刺激在线视频免费 | 日韩av无码中文无码电影 | 欧美亚洲国产一区二区三区 | 学生妹亚洲一区二区 | 色婷婷综合中文久久一本 | 欧美成人午夜精品久久久 | 精品亚洲韩国一区二区三区 | 国产精品.xx视频.xxtv | 色欲av亚洲一区无码少妇 | 天天av天天av天天透 | 亚洲精品午夜国产va久久成人 | 免费人成在线视频无码 | 性生交大片免费看l | 精品一区二区三区波多野结衣 | 日日麻批免费40分钟无码 | 亚洲色欲色欲欲www在线 | aⅴ亚洲 日韩 色 图网站 播放 | 丰满人妻一区二区三区免费视频 | 欧美黑人乱大交 | 亚洲小说图区综合在线 | 日本丰满护士爆乳xxxx | 国产人妻人伦精品1国产丝袜 | 免费男性肉肉影院 | 国产农村乱对白刺激视频 | 少妇被黑人到高潮喷出白浆 | 中文字幕无码热在线视频 | 无套内谢老熟女 | 久久精品国产日本波多野结衣 | 精品国产乱码久久久久乱码 | 九九在线中文字幕无码 | 成人欧美一区二区三区黑人 | 国产熟女一区二区三区四区五区 | 在线а√天堂中文官网 | 国产乱码精品一品二品 | 中文字幕日韩精品一区二区三区 | 成人精品视频一区二区 | 男女下面进入的视频免费午夜 | 久久99精品国产麻豆蜜芽 | 色综合久久88色综合天天 | 欧美老人巨大xxxx做受 | 国产情侣作爱视频免费观看 | 欧洲精品码一区二区三区免费看 | 久久精品中文闷骚内射 | 中文字幕无码av波多野吉衣 | 久久午夜夜伦鲁鲁片无码免费 | 在线看片无码永久免费视频 | 亚洲国产精品久久久天堂 | 国产精品久久福利网站 | 18精品久久久无码午夜福利 | 中文字幕色婷婷在线视频 | 扒开双腿疯狂进出爽爽爽视频 | 成在人线av无码免费 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久精品中文字幕一区 | 国产精华av午夜在线观看 | 人人爽人人澡人人高潮 | 欧美 日韩 人妻 高清 中文 | 亚洲精品美女久久久久久久 | 国产精品久久久久影院嫩草 | 国产在线aaa片一区二区99 | 麻豆成人精品国产免费 | 蜜桃视频韩日免费播放 | 色欲综合久久中文字幕网 | 国产综合色产在线精品 | 日本又色又爽又黄的a片18禁 | www国产亚洲精品久久网站 | √天堂中文官网8在线 | 网友自拍区视频精品 | 午夜精品一区二区三区的区别 | 亚洲国产av精品一区二区蜜芽 | 久久久久人妻一区精品色欧美 | 亚洲精品一区二区三区在线观看 | 国产成人无码av在线影院 | 一本久道久久综合狠狠爱 | 日本熟妇人妻xxxxx人hd | 巨爆乳无码视频在线观看 | 成人一区二区免费视频 | 香港三级日本三级妇三级 | 精品亚洲韩国一区二区三区 | 国产精品亚洲五月天高清 | 色一情一乱一伦一区二区三欧美 | 欧美人与善在线com | 国产成人无码av在线影院 | 天干天干啦夜天干天2017 | 久久99久久99精品中文字幕 | 亚洲精品成人av在线 | 亚洲精品中文字幕久久久久 | 亚洲综合无码一区二区三区 | √天堂中文官网8在线 | 精品国产av色一区二区深夜久久 | 三级4级全黄60分钟 | 亚洲爆乳精品无码一区二区三区 | 国产精品香蕉在线观看 | 久久久精品欧美一区二区免费 | av无码久久久久不卡免费网站 | 亚洲中文无码av永久不收费 | 狠狠cao日日穞夜夜穞av | 亚洲国产精品久久人人爱 | 国产97人人超碰caoprom | 欧美激情一区二区三区成人 | 日本精品人妻无码免费大全 | 国产精品久久精品三级 | 久久精品成人欧美大片 | 无码av中文字幕免费放 | 国产av剧情md精品麻豆 | 人人爽人人澡人人高潮 | 国产精品久久久一区二区三区 | 妺妺窝人体色www婷婷 | 精品少妇爆乳无码av无码专区 | 在线观看国产一区二区三区 | 一本久久a久久精品亚洲 | 婷婷五月综合激情中文字幕 | 久久www免费人成人片 | 亚洲毛片av日韩av无码 | 欧美国产日产一区二区 | 日本免费一区二区三区最新 | 国内精品久久久久久中文字幕 | 亚洲男人av香蕉爽爽爽爽 | 国产午夜精品一区二区三区嫩草 | 无码人妻精品一区二区三区不卡 | 无码人妻黑人中文字幕 | а天堂中文在线官网 | 亚洲无人区一区二区三区 | aⅴ亚洲 日韩 色 图网站 播放 | 18无码粉嫩小泬无套在线观看 | 99re在线播放 | 麻豆精品国产精华精华液好用吗 | 久久综合给合久久狠狠狠97色 | 精品人人妻人人澡人人爽人人 | 无套内谢的新婚少妇国语播放 | 无码国产色欲xxxxx视频 | 中文字幕人成乱码熟女app | 波多野42部无码喷潮在线 | 在教室伦流澡到高潮hnp视频 | 内射爽无广熟女亚洲 | 欧美精品一区二区精品久久 | 玩弄中年熟妇正在播放 | 久久久精品欧美一区二区免费 | 亚洲人亚洲人成电影网站色 | 青青草原综合久久大伊人精品 | 亚洲一区二区三区无码久久 | 国产美女精品一区二区三区 | 国产农村乱对白刺激视频 | 成人女人看片免费视频放人 | 日本欧美一区二区三区乱码 | 玩弄少妇高潮ⅹxxxyw | 中国女人内谢69xxxxxa片 | 高潮毛片无遮挡高清免费视频 | 中文字幕无码av波多野吉衣 | 天天躁夜夜躁狠狠是什么心态 | 少女韩国电视剧在线观看完整 | 国产精品久久国产三级国 | 精品一区二区三区波多野结衣 | 中文字幕av伊人av无码av | 女人被男人爽到呻吟的视频 | 精品无人区无码乱码毛片国产 | 丰满少妇熟乱xxxxx视频 | 中文字幕无码免费久久9一区9 | 久久人妻内射无码一区三区 | 久久久久久久久蜜桃 | 久久久精品国产sm最大网站 | 亚洲精品一区二区三区大桥未久 | 在线看片无码永久免费视频 | 国产精品99爱免费视频 | 亚洲精品无码国产 | 国产精品无码一区二区三区不卡 | 欧美 丝袜 自拍 制服 另类 | 西西人体www44rt大胆高清 | 国产精品无码永久免费888 | 久久99精品久久久久久动态图 | 久久精品女人天堂av免费观看 | 亚洲成a人片在线观看无码 | 性色欲网站人妻丰满中文久久不卡 | 丰满少妇女裸体bbw | 日韩 欧美 动漫 国产 制服 | 国产美女极度色诱视频www | 国产精品无码久久av | 国产成人无码区免费内射一片色欲 | 久久亚洲国产成人精品性色 | 国产麻豆精品一区二区三区v视界 | 亚洲国产精品毛片av不卡在线 | 宝宝好涨水快流出来免费视频 | 帮老师解开蕾丝奶罩吸乳网站 | 国产亚洲精品久久久久久久 | 国产精品99久久精品爆乳 | 国产成人精品优优av | 久久伊人色av天堂九九小黄鸭 | 国产精品无码永久免费888 | 欧美国产日韩亚洲中文 | 欧美xxxx黑人又粗又长 | 午夜精品一区二区三区的区别 | 伊人色综合久久天天小片 | 成人免费视频一区二区 | 狠狠亚洲超碰狼人久久 | 午夜男女很黄的视频 | 午夜福利一区二区三区在线观看 | 国产精品亚洲lv粉色 | 国产精品亚洲五月天高清 | 成人毛片一区二区 | 一本色道久久综合狠狠躁 | 亚洲成a人一区二区三区 | 亚洲精品一区二区三区大桥未久 | 日本精品人妻无码77777 天堂一区人妻无码 | 成人试看120秒体验区 | 成人精品一区二区三区中文字幕 | 国产性生大片免费观看性 | 国产97在线 | 亚洲 | 青草视频在线播放 | 久久国产精品偷任你爽任你 | 国产美女精品一区二区三区 | 亚洲一区二区三区 | 成人精品一区二区三区中文字幕 | 久久精品成人欧美大片 | 亚洲日韩乱码中文无码蜜桃臀网站 | 美女黄网站人色视频免费国产 | 色诱久久久久综合网ywww | 国产女主播喷水视频在线观看 | 久久成人a毛片免费观看网站 | 亚洲午夜久久久影院 | 免费网站看v片在线18禁无码 | 日韩欧美群交p片內射中文 | 99久久99久久免费精品蜜桃 | 久久久久久久女国产乱让韩 | 中文字幕乱码人妻二区三区 | 中文字幕无线码免费人妻 | 对白脏话肉麻粗话av | 国产成人综合美国十次 | 强开小婷嫩苞又嫩又紧视频 | 久久久久久久女国产乱让韩 | 久热国产vs视频在线观看 | 久久久精品国产sm最大网站 | 一本久道久久综合狠狠爱 | 午夜福利不卡在线视频 | 亚洲人交乣女bbw | 亚洲精品成人av在线 | 日韩精品无码一本二本三本色 | 久久久久久久人妻无码中文字幕爆 | 无遮无挡爽爽免费视频 | 一本久道久久综合狠狠爱 | 亚洲自偷自偷在线制服 | 正在播放老肥熟妇露脸 | 欧美性猛交xxxx富婆 | 伊人久久婷婷五月综合97色 | 精品国产成人一区二区三区 | 狠狠亚洲超碰狼人久久 | 久久婷婷五月综合色国产香蕉 | 久久久中文久久久无码 | 久9re热视频这里只有精品 | 亚洲s码欧洲m码国产av | 西西人体www44rt大胆高清 | 国産精品久久久久久久 | 亚洲日韩一区二区三区 | 国产乱子伦视频在线播放 | 免费无码肉片在线观看 | 国产亚洲精品久久久久久久久动漫 | 免费网站看v片在线18禁无码 | 国产绳艺sm调教室论坛 | 免费看男女做好爽好硬视频 | 色狠狠av一区二区三区 | 岛国片人妻三上悠亚 | 成人无码精品一区二区三区 | 玩弄少妇高潮ⅹxxxyw | 色综合久久久无码中文字幕 | 妺妺窝人体色www在线小说 | 少妇性俱乐部纵欲狂欢电影 | 丰满肥臀大屁股熟妇激情视频 | 亚洲日韩中文字幕在线播放 | 亚洲精品久久久久久一区二区 | 免费观看激色视频网站 | 又黄又爽又色的视频 | 日本精品人妻无码免费大全 | 亚洲成a人一区二区三区 | 欧美性生交活xxxxxdddd | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产午夜无码精品免费看 | 亚洲熟女一区二区三区 | 性生交片免费无码看人 | 国产精品久久久久久亚洲影视内衣 | 欧美丰满熟妇xxxx性ppx人交 | 欧美一区二区三区 | 成人性做爰aaa片免费看不忠 | 久久综合给久久狠狠97色 | 国产特级毛片aaaaaaa高清 | 夜夜影院未满十八勿进 | 午夜福利一区二区三区在线观看 | 初尝人妻少妇中文字幕 | 久久久国产精品无码免费专区 | 婷婷色婷婷开心五月四房播播 | 女人被爽到呻吟gif动态图视看 | 亚洲无人区午夜福利码高清完整版 | 国产又爽又猛又粗的视频a片 | 国产色精品久久人妻 | 又紧又大又爽精品一区二区 | 国产精品高潮呻吟av久久 | 国产熟女一区二区三区四区五区 | 国产一区二区三区精品视频 | 亚洲狠狠婷婷综合久久 | 国产超级va在线观看视频 | 欧美性生交活xxxxxdddd | 久久国产36精品色熟妇 | 激情国产av做激情国产爱 | 东京热一精品无码av | 日日夜夜撸啊撸 | 麻豆国产人妻欲求不满谁演的 | 99久久婷婷国产综合精品青草免费 | 亚洲成av人在线观看网址 | 欧美老妇交乱视频在线观看 | 亚洲精品一区国产 | 亚洲自偷自偷在线制服 | 无码人妻精品一区二区三区不卡 | 免费乱码人妻系列无码专区 | 亚洲欧美日韩成人高清在线一区 | 给我免费的视频在线观看 | 日韩人妻无码一区二区三区久久99 | 久久精品国产日本波多野结衣 | 国产精品国产三级国产专播 | 亚洲国产精品无码一区二区三区 | av人摸人人人澡人人超碰下载 | 天天摸天天透天天添 | 亚洲区小说区激情区图片区 | 精品久久久久久亚洲精品 | 久久99久久99精品中文字幕 | 久久国产36精品色熟妇 | 水蜜桃亚洲一二三四在线 | 成人亚洲精品久久久久 | 99视频精品全部免费免费观看 | 亚洲精品国产精品乱码不卡 | 久久精品国产亚洲精品 | 日本饥渴人妻欲求不满 | 亚洲一区二区三区含羞草 | 国产情侣作爱视频免费观看 | 大屁股大乳丰满人妻 | 亚洲国产高清在线观看视频 | 又紧又大又爽精品一区二区 | 国产乱人伦偷精品视频 | 亚洲中文字幕无码中字 | 内射后入在线观看一区 | 日韩成人一区二区三区在线观看 | 福利一区二区三区视频在线观看 | 在线观看国产午夜福利片 | 清纯唯美经典一区二区 | 中文字幕 人妻熟女 | 伊人久久大香线蕉av一区二区 | 天堂亚洲2017在线观看 | 欧美日韩一区二区综合 | 亚洲人成影院在线无码按摩店 | 东京热一精品无码av | 国产在线精品一区二区高清不卡 | 亚洲日韩中文字幕在线播放 | 在线亚洲高清揄拍自拍一品区 | 精品无码国产一区二区三区av | 日本熟妇人妻xxxxx人hd | 色综合久久久无码网中文 | 国产人妻人伦精品 | 国产亚洲美女精品久久久2020 | 亚洲の无码国产の无码影院 | 亚洲日本va中文字幕 | 国产精品怡红院永久免费 | 亚洲一区二区三区在线观看网站 | 精品一区二区三区波多野结衣 | 青草视频在线播放 | 国产三级久久久精品麻豆三级 | 全黄性性激高免费视频 | 亚洲国产午夜精品理论片 | 国产疯狂伦交大片 | 国语自产偷拍精品视频偷 | 国产高清不卡无码视频 | 精品国产一区二区三区四区 | 欧美日韩综合一区二区三区 | 国产成人av免费观看 | 国产xxx69麻豆国语对白 | 精品无码一区二区三区的天堂 | 女人高潮内射99精品 | 久久久国产一区二区三区 | 成人三级无码视频在线观看 | 亚洲成av人在线观看网址 | 伊人久久大香线焦av综合影院 | 丰满少妇弄高潮了www | 青青久在线视频免费观看 | 综合激情五月综合激情五月激情1 | 国产精品a成v人在线播放 | 999久久久国产精品消防器材 | 成 人 网 站国产免费观看 | 久久精品丝袜高跟鞋 | 人人妻人人澡人人爽精品欧美 | 少女韩国电视剧在线观看完整 | 97色伦图片97综合影院 | 77777熟女视频在线观看 а天堂中文在线官网 | 亚洲国产欧美在线成人 | 麻豆av传媒蜜桃天美传媒 | 亚洲精品成人av在线 | 国产激情无码一区二区 | 国产超级va在线观看视频 | 无遮挡啪啪摇乳动态图 | 成熟女人特级毛片www免费 | 国产精品成人av在线观看 | 成人aaa片一区国产精品 | 国产精品久久久久影院嫩草 | 精品久久久中文字幕人妻 | 中文字幕人成乱码熟女app | 久久99精品国产.久久久久 | 撕开奶罩揉吮奶头视频 | 99精品无人区乱码1区2区3区 | 久久午夜无码鲁丝片 | 精品国产麻豆免费人成网站 | 国内揄拍国内精品少妇国语 | 日韩av无码中文无码电影 | 日本精品少妇一区二区三区 | 红桃av一区二区三区在线无码av | 又粗又大又硬毛片免费看 | 九月婷婷人人澡人人添人人爽 | 永久免费观看美女裸体的网站 | 伊在人天堂亚洲香蕉精品区 | 欧美成人高清在线播放 | 牲欲强的熟妇农村老妇女视频 | 久久亚洲国产成人精品性色 | 美女张开腿让人桶 | 国产网红无码精品视频 | 丝袜美腿亚洲一区二区 | 亚洲精品综合一区二区三区在线 | 久久99精品久久久久久动态图 | 无码乱肉视频免费大全合集 | 免费无码一区二区三区蜜桃大 | 77777熟女视频在线观看 а天堂中文在线官网 | 亚洲 日韩 欧美 成人 在线观看 | 成人女人看片免费视频放人 | 国产乱子伦视频在线播放 | 波多野结衣av在线观看 | 婷婷综合久久中文字幕蜜桃三电影 | 久久人人爽人人爽人人片ⅴ | 亚洲精品国产品国语在线观看 | 亚洲自偷精品视频自拍 | 久久精品一区二区三区四区 | 国产免费无码一区二区视频 | 国产舌乚八伦偷品w中 | 亚洲а∨天堂久久精品2021 | 精品水蜜桃久久久久久久 | 蜜臀aⅴ国产精品久久久国产老师 | 美女毛片一区二区三区四区 | 中文字幕乱码亚洲无线三区 | aⅴ在线视频男人的天堂 | 日韩精品无码一本二本三本色 | 亚洲色欲色欲欲www在线 | 久久久久久久久888 | 少妇被粗大的猛进出69影院 | 一本大道伊人av久久综合 | 波多野42部无码喷潮在线 | 中文无码精品a∨在线观看不卡 | 无套内射视频囯产 | 精品国产乱码久久久久乱码 | 熟妇人妻激情偷爽文 | 曰本女人与公拘交酡免费视频 | 久久久中文字幕日本无吗 | 夜精品a片一区二区三区无码白浆 | 2019午夜福利不卡片在线 | 成人动漫在线观看 | 国产美女极度色诱视频www | 老司机亚洲精品影院 | 日韩av无码一区二区三区 | 亚洲欧洲日本综合aⅴ在线 | 国产成人亚洲综合无码 | 又大又紧又粉嫩18p少妇 | 久久亚洲精品成人无码 | 免费人成在线观看网站 | 国产成人人人97超碰超爽8 | 精品欧洲av无码一区二区三区 | 亚洲欧美日韩国产精品一区二区 | 国产特级毛片aaaaaa高潮流水 | 在线观看国产午夜福利片 | 狂野欧美激情性xxxx | 成人性做爰aaa片免费看不忠 | 四虎国产精品一区二区 | 网友自拍区视频精品 |