精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Citus 分布式 PostgreSQL 集群 - SQL Reference(查詢分布式表 SQL)

數據庫 PostgreSQL
Citus 以多種方式支持 count(distinct) 聚合。如果 count(distinct) 聚合在分布列上,Citus 可以直接將查詢下推給 worker。如果不是,Citus 對每個 worker 運行 select distinct 語句, 并將列表返回給 coordinator,從中獲取最終計數。

如前幾節所述,Citus 是一個擴展,它擴展了最新的 PostgreSQL 以進行分布式執行。這意味著您可以在 Citus 協調器上使用標準 PostgreSQL SELECT 查詢進行查詢。 Citus 將并行化涉及復雜選擇、分組和排序以及 JOIN 的 SELECT 查詢,以加快查詢性能。在高層次上,Citus 將 SELECT 查詢劃分為更小的查詢片段,將這些查詢片段分配給 worker,監督他們的執行,合并他們的結果(如果需要,對它們進行排序),并將最終結果返回給用戶。

  • SELECT

http://www.postgresql.org/docs/current/static/sql-select.html

在以下部分中,我們將討論您可以使用 Citus 運行的不同類型的查詢。

聚合函數

Citus 支持和并行化 PostgreSQL 支持的大多數聚合函數,包括自定義用戶定義的聚合。聚合使用以下三種方法之一執行,優先順序如下:

  • 當聚合按表的分布列分組時,Citus 可以將整個查詢的執行下推到每個 worker。在這種情況下支持所有聚合,并在 worker 上并行執行。(任何正在使用的自定義聚合都必須安裝在 worker 身上。)
  • 當聚合沒有按表的分布列分組時,Citus 仍然可以根據具體情況進行優化。Citus 對 sum()、avg() 和 count(distinct) 等某些聚合有內部規則,允許它重寫查詢以對 worker 進行部分聚合。例如,為了計算平均值,Citus 從每個 worker 那里獲得一個總和和一個計數,然后 coordinator 節點計算最終的平均值。特殊情況聚合的完整列表:

avg, min, max, sum, count, array_agg, jsonb_agg, jsonb_object_agg, json_agg, json_object_agg, bit_and, bit_or, bool_and, bool_or, every, hll_add_agg, hll_union_agg, topn_add_agg, topn_union_agg, any_value, var_pop(float4), var_pop(float8), var_samp(float4), var_samp(float8), variance(float4), variance(float8) stddev_pop(float4), stddev_pop(float8), stddev_samp(float4), stddev_samp(float8) stddev(float4), stddev(float8) tdigest(double precision, int), tdigest_percentile(double precision, int, double precision), tdigest_percentile(double precision, int, double precision[]), tdigest_percentile(tdigest, double precision), tdigest_percentile(tdigest, double precision[]), tdigest_percentile_of(double precision, int, double precision), tdigest_percentile_of(double precision, int, double precision[]), tdigest_percentile_of(tdigest, double precision), tdigest_percentile_of(tdigest, double precision[])

  • 最后的手段:從 worker 中提取所有行并在 coordinator 節點上執行聚合。如果聚合未在分布列上分組,并且不是預定義的特殊情況之一,則 Citus 會退回到這種方法。它會導致網絡開銷,并且如果要聚合的數據集太大,可能會耗盡 coordinator 的資源。(可以禁用此回退,見下文。)

請注意,查詢中的微小更改可能會改變執行模式,從而導致潛在的令人驚訝的低效率。例如,按非分布列分組的 sum(x) 可以使用分布式執行,而 sum(distinct x) 必須將整個輸入記錄集拉到 coordinator。

SELECT sum(value1), sum(distinct value2) FROM distributed_table;

為避免意外將數據拉到 coordinator,可以設置一個 GUC:

SET citus.coordinator_aggregation_strategy TO 'disabled';

請注意,禁用 coordinator 聚合策略將完全阻止 “類型三”(最后的手段) 聚合查詢工作。

Count (Distinct) 聚合

Citus 以多種方式支持 count(distinct) 聚合。如果 count(distinct) 聚合在分布列上,Citus 可以直接將查詢下推給 worker。如果不是,Citus 對每個 worker 運行 select distinct 語句, 并將列表返回給 coordinator,從中獲取最終計數。

請注意,當 worker 擁有更多 distinct 項時,傳輸此數據會變得更慢。對于包含多個 count(distinct) 聚合的查詢尤其如此,例如:

-- multiple distinct counts in one query tend to be slow
SELECT count(distinct a), count(distinct b), count(distinct c)
FROM table_abc;

對于這類查詢,worker 上產生的 select distinct 語句本質上會產生要傳輸到 coordinator 的行的 cross-product(叉積)。

為了提高性能,您可以選擇進行近似計數。請按照以下步驟操作:

  • 在所有 PostgreSQL 實例(coordinator 和所有 worker)上下載并安裝 hll 擴展。有關獲取擴展的詳細信息,請訪問 PostgreSQL hll github 存儲庫。

https://github.com/citusdata/postgresql-hll

  • 只需從 coordinator 運行以下命令,即可在所有 PostgreSQL 實例上創建 hll 擴展
CREATE EXTENSION hll;
  • 通過設置 Citus.count_distinct_error_rate 配置值啟用計數不同的近似值。此配置設置的較低值預計會提供更準確的結果,但需要更多時間進行計算。我們建議將其設置為 0.005。
SET citus.count_distinct_error_rate to 0.005;

在這一步之后,count(distinct) 聚合會自動切換到使用 HLL,而無需對您的查詢進行任何更改。您應該能夠在表的任何列上運行近似 count distinct 查詢。

HyperLogLog 列

某些用戶已經將他們的數據存儲為 HLL 列。在這種情況下,他們可以通過調用 hll_union_agg(hll_column) 動態匯總這些數據。

估計 Top N 個項

通過應用 count、sort 和 limit 來計算集合中的前 n 個元素很簡單。然而,隨著數據大小的增加,這種方法變得緩慢且資源密集。使用近似值更有效。

Postgres 的開源 TopN 擴展可以快速獲得 “top-n” 查詢的近似結果。該擴展將 top 值具體化為 JSON 數據類型。TopN 可以增量更新這些 top 值,或者在不同的時間間隔內按需合并它們。

  • TopN 擴展

https://github.com/citusdata/postgresql-topn

基本操作

在查看 TopN 的實際示例之前,讓我們看看它的一些原始操作是如何工作的。首先 topn_add 更新一個 JSON 對象,其中包含一個 key 被看到的次數:

select topn_add('{}', 'a');
-- => {"a": 1}

-- record the sighting of another "a"
select topn_add(topn_add('{}', 'a'), 'a');
-- => {"a": 2}

該擴展還提供聚合以掃描多個值:

-- for normal_rand
create extension tablefunc;

-- count values from a normal distribution
SELECT topn_add_agg(floor(abs(i))::text)
FROM normal_rand(1000, 5, 0.7) i;
-- => {"2": 1, "3": 74, "4": 420, "5": 425, "6": 77, "7": 3}

如果 distinct 值的數量超過閾值,則聚合會丟棄那些最不常見的信息。這可以控制空間使用。閾值可以由 topn.number_of_counters GUC 控制。它的默認值為 1000。

現實例子

現在來看一個更現實的例子,說明 TopN 在實踐中是如何工作的。讓我們提取 2000 年的亞馬遜產品評論,并使用 TopN 快速查詢。首先下載數據集:

curl -L https://examples.citusdata.com/customer_reviews_2000.csv.gz | \
gunzip > reviews.csv

接下來,將其攝取到分布式表中:

CREATE TABLE customer_reviews
(
customer_id TEXT,
review_date DATE,
review_rating INTEGER,
review_votes INTEGER,
review_helpful_votes INTEGER,
product_id CHAR(10),
product_title TEXT,
product_sales_rank BIGINT,
product_group TEXT,
product_category TEXT,
product_subcategory TEXT,
similar_product_ids CHAR(10)[]
);

SELECT create_distributed_table('customer_reviews', 'product_id');

\COPY customer_reviews FROM 'reviews.csv' WITH CSV

接下來我們將添加擴展,創建一個目標表來存儲 TopN 生成的 json 數據,并應用我們之前看到的 topn_add_agg 函數。

-- run below command from coordinator, it will be propagated to the worker nodes as well
CREATE EXTENSION topn;

-- a table to materialize the daily aggregate
CREATE TABLE reviews_by_day
(
review_date date unique,
agg_data jsonb
);

SELECT create_reference_table('reviews_by_day');

-- materialize how many reviews each product got per day per customer
INSERT INTO reviews_by_day
SELECT review_date, topn_add_agg(product_id)
FROM customer_reviews
GROUP BY review_date;

現在,我們無需在 customer_reviews 上編寫復雜的窗口函數,只需將 TopN 應用于 reviews_by_day。例如,以下查詢查找前五天中每一天最常被評論的產品:

SELECT review_date, (topn(agg_data, 1)).*
FROM reviews_by_day
ORDER BY review_date
LIMIT 5;
┌─────────────┬────────────┬───────────┐
│ review_date │ item │ frequency │
├─────────────┼────────────┼───────────┤
│ 2000-01-01 │ 0939173344 │ 12 │
│ 2000-01-02 │ B000050XY8 │ 11 │
│ 2000-01-03 │ 0375404368 │ 12 │
│ 2000-01-04 │ 0375408738 │ 14 │
│ 2000-01-05 │ B00000J7J4 │ 17 │
└─────────────┴────────────┴───────────┘

TopN 創建的 json 字段可以與 topn_union 和 topn_union_agg 合并。我們可以使用后者來合并整個第一個月的數據,并列出該期間最受好評的五個產品。

SELECT (topn(topn_union_agg(agg_data), 5)).*
FROM reviews_by_day
WHERE review_date >= '2000-01-01' AND review_date < '2000-02-01'
ORDER BY 2 DESC;
┌────────────┬───────────┐
│ item │ frequency │
├────────────┼───────────┤
│ 0375404368 │ 217 │
│ 0345417623 │ 217 │
│ 0375404376 │ 217 │
│ 0375408738 │ 217 │
│ 043936213X │ 204 │
└────────────┴───────────┘

有關更多詳細信息和示例,請參閱 TopN readme。

百分位計算

在大量行上找到精確的百分位數可能會非常昂貴, 因為所有行都必須轉移到 coordinator 以進行最終排序和處理。另一方面,找到近似值可以使用所謂的 sketch 算法在 worker 節點上并行完成。 coordinator 節點然后將壓縮摘要組合到最終結果中,而不是讀取完整的行。

一種流行的百分位數 sketch 算法使用稱為 t-digest 的壓縮數據結構,可在 tdigest 擴展中用于 PostgreSQL。Citus 集成了對此擴展的支持。

以下是在 Citus 中使用 t-digest 的方法:

  • 在所有 PostgreSQL 節點( coordinator 和所有 worker)上下載并安裝 tdigest 擴展。tdigest 擴展 github 存儲庫有安裝說明。

https://github.com/tvondra/tdigest

  • 在數據庫中創建 tdigest 擴展。在 coordinator 上運行以下命令:
CREATE EXTENSION tdigest;

coordinator 也會將命令傳播給 worker。

當在查詢中使用擴展中定義的任何聚合時,Citus 將重寫查詢以將部分 tdigest 計算下推到適用的 worker。

T-digest 精度可以通過傳遞給聚合的 compression 參數來控制。權衡是準確性與 worker 和 coordinator 之間共享的數據量。有關如何在 tdigest 擴展中使用聚合的完整說明,請查看官方 tdigest github 存儲庫中的文檔。

限制下推

Citus 還盡可能將限制條款下推到 worker 的分片,以最大限度地減少跨網絡傳輸的數據量。

但是,在某些情況下,帶有 LIMIT 子句的 SELECT 查詢可能需要從每個分片中獲取所有行以生成準確的結果。例如,如果查詢需要按聚合列排序,則需要所有分片中該列的結果來確定最終聚合值。由于大量的網絡數據傳輸,這會降低 LIMIT 子句的性能。在這種情況下,如果近似值會產生有意義的結果,Citus 提供了一種用于網絡高效近似 LIMIT 子句的選項。

LIMIT 近似值默認禁用,可以通過設置配置參數 citus.limit_clause_row_fetch_count 來啟用。在這個配置值的基礎上,Citus 會限制每個任務返回的行數,用于在 coordinator 上進行聚合。由于這個 limit,最終結果可能是近似的。增加此 limit 將提高最終結果的準確性,同時仍提供從 worker 中提取的行數的上限。

SET citus.limit_clause_row_fetch_count to 10000;

分布式表的視圖

Citus 支持分布式表的所有視圖。有關視圖的語法和功能的概述,請參閱 CREATE VIEW 的 PostgreSQL 文檔。

  • https://www.postgresql.org/docs/current/static/sql-createview.html

請注意,某些視圖導致查詢計劃的效率低于其他視圖。有關檢測和改進不良視圖性能的更多信息,請參閱子查詢/CTE 網絡開銷。(視圖在內部被視為子查詢。)

  • https://docs.citusdata.com/en/v11.0beta/performance/performance_tuning.html#subquery-perf

Citus 也支持物化視圖,并將它們作為本地表存儲在 coordinator 節點上。

連接(Join)

Citus 支持任意數量的表之間的 equi-JOIN,無論它們的大小和分布方法如何。查詢計劃器根據表的分布方式選擇最佳連接方法和 join 順序。它評估幾個可能的 join 順序并創建一個 join 計劃,該計劃需要通過網絡傳輸最少的數據。

共置連接

當兩個表共置時,它們可以在它們的公共分布列上有效地 join。co-located join(共置連接) 是 join 兩個大型分布式表的最有效方式。

  • https://docs.citusdata.com/en/v11.0-beta/sharding/data_modeling.html#colocation

注意

確保表分布到相同數量的分片中,并且每個表的分布列具有完全匹配的類型。嘗試加入類型略有不同的列(例如 `int` 和 `bigint`)可能會導致問題。

引用表連接

引用表可以用作“維度”表, 以有效地與大型“事實”表連接。因為引用表在所有 worker 上完全復制, 所以 reference join 可以分解為每個 worker 上的本地連接并并行執行。 reference join 就像一個更靈活的 co-located join 版本, 因為引用表沒有分布在任何特定的列上,并且可以自由地 join 到它們的任何列上。

  • https://docs.citusdata.com/en/v11.0-beta/develop/reference_ddl.html#reference-tables

引用表也可以與 coordinator 節點本地的表連接。

重新分區連接

在某些情況下,您可能需要在除分布列之外的列上連接兩個表。對于這種情況,Citus 還允許通過動態重新分區查詢的表來連接非分布 key 列。

在這種情況下,要分區的表由查詢優化器根據分布列、連接鍵和表的大小來確定。使用重新分區的表,可以確保只有相關的分片對相互連接,從而大大減少了通過網絡傳輸的數據量。

通常,co-located join 比 repartition join 更有效,因為 repartition join 需要對數據進行混洗。因此,您應該盡可能通過 common join 鍵來分布表。

責任編輯:武曉燕 來源: 黑客下午茶
相關推薦

2022-03-30 19:18:31

PostgreSQL分布式I/O

2022-03-31 19:20:39

集群PostgreSQLCitus

2022-03-27 06:37:37

SQLPostgreSQL集群

2022-04-01 19:26:15

PostgreSQLCitus分布式

2022-03-28 13:13:58

分布列CitusPostgreSQ

2022-03-21 19:44:30

CitusPostgreSQ執行器

2022-03-21 06:45:22

PostgreSQL數據庫Citus

2022-03-06 21:43:05

Citus架構PostgreSQL

2022-03-24 14:11:25

KubernetesCitusPostgreSQL

2022-03-17 18:52:41

PostgreSQ序列數據集群

2022-03-22 11:35:10

數據建模PostgreSQLCitus

2010-09-10 08:54:02

2022-03-16 19:15:32

PostgreSQL日志Kafka

2010-07-06 09:39:20

SQL Server分

2022-03-15 19:19:04

分布式PostgreSQL集群

2009-09-18 15:10:13

分布式事務LINQ TO SQL

2022-03-14 19:40:40

PostgreSQL多租戶應用程序Citus

2022-10-21 16:16:42

分布式系統優化

2019-10-10 09:16:34

Zookeeper架構分布式

2017-09-01 05:35:58

分布式計算存儲
點贊
收藏

51CTO技術棧公眾號

91国偷自产一区二区三区成为亚洲经典 | 亚洲自拍偷拍网站| 91色视频在线观看| 麻豆一区产品精品蜜桃的特点 | 国产亲伦免费视频播放| 亚洲成人tv| 日韩欧美国产电影| 熟女少妇在线视频播放| 国产在线资源| 久久成人免费网| 久久夜色精品亚洲噜噜国产mv| 粗大的内捧猛烈进出视频| av漫画网站在线观看| 久久久久久久电影| 成人久久久久久久| av大片免费观看| 少妇精品久久久| 日韩一区二区三区四区五区六区| 免费观看国产精品视频| 成人精品福利| 国产999精品久久久久久绿帽| 4k岛国日韩精品**专区| 亚洲欧美日韩第一页| 97精品久久| 色噜噜狠狠成人网p站| 欧美大片免费播放| 国产三级视频在线播放线观看| 国产在线视视频有精品| 日本精品在线视频| 欧美国产日韩综合| 欧州一区二区| 91精品国产乱码久久蜜臀| 免费黄色日本网站| 国产成人l区| 久久久五月婷婷| 亚洲a区在线视频| 欧美黄色一级大片| 影音先锋久久精品| 精品国产一区二区三区久久久狼| 中文字幕免费在线播放| 国产精品视频首页| 欧美三日本三级三级在线播放| 国产一区二区三区小说| 麻豆免费在线观看| 国产亚洲欧美激情| 精品久久久久久一区| 国产v在线观看| 蜜桃久久av一区| 26uuu国产精品视频| 国产亚洲精品久久久久久打不开| 欧美a级成人淫片免费看| 日韩av在线影院| 天天爽夜夜爽视频| 外国成人毛片| 欧美午夜精品一区二区三区| 欧美日韩国产精品激情在线播放| 国产99re66在线视频| 亚洲欧美一区二区三区极速播放| 亚洲一区二区在线看| 国产高清av在线| 91免费观看视频| 国产一区二区三区免费不卡| 亚洲av色香蕉一区二区三区| 国产一区二区三区免费在线观看| 国产精品一区二区久久久久| 91porny九色| 久久国产欧美| 国产91网红主播在线观看| 亚洲午夜18毛片在线看| 国产一区二区三区成人欧美日韩在线观看| 欧美激情中文字幕乱码免费| 波多野结衣爱爱视频| 亚洲一区二区三区| 欧美成人高清视频| 九九热视频精品| 午夜亚洲福利| 久久久久久综合网天天| 国产一级二级三级| 亚洲国产精品一区制服丝袜| 午夜精品久久久久久久久久久久 | 一区二区三区欧美在线观看| 91国在线高清视频| heyzo高清在线| 亚洲成人tv网| 人妻少妇被粗大爽9797pw| 在线女人免费视频| 欧美影片第一页| 天天操狠狠操夜夜操| 免费观看亚洲视频大全| 日韩美女主播在线视频一区二区三区| 中文字幕1区2区| 里番精品3d一二三区| 亚洲欧美国产va在线影院| 三年中国中文观看免费播放| 国产精品久久久久9999赢消| 久久91精品国产91久久久| 国产成人亚洲精品自产在线 | 日韩av资源在线| 国精产品一区二区三区有限公司 | 欧美男男激情videos| 色婷婷久久久亚洲一区二区三区| 中文字幕国产传媒| 日本精品视频| 精品一区电影国产| 无码人中文字幕| 国内揄拍国内精品久久| 日韩av手机在线观看| 国产三级午夜理伦三级| av电影天堂一区二区在线| 亚洲 国产 欧美一区| 91高清在线观看视频| 欧美性感美女h网站在线观看免费| 国产嫩草在线观看| 高清欧美性猛交xxxx黑人猛| 在线电影av不卡网址| 青青草原在线免费观看| 亚洲欧美春色| 亚洲iv一区二区三区| 亚洲欧美自偷自拍| 亚洲欧美精品午睡沙发| av动漫在线看| 国产日本亚洲| 亚洲欧美日韩在线高清直播| 久久精品欧美一区二区| 日韩avvvv在线播放| 国产精品二区三区| 免费高清在线观看| 色婷婷亚洲综合| 师生出轨h灌满了1v1| 色婷婷亚洲mv天堂mv在影片| 欧美一级免费看| 国产成人精品无码高潮| av午夜在线| 午夜亚洲影视| 成人激情视频在线播放| 色视频在线看| 亚洲综合久久久| 向日葵污视频在线观看| 日韩免费电影在线观看| 色综合视频网站| 一级黄色片在线| 26uuu久久天堂性欧美| 激情五月六月婷婷| 在线视频成人| 亚洲天堂av在线免费观看| 精品一级少妇久久久久久久| 国产在线精品国自产拍免费| 日韩电影在线播放| sis001欧美| 亚洲第一av网站| 欧美激情图片小说| 黑人精品欧美一区二区蜜桃| 日本一区二区免费看| 在线观看v片| 亚洲第一区中文99精品| 国产真实乱人偷精品视频| 国产伦精品一区二区三区视频青涩| 亚洲欧美日韩不卡一区二区三区| 影视一区二区三区| 亚洲午夜小视频| 狠狠狠狠狠狠狠| 91亚洲男人天堂| 一区二区三区自拍| 自拍偷拍一区二区三区| 精品福利在线| 伊人男人综合视频网| 欧美一级淫片免费视频黄| 久久综合狠狠综合久久激情 | 欧美成人乱码一二三四区免费| 免费久久久久久久久| 日本免费在线精品| 黄色在线网站| 在线观看免费视频综合| 国产精品一二三区在线观看| 久久久久在线| 蜜桃网站成人| 欧美艳星kaydenkross| 精品视频中文字幕| 亚洲欧美偷拍一区| 欧美韩国日本不卡| www.99r| 欧美黄色录像片| 91久久国产精品| av片在线观看| 亚洲第一色中文字幕| 五月婷婷亚洲综合| 国产亚洲美州欧州综合国| 亚洲成人福利在线观看| 97精品视频| 91免费综合在线| xxxx成人| 亚洲欧美国产高清va在线播| 波多野结衣不卡| 中文字幕一区二区三| 亚洲精品乱码久久久久久9色| 精品福利av| 欧美一区二区三区在线播放 | 久久久综合香蕉尹人综合网| 成人软件在线观看| 中文字幕日韩视频| 中文精品久久久久人妻不卡| 国产精品免费久久| 91视频这里只有精品| 国产综合色产| 成人欧美一区二区三区在线观看| www.日韩| 日韩中文字在线| 深爱五月激情五月| 欧美理论电影在线| 韩国av免费观看| 国产精品麻豆视频| 亚洲精品乱码久久久久久蜜桃欧美| 蜜桃视频一区| 日韩人妻一区二区三区蜜桃视频| 天堂在线精品| 91久久久久久久久久久久久| av手机在线观看| 久久久国产精品亚洲一区| 十八禁一区二区三区| 欧美视频一区二区三区在线观看| 国产一级片网址| 国产精品久久久爽爽爽麻豆色哟哟| 极品白嫩的小少妇| 久久激情五月激情| 国产97在线 | 亚洲| 午夜精品视频一区二区三区在线看| 精品一区二区三区免费毛片| 伊人国产精品| 热久久免费视频精品| 黄网av在线| 波霸ol色综合久久| 国产在线观看免费| 亚洲国产精品va在线看黑人| a级片免费观看| 在线观看日韩高清av| 在线观看精品国产| 一区二区三区在线视频免费观看| 国产一二三四视频| 久久婷婷国产综合精品青草| 在线观看亚洲免费视频| 黑人巨大精品欧美黑白配亚洲| 在线视频日韩一区 | 国产高清久久| 日韩av中文字幕在线免费观看| 91在线公开视频| 色婷婷综合久久久久中文 | 国产精品无码一区二区在线| 欧美在线亚洲| 亚洲在线色站| 日韩av久操| 欧美日韩国产免费一区二区三区 | 香蕉久久一区二区三区| 日韩久久久精品| 国产又粗又长视频| 欧美日韩视频专区在线播放| 无码人妻精品一区二区三区9厂| 五月天视频一区| 久久久久亚洲av片无码下载蜜桃| 亚洲欧美偷拍卡通变态| 麻豆明星ai换脸视频| 国产精品免费视频网站| 欧日韩不卡视频| 国产精品美女久久久久久久久久久 | 久久婷婷国产综合精品青草| 亚洲av无码国产精品久久| 97精品超碰一区二区三区| 你懂的在线观看网站| 91在线云播放| 免费看黄色aaaaaa 片| 成人在线免费av| 国产婷婷色综合av蜜臀av| 日本视频在线观看一区二区三区 | 国产一区二区视频免费在线观看| 日韩一级大片| 亚洲美免无码中文字幕在线| av成人毛片| 精品人妻一区二区三区四区在线 | 波多野结衣中文字幕一区二区三区| 日本中文字幕有码| 不卡电影一区二区三区| 中出视频在线观看| 久久久精品一品道一区| 国产无遮挡在线观看| 亚洲欧美偷拍卡通变态| 日本少妇毛茸茸高潮| 欧美日韩亚洲高清| 日韩国产亚洲欧美| 3751色影院一区二区三区| 精品国产无码一区二区| 亚洲激情久久久| 狠狠色伊人亚洲综合网站l| 尤物九九久久国产精品的分类| 日本在线www| 色综合色综合久久综合频道88| 精品三级久久| 国产精品白丝jk喷水视频一区| 成人黄色免费观看| 99re热精品| 婷婷精品在线观看| 五码日韩精品一区二区三区视频| 亚洲色图国产| 国产91在线免费| 久久丁香综合五月国产三级网站| 巨乳女教师的诱惑| 久久精品一二三| 国产探花在线视频| 午夜精品福利在线| 在线免费观看视频网站| 亚洲成人网在线| 高清性色生活片在线观看| 美日韩丰满少妇在线观看| 深夜av在线| 91网站免费观看| 妖精一区二区三区精品视频| 黄色免费高清视频| 视频一区二区国产| av漫画在线观看| 国产精品免费久久久久| 亚洲天堂一区在线观看| 91麻豆精品国产自产在线| 日韩a在线观看| 欧美成人手机在线| av在线一区不卡| 国产欧美日韩在线播放| 久久精品欧美一区| 免费在线观看毛片网站| 成人免费视频一区| 久草福利资源在线| 色哦色哦哦色天天综合| 99视频免费观看| 欧美h版在线观看| 日韩国产一区久久| 亚洲精品激情| 伊人免费视频二| 欧美国产欧美亚州国产日韩mv天天看完整| 久久国产一级片| 欧美老女人在线| 国产日韩精品在线看| 97久久伊人激情网| 日韩精品免费视频一区二区三区| 日韩hmxxxx| 国产精品婷婷| 亚洲av熟女高潮一区二区| 亚洲美腿欧美偷拍| 亚洲熟妇av乱码在线观看| 亚洲天堂av在线免费观看| 免费成人在线电影| 国内成+人亚洲| 伊人精品成人久久综合软件| 亚洲三级在线观看视频| 国产精品国产自产拍高清av王其| 香蕉污视频在线观看| 亚洲男人天堂2024| 成人性教育av免费网址| 精品一区2区三区| 国产日韩欧美| 色综合久久五月| 亚洲高清免费一级二级三级| 亚洲第九十九页| 欧美大片免费看 | 成人精品一区二区三区电影黑人| 色琪琪久久se色| 天天操狠狠操夜夜操| 成人免费一区二区三区视频| 一级黄色大片免费| 日韩在线免费观看视频| 不卡一区视频| 在线视频一二三区| 国产福利一区二区三区| 国产一级特黄a高潮片| 精品粉嫩aⅴ一区二区三区四区| 超碰97免费在线| 国产一区二区精品免费| 午夜亚洲性色视频| 国产精成人品免费观看| 欧美人与禽zozo性伦| 高潮毛片在线观看| 成人黄色在线免费观看| 亚洲精选一区| 日韩精品中文字幕一区| 日本五码在线| 国产精品久久久久久亚洲影视 | 日韩少妇中文字幕| 久久精品国产一区二区三 | 一区二区免费看| 欧美一区二区在线观看视频| 91精品国产九九九久久久亚洲| 亚州av一区| 天天色综合社区| 亚洲欧美区自拍先锋| 人妻无码中文字幕| 国产精品夫妻激情| 7777久久香蕉成人影院| 毛茸茸free性熟hd| 一本一道久久a久久精品| jizz在线观看| 91香蕉亚洲精品| 国产欧美欧美| 欧美色图17p| 亚洲成人免费在线视频|