久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(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免费 | 国产在线精品一区二区高清不卡 | 精品国产一区二区三区四区在线看 | 精品国偷自产在线视频 | 久久97精品久久久久久久不卡 | 久久精品视频在线看15 | 欧美激情一区二区三区成人 | 在线观看国产午夜福利片 | 精品水蜜桃久久久久久久 | 亚洲小说春色综合另类 | 无码任你躁久久久久久久 | 久久精品女人天堂av免费观看 | 理论片87福利理论电影 | 99久久久无码国产精品免费 | 色噜噜亚洲男人的天堂 | 亚洲成熟女人毛毛耸耸多 | 精品无人区无码乱码毛片国产 | 377p欧洲日本亚洲大胆 | 国产乱子伦视频在线播放 | 亚洲一区二区三区 | 麻豆国产丝袜白领秘书在线观看 | 精品国产av色一区二区深夜久久 | 欧美freesex黑人又粗又大 | 久久成人a毛片免费观看网站 | 亚洲国精产品一二二线 | 欧美日韩亚洲国产精品 | 国精品人妻无码一区二区三区蜜柚 | √天堂资源地址中文在线 | 亚洲日韩精品欧美一区二区 | 男女猛烈xx00免费视频试看 | 少妇性l交大片欧洲热妇乱xxx | 精品国产一区av天美传媒 | 无码人妻av免费一区二区三区 | 欧美日本免费一区二区三区 | 丰满人妻一区二区三区免费视频 | 国产精品亚洲а∨无码播放麻豆 | 香港三级日本三级妇三级 | 综合人妻久久一区二区精品 | 精品国产乱码久久久久乱码 | 日日鲁鲁鲁夜夜爽爽狠狠 | 色欲久久久天天天综合网精品 | 午夜时刻免费入口 | 性欧美熟妇videofreesex | 乱中年女人伦av三区 | 国产色xx群视频射精 | 色婷婷久久一区二区三区麻豆 | 欧美大屁股xxxxhd黑色 | 女人被爽到呻吟gif动态图视看 | 久久天天躁夜夜躁狠狠 | 欧美 丝袜 自拍 制服 另类 | 熟妇女人妻丰满少妇中文字幕 | a在线观看免费网站大全 | 精品 日韩 国产 欧美 视频 | 大乳丰满人妻中文字幕日本 | 熟妇女人妻丰满少妇中文字幕 | 中文无码伦av中文字幕 | 久久精品一区二区三区四区 | 国产精品.xx视频.xxtv | 国产熟女一区二区三区四区五区 | 国产精品对白交换视频 | 夜精品a片一区二区三区无码白浆 | 一二三四社区在线中文视频 | 内射老妇bbwx0c0ck | 精品久久久久久人妻无码中文字幕 | 国产熟女一区二区三区四区五区 | 日韩精品乱码av一区二区 | 无码一区二区三区在线观看 | 亚洲日本一区二区三区在线 | 国内精品人妻无码久久久影院蜜桃 | 人妻无码αv中文字幕久久琪琪布 | 亚洲中文字幕va福利 | 啦啦啦www在线观看免费视频 | 天堂一区人妻无码 | 国内综合精品午夜久久资源 | 亚洲日韩av一区二区三区中文 | 国产在线精品一区二区高清不卡 | 荡女精品导航 | 久久无码专区国产精品s | 人人爽人人澡人人人妻 | 性欧美牲交xxxxx视频 | 老熟妇仑乱视频一区二区 | 永久免费观看美女裸体的网站 | www国产亚洲精品久久网站 | 又黄又爽又色的视频 | 色五月五月丁香亚洲综合网 | 亚洲欧洲日本无在线码 | 性啪啪chinese东北女人 | 精品国产精品久久一区免费式 | 日日摸日日碰夜夜爽av | 欧美一区二区三区视频在线观看 | 黑人粗大猛烈进出高潮视频 | 福利一区二区三区视频在线观看 | 乱码av麻豆丝袜熟女系列 | 婷婷综合久久中文字幕蜜桃三电影 | 青青青手机频在线观看 | 中文亚洲成a人片在线观看 | 亚洲中文字幕乱码av波多ji | 97久久国产亚洲精品超碰热 | 欧美国产日韩亚洲中文 | 久久综合狠狠综合久久综合88 | 日韩精品a片一区二区三区妖精 | 久久精品国产日本波多野结衣 | 欧美阿v高清资源不卡在线播放 | 亚洲热妇无码av在线播放 | 欧美精品国产综合久久 | 波多野结衣av一区二区全免费观看 | 亚洲日本va中文字幕 | 漂亮人妻洗澡被公强 日日躁 | 国产精品久久久久久亚洲毛片 | 国产精品99久久精品爆乳 | 秋霞特色aa大片 | 久久久久久a亚洲欧洲av冫 | 久久久久久a亚洲欧洲av冫 | 久久国内精品自在自线 | 又湿又紧又大又爽a视频国产 | 免费人成在线视频无码 | 国产午夜视频在线观看 | 人人爽人人澡人人高潮 | 中文久久乱码一区二区 | 色 综合 欧美 亚洲 国产 | 四虎永久在线精品免费网址 | 精品国产aⅴ无码一区二区 | 亚洲国产欧美国产综合一区 | 国产电影无码午夜在线播放 | 久久久久se色偷偷亚洲精品av | 亚洲欧洲无卡二区视頻 | 97久久超碰中文字幕 | 国产偷国产偷精品高清尤物 | 欧美刺激性大交 | 国产精品无码成人午夜电影 | 久久亚洲精品中文字幕无男同 | 亚洲成a人片在线观看无码3d | 激情五月综合色婷婷一区二区 | 高潮毛片无遮挡高清免费 | 中文字幕人妻丝袜二区 | 成人欧美一区二区三区黑人 | 免费人成网站视频在线观看 | 色情久久久av熟女人妻网站 | 牲交欧美兽交欧美 | 亚洲精品一区二区三区在线观看 | 国产成人精品一区二区在线小狼 | 亚洲中文字幕久久无码 | 中文字幕精品av一区二区五区 | 成熟人妻av无码专区 | 青青青手机频在线观看 | 高清不卡一区二区三区 | 无码一区二区三区在线观看 | 377p欧洲日本亚洲大胆 | 中文字幕乱妇无码av在线 | 亚洲午夜久久久影院 | 国产一区二区不卡老阿姨 | 亚洲精品成a人在线观看 | 亚洲va欧美va天堂v国产综合 | 国产精品高潮呻吟av久久 | 人妻少妇被猛烈进入中文字幕 | 精品厕所偷拍各类美女tp嘘嘘 | 精品久久久无码人妻字幂 | 久久zyz资源站无码中文动漫 | 日本丰满熟妇videos | 亚洲中文字幕乱码av波多ji | 国产精品久久久久久亚洲毛片 | 国内综合精品午夜久久资源 | 精品厕所偷拍各类美女tp嘘嘘 | 青青久在线视频免费观看 | 成人无码视频在线观看网站 | 欧美日韩一区二区综合 | 综合网日日天干夜夜久久 | 中国大陆精品视频xxxx | 亚洲国精产品一二二线 | 激情综合激情五月俺也去 | 亚洲人成影院在线无码按摩店 | 亚洲国产精品毛片av不卡在线 | 中文无码成人免费视频在线观看 | 成人三级无码视频在线观看 | 国产精品毛多多水多 | 国产成人av免费观看 | 国产亚洲精品久久久久久久 | 欧美日韩久久久精品a片 | 精品久久久无码人妻字幂 | 久久zyz资源站无码中文动漫 | 久激情内射婷内射蜜桃人妖 | 国产性生大片免费观看性 | 亚洲一区二区三区在线观看网站 | 欧美xxxx黑人又粗又长 | 日本熟妇浓毛 | 精品久久久无码人妻字幂 | 伊人久久大香线焦av综合影院 | 国产午夜无码视频在线观看 | 55夜色66夜色国产精品视频 | 乌克兰少妇xxxx做受 | 亚洲日本va午夜在线电影 | 久久精品人妻少妇一区二区三区 | 久久综合网欧美色妞网 | 欧美三级不卡在线观看 | 俺去俺来也在线www色官网 | 久久精品女人的天堂av | 日韩视频 中文字幕 视频一区 | 无码任你躁久久久久久久 | 成人精品一区二区三区中文字幕 | 国产香蕉97碰碰久久人人 | 国产成人精品必看 | 超碰97人人射妻 | 性生交大片免费看l | 国产成人无码a区在线观看视频app | 天下第一社区视频www日本 | v一区无码内射国产 | 亚洲精品国产品国语在线观看 | 99久久精品国产一区二区蜜芽 | 巨爆乳无码视频在线观看 | 十八禁视频网站在线观看 | 丁香花在线影院观看在线播放 | 国产熟妇另类久久久久 | 日本肉体xxxx裸交 | 精品国产一区二区三区四区 | 久久久久免费精品国产 | 人妻尝试又大又粗久久 | 1000部夫妻午夜免费 | 红桃av一区二区三区在线无码av | 亚洲爆乳无码专区 | 综合人妻久久一区二区精品 | 国产无遮挡吃胸膜奶免费看 | 亚洲 欧美 激情 小说 另类 | 国产亲子乱弄免费视频 | 国产极品美女高潮无套在线观看 | 国产内射爽爽大片视频社区在线 | 欧美丰满熟妇xxxx性ppx人交 | 久久精品中文字幕一区 | 精品国产国产综合精品 | 日本在线高清不卡免费播放 | 99er热精品视频 | 一本久久a久久精品亚洲 | 性色av无码免费一区二区三区 | 国产又粗又硬又大爽黄老大爷视 | 成人三级无码视频在线观看 | 亚洲精品久久久久中文第一幕 | 欧美性色19p | 国产免费无码一区二区视频 | aⅴ亚洲 日韩 色 图网站 播放 | 国产麻豆精品一区二区三区v视界 | 国产成人无码a区在线观看视频app | 国产精品鲁鲁鲁 | 成人性做爰aaa片免费看 | 人妻中文无码久热丝袜 | 又湿又紧又大又爽a视频国产 | 午夜男女很黄的视频 | 日本一卡二卡不卡视频查询 | 久久精品人人做人人综合 | 欧美午夜特黄aaaaaa片 | 水蜜桃亚洲一二三四在线 | 久久国产精品_国产精品 | 中文字幕无线码免费人妻 | 色综合视频一区二区三区 | 免费无码av一区二区 | 婷婷六月久久综合丁香 | 麻豆av传媒蜜桃天美传媒 | 欧美黑人巨大xxxxx | 久久国产劲爆∧v内射 | 国内精品一区二区三区不卡 | 日本丰满护士爆乳xxxx | 国产亚洲日韩欧美另类第八页 | 亚洲s色大片在线观看 | www国产精品内射老师 | 乱人伦人妻中文字幕无码久久网 | 国产精品.xx视频.xxtv | 精品国产麻豆免费人成网站 | 成人av无码一区二区三区 | 男人扒开女人内裤强吻桶进去 | 国内精品人妻无码久久久影院蜜桃 | 国产精品va在线观看无码 | 国产成人午夜福利在线播放 | 精品国产aⅴ无码一区二区 | 欧美黑人性暴力猛交喷水 | 成人女人看片免费视频放人 | 中文精品无码中文字幕无码专区 | 中文字幕无码免费久久9一区9 | 色婷婷综合激情综在线播放 | 亚洲人亚洲人成电影网站色 | 久久久无码中文字幕久... | 国产精品-区区久久久狼 | 粗大的内捧猛烈进出视频 | 中文字幕色婷婷在线视频 | 国产精品亚洲一区二区三区喷水 | 精品成在人线av无码免费看 | 成人影院yy111111在线观看 | 免费中文字幕日韩欧美 | 色综合久久久无码网中文 | 任你躁国产自任一区二区三区 | 性欧美疯狂xxxxbbbb | 国产精品无码永久免费888 | 国产精品久久国产三级国 | 欧美亚洲日韩国产人成在线播放 | 精品无人国产偷自产在线 | 丝袜美腿亚洲一区二区 | 欧美激情一区二区三区成人 | 99久久精品无码一区二区毛片 | 色欲久久久天天天综合网精品 | 久久精品一区二区三区四区 | 少妇被粗大的猛进出69影院 | 国产又爽又猛又粗的视频a片 | 综合人妻久久一区二区精品 | 国产三级精品三级男人的天堂 | 午夜福利一区二区三区在线观看 | 精品国产aⅴ无码一区二区 | 成人片黄网站色大片免费观看 | 久久国内精品自在自线 | 国产午夜无码精品免费看 | 自拍偷自拍亚洲精品被多人伦好爽 | 宝宝好涨水快流出来免费视频 | 久久精品女人的天堂av | 亚洲人成网站在线播放942 | 少妇愉情理伦片bd | 久精品国产欧美亚洲色aⅴ大片 | 国产精品久久久久无码av色戒 | 午夜无码区在线观看 | 思思久久99热只有频精品66 | 久久综合给久久狠狠97色 | 免费看男女做好爽好硬视频 | 久久综合激激的五月天 | 少妇被黑人到高潮喷出白浆 | 疯狂三人交性欧美 | 亚洲高清偷拍一区二区三区 | 亚洲爆乳大丰满无码专区 | 国产精品无码mv在线观看 | 夜精品a片一区二区三区无码白浆 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 波多野结衣乳巨码无在线观看 | 婷婷丁香五月天综合东京热 | 最新国产乱人伦偷精品免费网站 | 久久午夜夜伦鲁鲁片无码免费 | 99久久精品午夜一区二区 | 天天综合网天天综合色 | 国产亚洲美女精品久久久2020 | 夫妻免费无码v看片 | 欧美亚洲日韩国产人成在线播放 | 精品久久久久香蕉网 | 无码av岛国片在线播放 | 日韩人妻系列无码专区 | 国产激情艳情在线看视频 | 国精品人妻无码一区二区三区蜜柚 | 波多野结衣一区二区三区av免费 | 最近免费中文字幕中文高清百度 | 国产精品无码一区二区桃花视频 | 中文字幕久久久久人妻 | 人妻少妇被猛烈进入中文字幕 | 老头边吃奶边弄进去呻吟 | 国产午夜福利100集发布 | 久久久久久久女国产乱让韩 | 图片小说视频一区二区 | 荫蒂被男人添的好舒服爽免费视频 | 东京热无码av男人的天堂 | 国产精品无码久久av | 国产超碰人人爽人人做人人添 | 国产精品无码永久免费888 | 麻豆人妻少妇精品无码专区 | 午夜福利试看120秒体验区 | 亚洲中文字幕无码中字 | 黑人巨大精品欧美一区二区 | 人妻无码αv中文字幕久久琪琪布 | 国产精品18久久久久久麻辣 | 中文字幕无码日韩专区 | 无码国模国产在线观看 | 精品成在人线av无码免费看 | 67194成是人免费无码 | 日韩欧美群交p片內射中文 | 亚洲日韩av片在线观看 | 久久亚洲日韩精品一区二区三区 | 欧洲熟妇色 欧美 | 日韩亚洲欧美精品综合 | 亚洲爆乳大丰满无码专区 | 97夜夜澡人人爽人人喊中国片 | 中文字幕无码免费久久99 | 人人爽人人澡人人高潮 | 红桃av一区二区三区在线无码av | 奇米影视888欧美在线观看 | 久久久久久九九精品久 | 熟妇女人妻丰满少妇中文字幕 | 国产区女主播在线观看 | aⅴ亚洲 日韩 色 图网站 播放 | 一本久道久久综合婷婷五月 | 国产精品18久久久久久麻辣 | 欧美日韩亚洲国产精品 | 国产激情综合五月久久 | 精品久久久无码人妻字幂 | 国产后入清纯学生妹 | 国产疯狂伦交大片 | 四十如虎的丰满熟妇啪啪 | 草草网站影院白丝内射 | 久久国语露脸国产精品电影 | 亚洲中文字幕乱码av波多ji | 老司机亚洲精品影院 | 亚洲国产精品毛片av不卡在线 | 国产av无码专区亚洲awww | 一区二区三区乱码在线 | 欧洲 | 亚洲综合精品香蕉久久网 | 伊在人天堂亚洲香蕉精品区 | 天堂无码人妻精品一区二区三区 | 国产后入清纯学生妹 | 中文字幕色婷婷在线视频 | 免费无码午夜福利片69 | 荫蒂添的好舒服视频囗交 | 欧美熟妇另类久久久久久不卡 | 四虎4hu永久免费 | 免费国产成人高清在线观看网站 | 国产激情无码一区二区app | 日韩人妻无码中文字幕视频 | 三上悠亚人妻中文字幕在线 | 色综合久久88色综合天天 | 大地资源中文第3页 | 国产亚洲人成在线播放 | 亚洲娇小与黑人巨大交 | 国产熟妇高潮叫床视频播放 | 小泽玛莉亚一区二区视频在线 | 精品人妻人人做人人爽 | 成人影院yy111111在线观看 | 精品熟女少妇av免费观看 | 一本大道久久东京热无码av | 人妻天天爽夜夜爽一区二区 | 婷婷丁香六月激情综合啪 | 精品乱子伦一区二区三区 | 狠狠cao日日穞夜夜穞av | 国产午夜手机精彩视频 | 亚洲а∨天堂久久精品2021 | 久9re热视频这里只有精品 | 日韩成人一区二区三区在线观看 | 成人精品视频一区二区三区尤物 | 国产亚洲精品久久久久久大师 | 色情久久久av熟女人妻网站 | 久久久av男人的天堂 | 欧美丰满熟妇xxxx | 美女毛片一区二区三区四区 | 国产免费无码一区二区视频 | 久久99热只有频精品8 | 四十如虎的丰满熟妇啪啪 | 午夜福利一区二区三区在线观看 | 日本一本二本三区免费 | 国产卡一卡二卡三 | 中文字幕无线码 | 成人影院yy111111在线观看 | 少妇人妻av毛片在线看 | 久久久久av无码免费网 | 成人精品视频一区二区三区尤物 | 国产精品手机免费 | 丝袜足控一区二区三区 | 国产亚洲人成a在线v网站 | 人人澡人摸人人添 | 国产精品无码一区二区三区不卡 | 色窝窝无码一区二区三区色欲 | 无码国产激情在线观看 | 国产精品久久福利网站 | 男人和女人高潮免费网站 | 精品国偷自产在线视频 | 中文字幕人妻无码一夲道 | 久久精品中文字幕一区 | 人人妻人人澡人人爽欧美一区九九 | 亚洲成熟女人毛毛耸耸多 | 福利一区二区三区视频在线观看 | 少妇高潮喷潮久久久影院 | 一本无码人妻在中文字幕免费 | 波多野结衣aⅴ在线 | 精品水蜜桃久久久久久久 | 激情人妻另类人妻伦 | 男人扒开女人内裤强吻桶进去 | 青草视频在线播放 | 久久视频在线观看精品 | yw尤物av无码国产在线观看 | 国产成人精品优优av | 国产 浪潮av性色四虎 | 中国女人内谢69xxxx | 国产美女精品一区二区三区 | 中文精品无码中文字幕无码专区 | 亚洲精品鲁一鲁一区二区三区 | 日本一本二本三区免费 | 无码人妻少妇伦在线电影 | 日韩少妇内射免费播放 | 久久久久免费精品国产 | 乱码av麻豆丝袜熟女系列 | 国产做国产爱免费视频 | 国产精品国产三级国产专播 | 一本久久伊人热热精品中文字幕 | 东京无码熟妇人妻av在线网址 | 嫩b人妻精品一区二区三区 | 亚洲国产午夜精品理论片 | 久久午夜无码鲁丝片 | 精品无码av一区二区三区 | 亚洲人成网站在线播放942 | 久久人妻内射无码一区三区 | 无码国产乱人伦偷精品视频 | 亚洲成av人片在线观看无码不卡 | 成人动漫在线观看 | 国产手机在线αⅴ片无码观看 | 免费观看激色视频网站 | 人人妻人人澡人人爽欧美一区九九 | 日日干夜夜干 | 亚洲成a人片在线观看日本 | 精品偷自拍另类在线观看 | 成人女人看片免费视频放人 | 久久精品国产一区二区三区 | 日本乱人伦片中文三区 | 亚洲精品国产精品乱码视色 | 久久综合九色综合欧美狠狠 | 99精品久久毛片a片 | 亚洲天堂2017无码中文 | 久久久久免费看成人影片 | 亚洲色欲色欲欲www在线 | 国产网红无码精品视频 | 国产欧美亚洲精品a | 少妇无套内谢久久久久 | 国产偷国产偷精品高清尤物 | 亚洲色欲久久久综合网东京热 | 久久人人爽人人爽人人片av高清 | 人人爽人人澡人人高潮 | 中文字幕亚洲情99在线 | 无码成人精品区在线观看 | 九月婷婷人人澡人人添人人爽 | 成人性做爰aaa片免费看 | 亚洲自偷精品视频自拍 | 亚洲人亚洲人成电影网站色 | 亚洲一区二区三区在线观看网站 | 丰腴饱满的极品熟妇 | 久久精品国产日本波多野结衣 | 成人性做爰aaa片免费看 | 久久精品中文字幕大胸 | 中文字幕色婷婷在线视频 | 国产精品久久国产精品99 | 最近免费中文字幕中文高清百度 | 毛片内射-百度 | 久久久久久亚洲精品a片成人 | 国产午夜亚洲精品不卡下载 | 高潮毛片无遮挡高清免费视频 | 宝宝好涨水快流出来免费视频 | 国产激情艳情在线看视频 | 亚洲狠狠婷婷综合久久 | 午夜熟女插插xx免费视频 | 亚洲 另类 在线 欧美 制服 | 一本久道久久综合婷婷五月 | 亚洲精品一区二区三区大桥未久 | 国产亚洲精品久久久闺蜜 | 青青久在线视频免费观看 | 欧美精品一区二区精品久久 | 男女作爱免费网站 | 国产人妻人伦精品 | 97无码免费人妻超级碰碰夜夜 | 成熟人妻av无码专区 | 国产极品美女高潮无套在线观看 | 一本大道久久东京热无码av | 天海翼激烈高潮到腰振不止 | 99久久婷婷国产综合精品青草免费 | 欧美一区二区三区视频在线观看 | www国产精品内射老师 | 波多野结衣av一区二区全免费观看 | 久久精品无码一区二区三区 | 亚洲精品综合一区二区三区在线 | 亚洲国产欧美日韩精品一区二区三区 | 国产成人无码午夜视频在线观看 | 东京热男人av天堂 | 精品国产aⅴ无码一区二区 | 亚洲国产精品久久久久久 | 伊人久久大香线蕉亚洲 | 亚洲欧美色中文字幕在线 | 日本熟妇乱子伦xxxx | 巨爆乳无码视频在线观看 | 狠狠综合久久久久综合网 | 国产尤物精品视频 | 一本久道久久综合婷婷五月 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国产精品久免费的黄网站 | 亚洲精品国偷拍自产在线观看蜜桃 | 无码成人精品区在线观看 | 久久精品女人的天堂av | 国产人妻精品午夜福利免费 | 色综合久久久久综合一本到桃花网 | 久久天天躁狠狠躁夜夜免费观看 | 色综合久久久无码中文字幕 | 亚洲一区二区三区播放 | 一本久久a久久精品亚洲 | 日本熟妇浓毛 | 亚洲熟女一区二区三区 | 撕开奶罩揉吮奶头视频 | 精品欧美一区二区三区久久久 | av在线亚洲欧洲日产一区二区 | 亚洲小说图区综合在线 | 精品国产一区二区三区四区 | 亚洲区欧美区综合区自拍区 | 久久午夜无码鲁丝片午夜精品 | 人妻尝试又大又粗久久 | 日日摸天天摸爽爽狠狠97 | 欧美国产日韩亚洲中文 | 中文字幕无线码免费人妻 | 国产熟妇另类久久久久 | 55夜色66夜色国产精品视频 | 国产色xx群视频射精 | 久久午夜无码鲁丝片秋霞 | 亚洲欧美色中文字幕在线 | 国产亚洲欧美日韩亚洲中文色 | 午夜福利试看120秒体验区 | 无码人妻精品一区二区三区不卡 | 精品成人av一区二区三区 | 久久国产精品萌白酱免费 | 国产在线精品一区二区三区直播 | 曰韩无码二三区中文字幕 | 国产精品怡红院永久免费 | 无套内谢老熟女 | 四虎国产精品一区二区 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲欧美综合区丁香五月小说 | 学生妹亚洲一区二区 | 久久人人爽人人爽人人片av高清 | 亚洲高清偷拍一区二区三区 | 亚洲精品午夜国产va久久成人 | 精品久久久无码中文字幕 | 亚洲а∨天堂久久精品2021 | 99久久人妻精品免费二区 | 高中生自慰www网站 | 无码人妻久久一区二区三区不卡 | 中文字幕乱妇无码av在线 | 国产精品人妻一区二区三区四 | 亚洲高清偷拍一区二区三区 | 国产va免费精品观看 | 玩弄少妇高潮ⅹxxxyw | 精品无人区无码乱码毛片国产 | 熟女体下毛毛黑森林 | 中文字幕无码人妻少妇免费 | 日韩精品成人一区二区三区 | 久久久亚洲欧洲日产国码αv | 精品一区二区三区无码免费视频 | 欧美三级a做爰在线观看 | 色综合视频一区二区三区 | 粗大的内捧猛烈进出视频 | 国产熟女一区二区三区四区五区 | 精品欧美一区二区三区久久久 | 精品夜夜澡人妻无码av蜜桃 | 玩弄人妻少妇500系列视频 | 成人一在线视频日韩国产 | 亚洲精品一区二区三区大桥未久 | 欧美黑人性暴力猛交喷水 | 一二三四社区在线中文视频 | 成人亚洲精品久久久久软件 | 久久亚洲精品中文字幕无男同 | 婷婷丁香六月激情综合啪 | a片在线免费观看 | 亚洲成a人片在线观看无码3d | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 亚洲中文字幕乱码av波多ji | 国产精品高潮呻吟av久久4虎 | 久久 国产 尿 小便 嘘嘘 | 131美女爱做视频 | 大乳丰满人妻中文字幕日本 | 亚洲 a v无 码免 费 成 人 a v | 水蜜桃色314在线观看 | 日本乱偷人妻中文字幕 | 日韩 欧美 动漫 国产 制服 | 亚洲人成无码网www | 久久天天躁狠狠躁夜夜免费观看 | 骚片av蜜桃精品一区 | 丰满人妻一区二区三区免费视频 | 国产精品18久久久久久麻辣 | а√天堂www在线天堂小说 | 日韩欧美中文字幕公布 | 国产av一区二区三区最新精品 | 久久久久久久久888 | 夜精品a片一区二区三区无码白浆 | 国产精品对白交换视频 | 精品亚洲韩国一区二区三区 | 999久久久国产精品消防器材 | 97久久国产亚洲精品超碰热 | av无码久久久久不卡免费网站 | 午夜无码人妻av大片色欲 | 鲁一鲁av2019在线 | 色婷婷av一区二区三区之红樱桃 | 欧美兽交xxxx×视频 | 一本久道久久综合狠狠爱 | 欧美老妇交乱视频在线观看 | 亚洲七七久久桃花影院 | 免费国产黄网站在线观看 | 久久人妻内射无码一区三区 | 中文精品无码中文字幕无码专区 | 国产精品国产三级国产专播 | 野狼第一精品社区 | 男女猛烈xx00免费视频试看 | 国产又爽又黄又刺激的视频 | 久久99国产综合精品 | 无码帝国www无码专区色综合 | 国产区女主播在线观看 | 成人精品一区二区三区中文字幕 | 狠狠色噜噜狠狠狠7777奇米 | 中文字幕无码免费久久9一区9 | 日韩精品无码一本二本三本色 | 欧美成人午夜精品久久久 | 国产成人无码a区在线观看视频app | 国产农村乱对白刺激视频 | 高清无码午夜福利视频 | 日日摸日日碰夜夜爽av | 午夜免费福利小电影 | 日本精品久久久久中文字幕 | 国产亚洲精品久久久久久国模美 | 一本精品99久久精品77 | 激情内射亚州一区二区三区爱妻 | 亚欧洲精品在线视频免费观看 | 欧美精品国产综合久久 | 奇米影视7777久久精品 | 亚洲成av人片在线观看无码不卡 | 在教室伦流澡到高潮hnp视频 | 极品尤物被啪到呻吟喷水 | 国产极品美女高潮无套在线观看 | 高清国产亚洲精品自在久久 | 婷婷综合久久中文字幕蜜桃三电影 | 狠狠噜狠狠狠狠丁香五月 | 久久久久99精品国产片 | 乌克兰少妇xxxx做受 | 清纯唯美经典一区二区 | 国色天香社区在线视频 | 无码免费一区二区三区 | 日日躁夜夜躁狠狠躁 | 强开小婷嫩苞又嫩又紧视频 | 天堂在线观看www | 久久97精品久久久久久久不卡 | 久久精品99久久香蕉国产色戒 | а天堂中文在线官网 | 人人澡人人透人人爽 | 中文字幕日产无线码一区 | 国产精品无码mv在线观看 | 丰满人妻一区二区三区免费视频 | 欧美成人午夜精品久久久 | 国产精品久久久久久久9999 | 亚洲精品国产品国语在线观看 | 国产成人一区二区三区在线观看 | 中文字幕乱码人妻二区三区 | 装睡被陌生人摸出水好爽 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 天干天干啦夜天干天2017 | 亚洲熟女一区二区三区 | 成人综合网亚洲伊人 | 天下第一社区视频www日本 | 欧洲美熟女乱又伦 | 扒开双腿疯狂进出爽爽爽视频 | 久久久久久av无码免费看大片 | 日产精品高潮呻吟av久久 | 成人免费视频在线观看 | 欧美人与动性行为视频 | 天堂亚洲免费视频 | 97资源共享在线视频 | 伊人久久大香线蕉午夜 | 亚洲一区二区三区香蕉 | 国产精品人人妻人人爽 | 免费乱码人妻系列无码专区 | 在线亚洲高清揄拍自拍一品区 | 亚洲乱亚洲乱妇50p | 国内丰满熟女出轨videos | 人妻体内射精一区二区三四 | 一二三四社区在线中文视频 | 国产精品丝袜黑色高跟鞋 | 在线精品国产一区二区三区 | 久久人人爽人人爽人人片ⅴ | 无码人妻久久一区二区三区不卡 | 粉嫩少妇内射浓精videos | 国产欧美亚洲精品a | 波多野结衣aⅴ在线 | 欧美性生交xxxxx久久久 | 无遮挡国产高潮视频免费观看 | 精品国产乱码久久久久乱码 | 亚洲欧美日韩综合久久久 | 欧美真人作爱免费视频 | 无码人妻丰满熟妇区五十路百度 | 国产精品毛片一区二区 | 亚洲人成人无码网www国产 | 婷婷色婷婷开心五月四房播播 | 四虎国产精品一区二区 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产亚洲精品久久久久久 | 亚洲中文字幕在线无码一区二区 | √天堂资源地址中文在线 | 亚洲欧美精品伊人久久 | 一本久久伊人热热精品中文字幕 | 国产亚洲精品久久久ai换 | 青青草原综合久久大伊人精品 | 国产精品久久久久无码av色戒 | 爆乳一区二区三区无码 | 国产精品香蕉在线观看 | 久久99精品国产.久久久久 | 牛和人交xxxx欧美 | 无码人妻少妇伦在线电影 | 久久人人爽人人爽人人片ⅴ | 日本大乳高潮视频在线观看 | 久久午夜夜伦鲁鲁片无码免费 | 午夜精品一区二区三区在线观看 | 日本一卡2卡3卡四卡精品网站 | 乱码午夜-极国产极内射 | 性啪啪chinese东北女人 | 无遮挡国产高潮视频免费观看 | 亚洲色偷偷偷综合网 | 日韩在线不卡免费视频一区 | 野外少妇愉情中文字幕 | 日韩精品一区二区av在线 | 亚洲中文无码av永久不收费 | 国产手机在线αⅴ片无码观看 | 熟妇人妻无乱码中文字幕 | 中文精品无码中文字幕无码专区 | 日韩少妇白浆无码系列 | 国产色视频一区二区三区 | 日日摸日日碰夜夜爽av | 亚洲熟妇色xxxxx欧美老妇 | 丰满诱人的人妻3 | 扒开双腿疯狂进出爽爽爽视频 | 中文字幕无线码免费人妻 | 在线精品亚洲一区二区 | 中文字幕无码人妻少妇免费 | 性欧美牲交在线视频 | 又色又爽又黄的美女裸体网站 | 国产人成高清在线视频99最全资源 | 亚洲 高清 成人 动漫 | 久久久精品成人免费观看 | 九九热爱视频精品 | 日本一本二本三区免费 | 国产在线精品一区二区三区直播 | 乱码av麻豆丝袜熟女系列 | 亚洲国产欧美在线成人 | 国产又爽又黄又刺激的视频 | 内射巨臀欧美在线视频 | 久久www免费人成人片 | 国产一区二区三区精品视频 | 亚洲色www成人永久网址 | 日本饥渴人妻欲求不满 | 国产午夜福利100集发布 | 天天躁夜夜躁狠狠是什么心态 | 高清国产亚洲精品自在久久 | 日产精品高潮呻吟av久久 | 国产内射爽爽大片视频社区在线 | 欧美成人午夜精品久久久 | 国产精品亚洲а∨无码播放麻豆 | 漂亮人妻洗澡被公强 日日躁 | 中文无码精品a∨在线观看不卡 | 亚洲综合无码一区二区三区 | 麻花豆传媒剧国产免费mv在线 | 日本一区二区更新不卡 | 少妇无码吹潮 | 国产黄在线观看免费观看不卡 | 无码人妻少妇伦在线电影 | 欧美猛少妇色xxxxx | 噜噜噜亚洲色成人网站 | 人人妻人人澡人人爽人人精品 | 白嫩日本少妇做爰 | 高潮喷水的毛片 | 国产两女互慰高潮视频在线观看 | 色情久久久av熟女人妻网站 | 亚洲综合无码久久精品综合 | 久久精品女人天堂av免费观看 | 国产精品高潮呻吟av久久4虎 | 麻豆蜜桃av蜜臀av色欲av | 精品国产青草久久久久福利 | 久久aⅴ免费观看 | 亚拍精品一区二区三区探花 | 性欧美videos高清精品 | 强开小婷嫩苞又嫩又紧视频 | 亚洲精品成人av在线 | 亚洲欧洲日本综合aⅴ在线 | 久久综合色之久久综合 | 久久午夜无码鲁丝片午夜精品 | 亚洲 日韩 欧美 成人 在线观看 | 草草网站影院白丝内射 | 水蜜桃色314在线观看 | 亚洲欧美日韩综合久久久 | 67194成是人免费无码 | 午夜精品一区二区三区的区别 | 人妻互换免费中文字幕 | 无码免费一区二区三区 | 青春草在线视频免费观看 | 中文字幕无码日韩专区 | 久久久久亚洲精品中文字幕 | 久久综合网欧美色妞网 | 麻豆蜜桃av蜜臀av色欲av | 99er热精品视频 | 樱花草在线播放免费中文 | 亚洲色在线无码国产精品不卡 | 欧美国产亚洲日韩在线二区 | 久久国产精品_国产精品 | 东北女人啪啪对白 | 国产人妻人伦精品1国产丝袜 | 日韩精品乱码av一区二区 | 自拍偷自拍亚洲精品10p | 国产亚洲人成在线播放 | 国产无遮挡又黄又爽又色 | 国产亚洲精品久久久久久久 | 午夜理论片yy44880影院 | 久久精品中文闷骚内射 | 国产亚洲精品久久久久久久久动漫 | 亚洲综合在线一区二区三区 | www成人国产高清内射 | 国产亚洲精品久久久久久久久动漫 | 亚洲の无码国产の无码步美 | 国内综合精品午夜久久资源 | 婷婷五月综合缴情在线视频 | 成 人 网 站国产免费观看 | 国产极品美女高潮无套在线观看 | 亚洲人成网站色7799 | 给我免费的视频在线观看 | 女人被爽到呻吟gif动态图视看 | 蜜桃av抽搐高潮一区二区 | 日韩av无码一区二区三区 | 成人精品视频一区二区 | 久久人人爽人人爽人人片av高清 | 女人高潮内射99精品 | 亚洲の无码国产の无码步美 | 秋霞成人午夜鲁丝一区二区三区 | 亚洲狠狠婷婷综合久久 | 两性色午夜视频免费播放 | 7777奇米四色成人眼影 | 国产另类ts人妖一区二区 | 少妇无码吹潮 | 狠狠cao日日穞夜夜穞av | 国内少妇偷人精品视频 | 欧美国产日产一区二区 | 国产电影无码午夜在线播放 | 国内丰满熟女出轨videos | 无码福利日韩神码福利片 | 无人区乱码一区二区三区 | 国产内射老熟女aaaa | 久久精品丝袜高跟鞋 | 国产莉萝无码av在线播放 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 久久综合久久自在自线精品自 | 熟妇人妻无码xxx视频 | 欧美激情一区二区三区成人 | 熟妇人妻无乱码中文字幕 | 日韩精品a片一区二区三区妖精 | 久久国产精品萌白酱免费 | 精品人人妻人人澡人人爽人人 | 自拍偷自拍亚洲精品被多人伦好爽 | 人人妻人人藻人人爽欧美一区 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲狠狠婷婷综合久久 | 图片小说视频一区二区 | 中文字幕人妻无码一区二区三区 | 国产真人无遮挡作爱免费视频 | 亚洲理论电影在线观看 | 色综合久久久无码网中文 | 搡女人真爽免费视频大全 | 性欧美牲交xxxxx视频 | 久久久久久a亚洲欧洲av冫 | 中文字幕久久久久人妻 | 国产精品久久久久7777 | 97夜夜澡人人双人人人喊 | 丝袜 中出 制服 人妻 美腿 | 狠狠色欧美亚洲狠狠色www | 波多野结衣av一区二区全免费观看 | 99久久人妻精品免费二区 | 国产亚洲人成在线播放 | 国产综合在线观看 | 亚洲欧洲日本综合aⅴ在线 | 中文字幕无码乱人伦 | 中文字幕无码视频专区 | 妺妺窝人体色www婷婷 | 国产人妻精品一区二区三区 | 一本无码人妻在中文字幕免费 | 疯狂三人交性欧美 | 久久久久久久人妻无码中文字幕爆 | 无码人妻精品一区二区三区下载 | 国产精品欧美成人 | 老熟女乱子伦 | 熟妇人妻无乱码中文字幕 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 乌克兰少妇xxxx做受 | 亚洲自偷精品视频自拍 | 亚洲色偷偷男人的天堂 | 国产午夜视频在线观看 | 男女性色大片免费网站 | 亚洲国产精品美女久久久久 | 国产福利视频一区二区 | 亚洲国产精品无码久久久久高潮 | 黑人粗大猛烈进出高潮视频 | 国产女主播喷水视频在线观看 | 日本一卡二卡不卡视频查询 | 波多野结衣aⅴ在线 | 成人无码影片精品久久久 | 999久久久国产精品消防器材 | 乱人伦中文视频在线观看 | 午夜免费福利小电影 | 丰满诱人的人妻3 | 妺妺窝人体色www在线小说 | 久久亚洲国产成人精品性色 | 人人爽人人澡人人人妻 | 熟妇人妻无乱码中文字幕 | 美女黄网站人色视频免费国产 | 亚洲欧美色中文字幕在线 | 在线观看国产一区二区三区 | 牲欲强的熟妇农村老妇女 | 人妻熟女一区 | 久久久无码中文字幕久... | 日本一本二本三区免费 | 欧美大屁股xxxxhd黑色 | 成熟妇人a片免费看网站 | 国产乱人无码伦av在线a | 婷婷色婷婷开心五月四房播播 | 无遮挡国产高潮视频免费观看 | 亚洲 欧美 激情 小说 另类 | 亚洲第一无码av无码专区 | 国产欧美精品一区二区三区 | 国产av剧情md精品麻豆 | 丰满少妇女裸体bbw | 亚洲aⅴ无码成人网站国产app | 青青青爽视频在线观看 | 少妇一晚三次一区二区三区 | 色偷偷人人澡人人爽人人模 | 国产在线一区二区三区四区五区 | 精品国产乱码久久久久乱码 | 99久久久国产精品无码免费 | 18禁止看的免费污网站 | а天堂中文在线官网 | 55夜色66夜色国产精品视频 | 国产精品久久久午夜夜伦鲁鲁 | 国产精品.xx视频.xxtv | 午夜福利试看120秒体验区 | 狠狠色噜噜狠狠狠狠7777米奇 | 人妻aⅴ无码一区二区三区 | 熟女少妇人妻中文字幕 | 精品无码成人片一区二区98 | 97资源共享在线视频 | 天堂亚洲免费视频 | 亚洲a无码综合a国产av中文 | 亚洲精品中文字幕乱码 | 国产成人一区二区三区别 | 美女扒开屁股让男人桶 | 亚洲欧美国产精品久久 | 国产成人精品久久亚洲高清不卡 | 亚洲无人区午夜福利码高清完整版 | 国产亚洲精品久久久久久久久动漫 | 美女毛片一区二区三区四区 | 亚洲日韩av片在线观看 | 国产色xx群视频射精 | 久久久精品国产sm最大网站 | 日日摸日日碰夜夜爽av | 搡女人真爽免费视频大全 | 青草青草久热国产精品 | 少妇高潮一区二区三区99 | 一本久道久久综合婷婷五月 | 4hu四虎永久在线观看 | 曰韩无码二三区中文字幕 | 波多野结衣一区二区三区av免费 | 久久综合激激的五月天 | 女高中生第一次破苞av | 无码午夜成人1000部免费视频 | 免费乱码人妻系列无码专区 | 亚洲欧美日韩国产精品一区二区 | 又大又黄又粗又爽的免费视频 | 日日天日日夜日日摸 | 婷婷六月久久综合丁香 | 无码午夜成人1000部免费视频 | 永久黄网站色视频免费直播 | 小sao货水好多真紧h无码视频 | 日日躁夜夜躁狠狠躁 | 婷婷丁香六月激情综合啪 | 99re在线播放 | 无码人妻久久一区二区三区不卡 | 色一情一乱一伦一视频免费看 | 亚洲 另类 在线 欧美 制服 | 中文无码伦av中文字幕 | 国产乱人无码伦av在线a | 荫蒂添的好舒服视频囗交 | 7777奇米四色成人眼影 | 在线观看欧美一区二区三区 | 久久成人a毛片免费观看网站 | 久久综合九色综合97网 | 国产色xx群视频射精 | 欧洲精品码一区二区三区免费看 | 在线精品亚洲一区二区 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产精品久久久久久亚洲毛片 | 国产精品内射视频免费 | 国产av无码专区亚洲awww | 久久婷婷五月综合色国产香蕉 | 草草网站影院白丝内射 | 黑人巨大精品欧美一区二区 | 国产av久久久久精东av | 一本无码人妻在中文字幕免费 | 亚洲の无码国产の无码步美 | 精品水蜜桃久久久久久久 | 无码人妻少妇伦在线电影 | 国产午夜精品一区二区三区嫩草 | 精品国产乱码久久久久乱码 | 久久久久久av无码免费看大片 | 亚洲成熟女人毛毛耸耸多 | 中文字幕无码日韩专区 | 婷婷丁香六月激情综合啪 | 日韩精品久久久肉伦网站 | 永久免费观看国产裸体美女 | 免费男性肉肉影院 | 红桃av一区二区三区在线无码av | 亚洲中文字幕av在天堂 | 久久久久久a亚洲欧洲av冫 | 天堂亚洲免费视频 | 亚洲国产精华液网站w | 国产两女互慰高潮视频在线观看 | 国产精品香蕉在线观看 | 午夜精品久久久久久久久 | 亲嘴扒胸摸屁股激烈网站 | 日本精品人妻无码77777 天堂一区人妻无码 | 久久精品国产日本波多野结衣 | 国产精品-区区久久久狼 | 亚洲成色www久久网站 | 无码人妻少妇伦在线电影 | 欧美成人免费全部网站 | av人摸人人人澡人人超碰下载 | 国产亚洲精品久久久久久 | √天堂中文官网8在线 | 沈阳熟女露脸对白视频 | 欧美激情综合亚洲一二区 | 精品人妻中文字幕有码在线 | 国语自产偷拍精品视频偷 | 国产精品国产三级国产专播 | 欧美精品在线观看 | 天堂亚洲免费视频 | 久久精品成人欧美大片 | 在线播放无码字幕亚洲 | 在线a亚洲视频播放在线观看 | 曰韩无码二三区中文字幕 | 国产精品嫩草久久久久 | 麻豆人妻少妇精品无码专区 | 亚洲中文字幕久久无码 | 青草视频在线播放 | 久久99精品久久久久久动态图 | 狠狠色丁香久久婷婷综合五月 | 色综合久久久无码中文字幕 | 精品国产青草久久久久福利 | 亚洲一区二区三区四区 | 免费国产黄网站在线观看 | 国产真实伦对白全集 | 影音先锋中文字幕无码 | 欧美日韩综合一区二区三区 | 人人澡人人透人人爽 | 思思久久99热只有频精品66 | 国产又爽又猛又粗的视频a片 | 国内丰满熟女出轨videos | 特级做a爰片毛片免费69 | 亚洲国产午夜精品理论片 | 亚洲中文字幕av在天堂 | 国产精品va在线观看无码 | 好男人www社区 | 国产农村妇女高潮大叫 | 丰满少妇弄高潮了www | 日本一区二区三区免费高清 | 国产精品高潮呻吟av久久 | 国产片av国语在线观看 | 免费国产黄网站在线观看 | 久久久久免费精品国产 | 国内揄拍国内精品少妇国语 | 亚洲人成网站色7799 | 亚洲色无码一区二区三区 | 国产精品自产拍在线观看 | 欧美真人作爱免费视频 | 天海翼激烈高潮到腰振不止 | 最近的中文字幕在线看视频 | 亚洲热妇无码av在线播放 | 夜夜夜高潮夜夜爽夜夜爰爰 | 荫蒂被男人添的好舒服爽免费视频 | 少妇无码吹潮 | 亚洲色在线无码国产精品不卡 | 色综合久久久久综合一本到桃花网 | 国产va免费精品观看 | 国产激情一区二区三区 | 精品一区二区三区波多野结衣 | 亚洲精品www久久久 | 蜜桃无码一区二区三区 | 最新版天堂资源中文官网 | 日本乱人伦片中文三区 | 人人妻人人澡人人爽欧美一区 | 一本久久a久久精品vr综合 | 久久zyz资源站无码中文动漫 | 熟妇人妻无乱码中文字幕 | 人妻少妇精品无码专区动漫 | 樱花草在线社区www | 日本欧美一区二区三区乱码 | 老头边吃奶边弄进去呻吟 | 黑森林福利视频导航 | 一本精品99久久精品77 | 人妻中文无码久热丝袜 | 人人妻人人澡人人爽欧美一区 | 亚洲一区二区三区偷拍女厕 | 中文精品久久久久人妻不卡 | 日韩精品无码免费一区二区三区 | 久久99久久99精品中文字幕 | 日本一区二区三区免费播放 | 国产无av码在线观看 | 成人免费视频一区二区 | 人妻aⅴ无码一区二区三区 | 亚洲自偷自拍另类第1页 | 精品无人区无码乱码毛片国产 | 极品尤物被啪到呻吟喷水 | 欧美xxxx黑人又粗又长 | 在线成人www免费观看视频 | 少女韩国电视剧在线观看完整 | 国产农村乱对白刺激视频 | 51国偷自产一区二区三区 | 久久久婷婷五月亚洲97号色 | 日本又色又爽又黄的a片18禁 | 男女性色大片免费网站 | 国产精品亚洲一区二区三区喷水 | 国产xxx69麻豆国语对白 | 日本饥渴人妻欲求不满 | 亚洲精品久久久久avwww潮水 | 丰满肥臀大屁股熟妇激情视频 | 亚洲日本一区二区三区在线 | 欧美成人免费全部网站 | 无码福利日韩神码福利片 | 日欧一片内射va在线影院 | 人人妻人人澡人人爽欧美一区 | 在线观看免费人成视频 | 亚洲理论电影在线观看 | 亚洲va中文字幕无码久久不卡 | 亚洲狠狠色丁香婷婷综合 | 四虎永久在线精品免费网址 | 亚洲精品无码国产 | 亚洲国产精品无码一区二区三区 | 欧美人妻一区二区三区 | 男女下面进入的视频免费午夜 | 亚洲一区二区三区国产精华液 | 久久97精品久久久久久久不卡 | 国产精品99爱免费视频 | 国产精品二区一区二区aⅴ污介绍 | 丝袜足控一区二区三区 | 亚洲一区二区三区 | 激情国产av做激情国产爱 | 女高中生第一次破苞av | 一个人看的视频www在线 | 日本成熟视频免费视频 | 18禁黄网站男男禁片免费观看 | 夜夜影院未满十八勿进 | 精品国精品国产自在久国产87 | 日韩精品无码免费一区二区三区 | 国产成人精品一区二区在线小狼 | 久精品国产欧美亚洲色aⅴ大片 | 98国产精品综合一区二区三区 | 领导边摸边吃奶边做爽在线观看 | 免费人成网站视频在线观看 | 久久99精品国产麻豆 | 国产真实乱对白精彩久久 | 国产一区二区三区影院 | 亚洲国产精品久久久天堂 | 久久综合九色综合97网 | 成人影院yy111111在线观看 | 在线天堂新版最新版在线8 | 兔费看少妇性l交大片免费 | 国产av一区二区精品久久凹凸 | 久久久久久a亚洲欧洲av冫 | 高清国产亚洲精品自在久久 | 国产精品久久久久9999小说 | 国产在线一区二区三区四区五区 | 亚洲中文字幕在线无码一区二区 | 丰满人妻翻云覆雨呻吟视频 | 亚洲区小说区激情区图片区 | 久热国产vs视频在线观看 | 国产精品美女久久久网av | 亚洲а∨天堂久久精品2021 | 日日碰狠狠躁久久躁蜜桃 | 丰满少妇人妻久久久久久 | 亚洲男人av香蕉爽爽爽爽 | 日本一区二区三区免费高清 | 十八禁视频网站在线观看 | 99视频精品全部免费免费观看 | 女人被男人躁得好爽免费视频 | 欧美日本精品一区二区三区 | 日韩少妇内射免费播放 | 国产免费无码一区二区视频 | 人人妻人人澡人人爽欧美一区九九 | 日本成熟视频免费视频 | 国产极品美女高潮无套在线观看 | 99国产精品白浆在线观看免费 | 日韩在线不卡免费视频一区 | 六十路熟妇乱子伦 | 综合人妻久久一区二区精品 | 久久综合香蕉国产蜜臀av | 精品 日韩 国产 欧美 视频 | 欧美精品一区二区精品久久 | 1000部夫妻午夜免费 | 亚洲精品一区二区三区在线 | 窝窝午夜理论片影院 | 精品一区二区不卡无码av | 少妇性荡欲午夜性开放视频剧场 | 性生交大片免费看女人按摩摩 | 亚洲国产精华液网站w | a在线亚洲男人的天堂 | 久久精品99久久香蕉国产色戒 | 精品水蜜桃久久久久久久 | 日日摸日日碰夜夜爽av | 国产猛烈高潮尖叫视频免费 | 一本色道婷婷久久欧美 | 少妇被黑人到高潮喷出白浆 | www国产亚洲精品久久久日本 | 日本肉体xxxx裸交 | 亚洲中文字幕无码一久久区 | 久久99久久99精品中文字幕 | 女人和拘做爰正片视频 | 色婷婷综合中文久久一本 | 亚洲色欲色欲天天天www | 久久久久成人精品免费播放动漫 | 亚洲精品国产a久久久久久 | 欧美猛少妇色xxxxx | 国产精品久久久久久亚洲影视内衣 | 国产无遮挡又黄又爽免费视频 | 国产精品亚洲lv粉色 | 国产 精品 自在自线 | aⅴ在线视频男人的天堂 | 欧美国产亚洲日韩在线二区 | 秋霞成人午夜鲁丝一区二区三区 | 国产精品久久久久无码av色戒 | 又湿又紧又大又爽a视频国产 | 捆绑白丝粉色jk震动捧喷白浆 | 国产精品福利视频导航 | 国产精品久久久一区二区三区 | 久久精品人人做人人综合试看 | 中文字幕无码人妻少妇免费 | 丰满肥臀大屁股熟妇激情视频 | 无套内谢的新婚少妇国语播放 | 国产激情无码一区二区app | 国产午夜无码精品免费看 | 国产精品亚洲专区无码不卡 | 在线精品国产一区二区三区 | 色爱情人网站 | 2020久久超碰国产精品最新 | 亚洲一区二区三区四区 | 又粗又大又硬又长又爽 | 国产精品久久久久7777 | 丰满护士巨好爽好大乳 | 欧美丰满少妇xxxx性 | 熟女少妇人妻中文字幕 | 日本欧美一区二区三区乱码 | 天堂а√在线中文在线 | 亚洲乱码中文字幕在线 | 亚洲精品无码国产 | 给我免费的视频在线观看 | 我要看www免费看插插视频 | 欧美日韩人成综合在线播放 | 成人无码视频在线观看网站 | 真人与拘做受免费视频一 | 亚洲精品中文字幕乱码 | 精品无人区无码乱码毛片国产 | 欧美色就是色 | 久久天天躁夜夜躁狠狠 | 精品无人区无码乱码毛片国产 | 中文字幕日产无线码一区 | 亚洲综合另类小说色区 | 九九综合va免费看 | 久久久精品成人免费观看 | 思思久久99热只有频精品66 | 亚洲一区二区三区偷拍女厕 | 成人影院yy111111在线观看 | 学生妹亚洲一区二区 | 精品人人妻人人澡人人爽人人 | 99riav国产精品视频 | 欧美喷潮久久久xxxxx | 九九久久精品国产免费看小说 | 久久国语露脸国产精品电影 | 久久久无码中文字幕久... | 蜜臀av在线播放 久久综合激激的五月天 | 亚洲日韩av一区二区三区中文 | 久久久久亚洲精品男人的天堂 | 亚洲一区二区三区含羞草 | 色欲久久久天天天综合网精品 | 天天爽夜夜爽夜夜爽 | 日韩精品无码一本二本三本色 | 综合人妻久久一区二区精品 | 好爽又高潮了毛片免费下载 | 精品久久久久久亚洲精品 | 丰满人妻一区二区三区免费视频 | 国产精品久久久久久亚洲毛片 | 亚洲一区二区三区国产精华液 | 激情亚洲一区国产精品 | 狂野欧美性猛交免费视频 | 久久视频在线观看精品 | 久久人人爽人人爽人人片ⅴ | 天天av天天av天天透 | 亚洲一区二区三区四区 | 性史性农村dvd毛片 | 国产特级毛片aaaaaa高潮流水 | 亚洲国产成人a精品不卡在线 | 亚洲精品成a人在线观看 | 在线观看国产午夜福利片 | 欧美日韩久久久精品a片 | 76少妇精品导航 | 在线观看国产午夜福利片 | 内射白嫩少妇超碰 | 成人无码精品1区2区3区免费看 | 性生交大片免费看女人按摩摩 | 亚洲国产午夜精品理论片 | 精品无人区无码乱码毛片国产 | 欧美日韩一区二区三区自拍 | √天堂资源地址中文在线 | 伊在人天堂亚洲香蕉精品区 | 国产精华av午夜在线观看 | 成人三级无码视频在线观看 | 日本又色又爽又黄的a片18禁 | 四虎国产精品免费久久 | 精品日本一区二区三区在线观看 | 亚洲日本一区二区三区在线 | 精品人妻av区 | 少妇无码av无码专区在线观看 | 亚洲中文字幕无码中文字在线 | 亚洲成色www久久网站 | 亚洲爆乳无码专区 | 中文久久乱码一区二区 | 国产性生大片免费观看性 | 欧美一区二区三区 | 嫩b人妻精品一区二区三区 | 午夜成人1000部免费视频 | 无码人妻av免费一区二区三区 | 玩弄少妇高潮ⅹxxxyw | 欧美35页视频在线观看 | 一本久久a久久精品vr综合 | 99久久久无码国产aaa精品 | 成人亚洲精品久久久久 | 又湿又紧又大又爽a视频国产 | 牲交欧美兽交欧美 | www国产亚洲精品久久网站 | 熟妇人妻无乱码中文字幕 | 亚洲成a人片在线观看无码 | 精品人妻中文字幕有码在线 | 久久久精品人妻久久影视 | 中文字幕人妻无码一区二区三区 | 色老头在线一区二区三区 | 国产国语老龄妇女a片 | 精品无码国产自产拍在线观看蜜 | 大地资源中文第3页 | 一本大道久久东京热无码av | 撕开奶罩揉吮奶头视频 | 男人扒开女人内裤强吻桶进去 | 欧美人与禽猛交狂配 | 亚洲一区二区三区四区 | 欧美乱妇无乱码大黄a片 | 无码国模国产在线观看 | 小sao货水好多真紧h无码视频 | 麻豆果冻传媒2021精品传媒一区下载 | 一本久道久久综合狠狠爱 | 亚洲成a人片在线观看无码3d | 一本大道伊人av久久综合 | a国产一区二区免费入口 | 2019nv天堂香蕉在线观看 | 精品一区二区三区波多野结衣 | av人摸人人人澡人人超碰下载 | 亚洲阿v天堂在线 | 18无码粉嫩小泬无套在线观看 | 无码精品国产va在线观看dvd | 成人欧美一区二区三区黑人免费 | 久久亚洲国产成人精品性色 | 亚洲gv猛男gv无码男同 | 国产精品久久久久影院嫩草 | 欧美高清在线精品一区 | 在线亚洲高清揄拍自拍一品区 | 色综合久久中文娱乐网 | 色综合久久88色综合天天 | 大屁股大乳丰满人妻 | 亚洲乱码国产乱码精品精 | 无码播放一区二区三区 | a国产一区二区免费入口 | 久久国产精品偷任你爽任你 | 国产精品-区区久久久狼 | 亚洲一区二区三区国产精华液 | 天干天干啦夜天干天2017 | 亚洲国产精品成人久久蜜臀 | 大乳丰满人妻中文字幕日本 | 无码人妻黑人中文字幕 | 97精品国产97久久久久久免费 | 又色又爽又黄的美女裸体网站 | 色一情一乱一伦一视频免费看 | 人妻少妇精品无码专区二区 | 又色又爽又黄的美女裸体网站 | 亚洲男人av香蕉爽爽爽爽 | 人妻体内射精一区二区三四 | 女人被男人爽到呻吟的视频 | 久久视频在线观看精品 | 中国大陆精品视频xxxx | 亚洲va中文字幕无码久久不卡 | 色欲综合久久中文字幕网 | 天海翼激烈高潮到腰振不止 | 国产激情一区二区三区 | 又大又黄又粗又爽的免费视频 | 国产亚洲视频中文字幕97精品 | 天天拍夜夜添久久精品大 | 国产xxx69麻豆国语对白 | 成熟人妻av无码专区 | 久久精品国产精品国产精品污 | 国产精品亚洲专区无码不卡 | 亚洲欧美日韩国产精品一区二区 | 色五月五月丁香亚洲综合网 | 欧美精品无码一区二区三区 | 鲁鲁鲁爽爽爽在线视频观看 | 中文字幕无码日韩欧毛 | 欧美日韩久久久精品a片 | 国产成人综合在线女婷五月99播放 | 欧美一区二区三区 | 日韩人妻无码一区二区三区久久99 | 蜜桃视频插满18在线观看 | 精品亚洲韩国一区二区三区 | 欧美大屁股xxxxhd黑色 | 人人妻在人人 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产午夜亚洲精品不卡下载 | 亚洲综合无码久久精品综合 | 国产精品久久久av久久久 | 天天做天天爱天天爽综合网 | 性生交大片免费看女人按摩摩 | 狠狠综合久久久久综合网 | 日日摸天天摸爽爽狠狠97 | 成人综合网亚洲伊人 | 中文字幕无线码免费人妻 | 中文字幕无码人妻少妇免费 | 日本精品久久久久中文字幕 | www国产精品内射老师 | 欧美三级不卡在线观看 | 久久97精品久久久久久久不卡 | 国产农村妇女高潮大叫 | 蜜桃臀无码内射一区二区三区 | 色一情一乱一伦一视频免费看 | 国产精品无码久久av | 国内精品人妻无码久久久影院蜜桃 | 在线视频网站www色 | 亚洲熟女一区二区三区 | 秋霞成人午夜鲁丝一区二区三区 | 久久综合狠狠综合久久综合88 | 亚洲 激情 小说 另类 欧美 | 欧美亚洲日韩国产人成在线播放 | 国产真实乱对白精彩久久 | 秋霞特色aa大片 | 亚洲色无码一区二区三区 | 无码一区二区三区在线 | 免费无码午夜福利片69 | 中文字幕人妻无码一区二区三区 | 国产成人午夜福利在线播放 | 精品国产一区av天美传媒 | 高潮喷水的毛片 | 亚洲人成网站在线播放942 | 国产乱人伦av在线无码 | 久久精品国产99精品亚洲 | 欧美一区二区三区视频在线观看 | 99久久婷婷国产综合精品青草免费 | а√天堂www在线天堂小说 | 台湾无码一区二区 | 日本一卡二卡不卡视频查询 | 久久综合网欧美色妞网 | 亚洲成色www久久网站 | 18无码粉嫩小泬无套在线观看 | 高潮毛片无遮挡高清免费视频 | 欧美亚洲国产一区二区三区 | 无套内射视频囯产 | 男女性色大片免费网站 | 久久zyz资源站无码中文动漫 | 中文字幕亚洲情99在线 | 久久久久免费精品国产 | 久久精品女人天堂av免费观看 | 亚洲成av人综合在线观看 | 亚洲 a v无 码免 费 成 人 a v | 老熟女重囗味hdxx69 | 成人欧美一区二区三区 | 99er热精品视频 | 亚洲区小说区激情区图片区 | 老子影院午夜伦不卡 | 国产熟妇高潮叫床视频播放 | 欧美一区二区三区 | 欧美日韩色另类综合 | 国产绳艺sm调教室论坛 | 1000部啪啪未满十八勿入下载 | 东北女人啪啪对白 | 九月婷婷人人澡人人添人人爽 | 国产精品久久久久久亚洲影视内衣 | 中文字幕乱妇无码av在线 | 天下第一社区视频www日本 | 欧美亚洲国产一区二区三区 | 国产肉丝袜在线观看 | 日韩人妻少妇一区二区三区 | 激情亚洲一区国产精品 | 亚洲 欧美 激情 小说 另类 | 国产成人av免费观看 | 无码吃奶揉捏奶头高潮视频 | 99er热精品视频 | 色综合久久久无码中文字幕 | 图片区 小说区 区 亚洲五月 | 日韩成人一区二区三区在线观看 | 人人妻人人澡人人爽欧美一区九九 | 无码av中文字幕免费放 | 波多野结衣高清一区二区三区 | 国产综合久久久久鬼色 | 乱人伦人妻中文字幕无码久久网 | 男女性色大片免费网站 | 亚洲日本在线电影 | 欧美熟妇另类久久久久久多毛 | 国产一精品一av一免费 | 小鲜肉自慰网站xnxx | 狠狠亚洲超碰狼人久久 | 久久精品一区二区三区四区 | 好爽又高潮了毛片免费下载 | 日本护士毛茸茸高潮 | av香港经典三级级 在线 | 熟女少妇人妻中文字幕 | 亚洲精品国偷拍自产在线麻豆 | 午夜精品久久久内射近拍高清 | 亚洲成av人片天堂网无码】 | 人妻aⅴ无码一区二区三区 | 国产成人无码av片在线观看不卡 | 亚洲精品久久久久中文第一幕 | 少妇性l交大片欧洲热妇乱xxx | 欧美三级不卡在线观看 | 一二三四社区在线中文视频 | 成人欧美一区二区三区黑人免费 | 人妻无码αv中文字幕久久琪琪布 | 日韩av无码一区二区三区不卡 | 亚洲精品久久久久久一区二区 | 亚洲欧洲中文日韩av乱码 | 欧美老妇交乱视频在线观看 | 精品人妻人人做人人爽夜夜爽 | 欧美三级不卡在线观看 | 无码乱肉视频免费大全合集 | 欧美性猛交xxxx富婆 | 思思久久99热只有频精品66 | 成人女人看片免费视频放人 | 国产精品国产自线拍免费软件 | 在线视频网站www色 | 久久久中文字幕日本无吗 | 夜夜躁日日躁狠狠久久av | 中文字幕av无码一区二区三区电影 | 国产偷抇久久精品a片69 | 国产凸凹视频一区二区 | 国精产品一品二品国精品69xx | 在线欧美精品一区二区三区 | 亚洲精品一区二区三区大桥未久 | 在线观看免费人成视频 | 精品午夜福利在线观看 | 图片小说视频一区二区 | 亚洲国产精品美女久久久久 | 国产性生交xxxxx无码 | 乌克兰少妇xxxx做受 | 亚洲中文字幕在线无码一区二区 | 欧美精品免费观看二区 | 亚洲人成人无码网www国产 | 日日鲁鲁鲁夜夜爽爽狠狠 | 国产性生大片免费观看性 | 真人与拘做受免费视频一 | 人人妻人人澡人人爽人人精品 | 亚洲精品无码人妻无码 | 日本www一道久久久免费榴莲 | 国产乱人无码伦av在线a | 亚洲自偷精品视频自拍 | 欧美人与禽猛交狂配 | 人妻尝试又大又粗久久 | www国产亚洲精品久久久日本 | 人人妻人人澡人人爽欧美一区 | 黑人大群体交免费视频 | 日韩少妇白浆无码系列 | 丁香花在线影院观看在线播放 | 丝袜美腿亚洲一区二区 | 在线观看国产午夜福利片 | 国产九九九九九九九a片 | 男人和女人高潮免费网站 | 欧美成人家庭影院 | 熟妇人妻无码xxx视频 | 最新版天堂资源中文官网 | 无码乱肉视频免费大全合集 | 亚洲第一无码av无码专区 | 午夜丰满少妇性开放视频 | 又紧又大又爽精品一区二区 | 999久久久国产精品消防器材 | 亚洲欧美国产精品专区久久 | 国产高清av在线播放 | 成人无码精品1区2区3区免费看 | 国色天香社区在线视频 | 999久久久国产精品消防器材 | 欧美日韩一区二区三区自拍 | 国产精品18久久久久久麻辣 | 亚洲小说春色综合另类 | 牛和人交xxxx欧美 | 未满小14洗澡无码视频网站 | 亚洲精品国产第一综合99久久 | 精品国产乱码久久久久乱码 |