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

StarRocks在撈月盤貨中的實踐

數據庫 其他數據庫
雖然整個過程遇到了很多問題也踩了不少的坑,但上線后查詢響應時間以及整體運行的穩定性還是比較滿意的,因此后續我們也考慮接入更多的數據以及場景到starrocks中,也特別感謝DBA 團隊和 Starrocks 官方的支持。?

1、背景

貨品活動運營在圈選所需貨品清單時,需要操作自助取數、智能運營系統、數據報表等多個系統工具才能完成。需要一個以供給側盤貨為核心需求的盤貨工具,實現運營各場景盤貨及貨品分析訴求,提升運營效率。但是實現起來由以下幾個難點。

  • 指標復雜。除了常用的聚合函數SUM,MIN,MAX等,還有各種占比、期末 、水平等。
  • 查詢條件靈活。幾乎每一列數據都可以作為查詢條件進行篩選。常規的數據庫無法承擔此類查詢。
  • 數據量大。總計幾十億的數據量。

圖片

業內比較流行的OLAP數據庫主要有ClickHouse和StarRocks。ClickHouse使用成本較高,非標準SQL協議,對JOIN支持不好,對靈活的業務開發并不友好。StarRocks支持標準的SQL協議,且對JOIN支持較好,MPP+向量化的查詢引擎,性能也得到保障。并且在與其他數據庫的性能測試對比中,StarRocks表現也十分亮眼。

圖片

上圖測試對比結果來自于:https://benchmark.clickhouse.com/

2、模型選擇

StarRocks 支持四種數據模型,分別是明細模型、聚合模型、更新模型和主鍵模型 。這四種數據模型能夠支持多種數據分析場景,例如日志分析、數據匯總分析、實時分析等。


特點

適用場景

明細模型

用于保存和分析原始明細數據,以追加寫為主要寫入方式,數據寫入后幾乎無更新

日志、操作記錄、設備狀態采樣、時序類數據等

聚合模型

用于保存和分析匯總(max/min/sum)數據,不需要查詢明細數據。數據導入后實時完成聚合,數據寫入后幾乎無更新

按時間、條件等匯總數據

主鍵模型

支持基于主鍵的更新,Delete and insert,大批量導入時保證高性能查詢,用于保存和分析需要更新的數據

狀態會發生變動的數據,例如訂單、設備狀態等

更新模型

支持基于主鍵的更新,Merge On Read,更新頻率比主鍵模型更高,用于保存和分析需要更新的數據

狀態會發生變動的數據,例如訂單、設備狀態等

盤貨底層的數據按照多維度存儲,多個維度之間可以通過join?來互相關聯,并且最終聚合計算結果會按照spu的維度在前臺展示。因為數據需要保存明細,以滿足豐富多變的查詢條件組合,所以首先排除了聚合模型?。而在實時和頻繁更新的場景下,主鍵模型?相較于更新模型?能夠帶來更加高效的查詢體驗。所以在數據模型選擇上,對于數據量較大的T+1維度表我們選擇了明細模型+物化視圖?的方式(因為2.5版本前的主鍵模型?不支持物化視圖的自動查詢改寫,需要在SQL中指定異步物化視圖的名稱來查詢),對而于數據量較小的基礎數據、可更新的(spu信息)場景我們選擇了主鍵模型。

圖片

3、數據寫入

設計完表結構后,我們考慮如何進行數據的導入。StarRocks支持多種數據源的導入,下圖展示了在各種數據源場景下,應該選擇哪一種導入方式。

圖片

!盤貨的指標數據我們選擇通過DataWorks(DataX)方式進行導入。而在導入的過程中經常會碰到以下兩個問題。

3.1   列數量不匹配

默認設置下,數據會被轉化為字符串,以 CSV 格式通過 Stream Load 導入至 StarRocks。字符串以 \t? 作為列分隔符,\n 作為行分隔符。

實際場景,我們的數據可能正好包含了\t? 和 \n?,再按照默認的規則進行分割,會導致列的數量不匹配或者數據錯誤。這個時候可以通過在參數 SteamLoad? 請求參數中添加以下配置,以更改分隔符,StarRocks 支持設置長度最大不超過 50 個字節的 UTF-8 編碼字符串作為列分隔符。盡可能縮短分隔符的長度,如果分割符太長,會變相的導致CSV數據包變大,從而導致導入速度變慢。

另外,倘若在以CSV的格式導入時難以確定合適的分隔符的話,可以考慮使用json格式進行數據的導入,能夠很好地避免分隔符問題帶來的煩擾。但是json格式相比CSV格式,數據集中多出很多譬如“{}"、列名稱等的字符,會導致導入數據量不變的情況下,導入數據的行數變少,從而使得導入的速度變慢。

  • 錯誤現象

圖片

  • 解決示例
{
"row_delimiter": "\\\\x02",
"column_separator": "\\\\x01"
}

3.2   版本號超出限制

單表在導入千萬級別的數據后,經常會報“Too many version”,導致同步任務失敗,原因是導入頻率太快,數據沒能及時合并,從而導致版本數超過參數限制的tablet最大版本數。默認支持的最大未合并版本數為 1000。此時有兩種方式解決:一是數據庫服務端調高BE的合并參數,加快數據的合并,但注意此時會增加數據庫CPU、內存等資源的消耗;二是數據導入端可以通過增大單次導入數據量,減少導入的頻率來解決,StarRocks的通過以下3個參數來控制導入,但需要將同步任務轉換為代碼模式,并在Writer?節點的parameter參數中進行添加。

  • 錯誤現象

圖片

  • 解決示例

圖片

屬性名稱

說明

默認值

maxBatchRows

單次 Stream Load 導入的最大行數。導入大量數據時,StarRocks Writer 將根據 maxBatchRows 或 maxBatchSize 將數據分為多個 Stream Load 作業分批導入

500000

maxBatchSize

單次 Stream Load 導入的最大字節數,單位為 Byte。導入大量數據時,StarRocks Writer 將根據 maxBatchRows 或 maxBatchSize 將數據分為多個 Stream Load 作業分批導入

104857600

flushInterval

上一次 Stream Load 結束至下一次開始的時間間隔,單位為 ms

300000

4、性能優化

4.1   執行計劃

  • Query Plan

通過以下命令查看 Query Plan。

# 查看SQL執行計劃
EXPLAIN sql_statement;
# 查看SQL包含列統計信息的執行計劃
EXPLAIN COSTS sql_statement;

我們以如下SQL舉例子:

EXPLAIN
select
a.si, a.tt, c.pv
from
(
select
si, tt
from
table_a
where
status = 1
) a
inner join (
select
si,
sum(pv) as pv
from
table_b
where
date = '2023-02-26'
group by
spu_id
) c on a.si = c.si
where
c.pv <= 10000
order by
si
limit 0, 20;

執行explain后展示如下:

PLAN FRAGMENT 0
OUTPUT EXPRS:1: si | 2: tt | 55: sum
PARTITION: UNPARTITIONED
RESULT SINK
8:MERGING-EXCHANGE
limit: 20


PLAN FRAGMENT 1
OUTPUT EXPRS:
PARTITION: RANDOM


STREAM DATA SINK
EXCHANGE ID: 08
UNPARTITIONED


7:TOP-N
| order by: <slot 1> 1: si ASC
| offset: 0
| limit: 20
|
6:Project
| <slot 1> : 1: si
| <slot 2> : 2: tt
| <slot 55> : 55: sum
|
5:HASH JOIN
| join op: INNER JOIN (COLOCATE)
| colocate: true
| equal join conjunct: 1: si = 36: si
|
|----4:AGGREGATE (update finalize)
| | output: sum(38: pv)
| | group by: 36: si
| | having: 55: sum <= 10000
| |
| 3:Project
| | <slot 36> : 36: si
| | <slot 38> : 38: pv
| |
| 2:OlapScanNode
| TABLE: table_a
| PREAGGREGATION: ON
| PREDICATES: 37: date = '2023-02-26'
| partitinotallow=1/104
| rollup: table_b
| tabletRatio=8/8
| tabletList=60447373,60447377,60447381,60447385,60447389,60447393,60447397,60447401
| cardinality=2957649
| avgRowSize=20.0
| numNodes=0
|
1:Project
| <slot 1> : 1: si
| <slot 2> : 2: title
|
0:OlapScanNode
TABLE: table_a
PREAGGREGATION: ON
PREDICATES: 14: status = 1
partitinotallow=1/1
rollup: table_a
tabletRatio=8/8
tabletList=60628875,60628879,60628883,60628887,60628891,60628895,60628899,60628903
cardinality=318534
avgRowSize=43.93492
numNodes=0

核心指標主要有以下幾個:

名稱

說明

avgRowSize

掃描數據行的平均大小

cardinality

掃描表的數據總行數

colocate

是否采用了 Colocate Join

numNodes

掃描涉及的節點數

rollup

物化視圖,如果沒有則與表名一致

preaggregation

預聚合

predicates

謂詞,也就是查詢過濾條件

partitions

分區名

table

表名

  • Query Profile

如果想看更為詳細的執行計劃,需要通過profile的方式獲取。2.5之前的版本需要指定以下參數(session級別),然后可以在starrocks的控制臺上查看到執行計劃。

set is_report_success = true;

圖片

4.2   索引

  • 前綴索引

在建表時,可以指定一個或多個列作為排序鍵 。表中的行會根據排序鍵進行排序后再落盤。查詢數據時可以按照二分的方式進行掃描,避免了全表掃描。同時為減少內存開銷,StarRocks 在排序鍵的基礎上又引入了前綴索引。前綴索引是一種稀疏索引。表中每 1024 行數據構成一個邏輯數據塊 (Data Block)。每個邏輯數據塊在前綴索引表中存儲一個索引項,索引項的長度不超過 36 字節,其內容為數據塊中第一行數據的排序列組成的前綴,在查找前綴索引表時可以幫助確定該行數據所在邏輯數據塊的起始行號。前綴索引的大小會比數據量少 1024 倍,因此會全量緩存在內存中,在實際查找的過程中可以有效加速查詢。

圖片

比如主鍵模型的建表語句,指定了PRIMARY KEY為spu_id,seller_id,date,當查詢條件包含了spu_id、seller_id時能快速的定位到數據,但如果單獨按照seller_id來查詢,則無法利用到前綴索引(最左匹配原則)。所以在設計表結構時將經常作為查詢條件的列,選為排序列。當排序鍵涉及多個列的時候,建議把區分度高、且經常查詢的列放在前面。

CREATE TABLE table_c(
`si` BIGINT(20) NOT NULL,
`sel` BIGINT(20) NOT NULL,
`date` DATE NOT NULL,
//....
) ENGINE=olap
PRIMARY KEY(`si`,`sel`,`date`)
COMMENT "xxxxxx"
PARTITION BY RANGE(`date`)
(START ("2022-10-11") END ("2023-01-19") EVERY (INTERVAL 1 DAY))
DISTRIBUTED BY HASH(si) BUCKETS 8
PROPERTIES (
//....
);
  • bitmap索引

如果想要提高一個非前綴索引列的查詢效率,可以為這一列創建 Bitmap 索引。比如列基數較低,值大量重復,例如 ENUM 類型的列,使用 Bitmap 索引能夠減少查詢的響應時間。

舉個??,現在對商品信息的商品狀態和商品類型創建bitmap索引:

CREATE INDEX status_idx ON table_a (status) USING BITMAP COMMENT '商品狀態索引';
CREATE INDEX type_idx ON table_a (biz_type) USING BITMAP COMMENT '商品類型索引';
  1. 構建字典:StarRocks 根據 商品狀態 列的取值構建一個字典,將 普通商品 和 定制服務 分別映射為 INT 類型的編碼值:0 和 1。
  2. 生成 bitmap:StarRocks 根據字典的編碼值生成 bitmap。因為 普通商品 出現在了1,2,3,4,5行,所以 普通商品 的 bitmap 是 111110000;定制服務 出現在第 6,7,8,9行,所以 定制服務 的 bitmap 是 000001111。
  3. 查詢 定制服務 的商品:先查詢字典映射,得到字典值1,再去查詢字典值1的bitmap,得出定制服務在6,7,8,9行。
  4. 查詢 定制服務 且 上架 的商品:類似的道理,會將兩段bitmap值進行位運算,000001111 & 100100100 得出 000000100,也就是只有第7行滿足條件。

圖片

4.3   Colocate Join

!Colocation Join 功能,是將一組擁有相同 Colocation Group Schema(CGS)的 Table 組成一個 Colocation Group(CG)。并保證這些 Table 對應的數據分片會落在同一個 BE 節點上。使得當 Colocation Group 內的表進行分桶列上的 Join 操作時,可以通過直接進行本地數據 Join,減少數據在節點間的傳輸耗時。

同一 CG 內的 Table 必須保證以下屬性相同:

  • 分桶列和分桶數相同,DISTRIBUTED BY HASH(k1) BUCKETS 8相同
  • 副本數相同,replication_num相同

建表時,可以在 PROPERTIES? 中指定屬性 "colocate_with" = "group_name",表示這個表是一個 Colocation Join 表,并且歸屬于一個指定的 Colocation Group。

CREATE TABLE tbl (k1 int, v1 int sum)
DISTRIBUTED BY HASH(k1) BUCKETS 8
PROPERTIES(
"replication_num" = "3",
"colocate_with" = "groupName"
);

使用完Colocation Join 的執行計劃,join op后會標注走的COLOCATE

圖片

4.4   物化視圖

!物化視圖是將預先計算好(根據定義好的 SELECT 語句)的數據集,存儲在 StarRocks 中的一個特殊的表,本質上是張聚合模型的表。

2.5版本下物化視圖還不支持查詢改寫,由于物化視圖是預先定義聚合的數據,因此當要查詢的數據列超過物化視圖所定義列的范圍的話,會導致物化視圖失效。

創建語句如下:

create materialized view table_view as
select
si,
date,
SUM(qscn),
//....
from
tabel_a_detail
group by
si,
date

當創建完物化視圖后,可以明顯的發現耗時變低了,再次查詢執行計劃,rollup已經變成了物化視圖的表名:

圖片

對近200個字段分別做聚合操作后再分頁,SQL如下:

SELECT
si,
`date`,
SUM(qscn) AS qscn
// ...省略194個聚合指標
FROM tabel_a_detail
GROUP BY si, date
LIMIT 0,100;

從查詢耗時上來看,物化視圖能極大的提高查詢效率,在大量數據下也比較平穩。

圖片

4.5   星型模型

StarRocks 支持選擇更靈活的星型模型來替代傳統建模方式的大寬表。用一個視圖來取代寬表,直接使用多表關聯來查詢。在 SSB 的標準測試集的對比中,StarRocks 的多表關聯性能相較于單表查詢并無明顯下降。

相比星型模型,寬表的缺點包括:

  • 維度更新成本更高。寬表中,維度信息更新會反應到整張表中,其更新的頻率直接影響查詢的效率。
  • 維護成本更高。寬表的建設需要額外的開發工作、存儲空間。
  • 導入成本更高。寬表的 Schema 字段數較多,導入過程中需要排序的列會增加,進而導致導入時間變長。

圖片

5、問題與規劃

我們在上線后的使用過程中也發現了一些瓶頸點,比如高計算量 + 大數據量的查詢時間會略久(數億行數據的count(distinct case when),sum(case when)等)、主鍵模型下的某寬表數據空洞 + 列數越來越多導致查詢及導入性能受影響,基于這些瓶頸我們未來有如下規劃:

  • 優化表結構設計?

主鍵模型的某寬表的表結構及示例數據如下,由于不同指標(A、B、C、...、Y)的可能情況較多(1、2、3、...、20),就導致組合之下存在25 * 20=500列,且對于某一行數據的比如A指標,可能僅有A_1、A_2列是有具體值的,而對于A_3 ~ A_20其實都是默認值或者空值;而B指標,卻可能是B_3和B_6列是有值的,其他列是默認值,這便造成了表中數據的空洞化;另一方面,假如需要新增指標的話,比如新增Z指標,大寬表在原有基礎上又要新增20列(Z_1 ~ Z_20),這對于表的維護以及查詢導入都會帶來壓力。

+-------+------+------+------------+-------+------+------------+-------------+------+
|p_id |A_1 |A_2 |A_3 ... |A_20 |B_1 |B_2 ... |B_20 ... |Y_20 |
+-------+------+------+------------+-------+------+------------+-------------+------+
|1 |3 |4 |0 ... |0 |0 |0 ... |999 ... |0 |
+-------+------+------+------------+-------+------+------------+-------------+------+
|9987 |9 |0 |1 ... |0 |2 |4 ... |0 ... |197 |
...

為此后續我們考慮兩種思路進行表結構的優化,一是使用非結構化的數據類型比如json格式來存儲相關數據,但會導致相關列的篩選性能下降;二是對寬表進行拆分,但會造成行數據量的暴漲。所以這塊還是需要花費心思設計下的,也歡迎大家有好的想法與我們交流。

  • 多表異步物化視圖?

對于多表關聯的場景,我們希望后續能夠使用多表物化視圖的形式對數據進行預聚合,從而在查詢時提高查詢響應的速度,尤其是大數據量的查詢場景下;同時由于我們數據是每天固定時間批量導入,完全可以接受在數據導入后異步刷新物化視圖。但目前2.4版本的多表異步物化視圖尚不支持查詢改寫,2.5支持SPJG類型查詢的自動命中物化視圖查詢改寫,3.0支持大多數查詢場景的查詢改寫。

  • Query Cache?
  • Query Cache 可以保存查詢的中間計算結果。后續發起的語義等價的查詢,能夠復用先前緩存的結果,加速計算,從而提升高并發場景下簡單聚合查詢的 QPS 并降低平均時延。該特性自2.5版本開始支持,且初期支持有限,比如2.5版本僅支持寬表模型下的單表聚合查詢,而3.0會支持更多使用場景,包括各種 Broadcast Join、Bucket Shuffle Join 等 Join 場景。所以后續比較期待使用該特性擴展我們查詢的QPS,提高查詢體驗。

6、寫在最后

雖然整個過程遇到了很多問題也踩了不少的坑,但上線后查詢響應時間以及整體運行的穩定性還是比較滿意的,因此后續我們也考慮接入更多的數據以及場景到starrocks中,也特別感謝DBA 團隊和 Starrocks 官方的支持。?

責任編輯:武曉燕 來源: 得物技術
相關推薦

2023-11-28 12:39:40

支付對賬領域

2024-07-12 11:40:13

2023-06-28 10:10:31

攜程技術

2020-07-08 10:01:07

SDP網絡安全安全框架

2024-02-27 07:44:20

2022-01-06 09:55:19

鴻蒙HarmonyOS應用

2022-09-09 10:01:11

服務網格云原生交付請求

2023-08-31 22:40:01

2017-05-22 08:05:46

HBase阿里搜索實踐

2009-11-26 10:31:55

配置IPS最佳實踐

2023-09-22 10:12:57

2018-09-10 15:57:52

IstioUCloudIPv6

2024-10-16 21:49:24

2022-12-23 19:22:47

前端單測

2024-09-25 10:10:35

2023-07-31 13:49:11

2024-04-17 07:21:52

物化視圖查詢加速器數據倉庫

2022-05-30 07:48:11

DevOps測試策略

2022-03-22 13:45:10

云計算混合云工具

2016-09-07 13:49:11

AppiumAndroid UI應用
點贊
收藏

51CTO技術棧公眾號

亚洲av片不卡无码久久| 日韩精品一区二区在线视频| 中文字幕在线网站| 欧美一区高清| 亚洲精品国精品久久99热| 国产男女激情视频| 国产成人在线视频免费观看| 成人黄页毛片网站| 国产精品激情自拍| 精品亚洲永久免费| 奇米影视亚洲| 亚洲激情中文字幕| 999在线精品视频| 亚洲天堂av在线| 亚洲精选在线视频| 日韩国产高清一区| 黄色片一区二区三区| 日本sm残虐另类| 91精品国产99久久久久久| 三级影片在线观看| 精品在线手机视频| 精品日本一线二线三线不卡| 奇米影音第四色| 国产激情视频在线看| 中文字幕日韩精品一区| 欧美第一黄网| 亚洲精品一区二区三区区别| 日本亚洲视频在线| 2019中文字幕全在线观看| 婷婷激情四射网| 怕怕欧美视频免费大全| 欧美日韩一区二区三区免费看| 伊人色综合久久天天五月婷| 天堂在线中文字幕| 不卡一区在线观看| 亚洲精品免费一区二区三区| 日本视频www色| 亚洲欧美视频| 98视频在线噜噜噜国产| 国产在线免费视频| 欧美在线免费一级片| 日韩中文字幕亚洲| 毛片久久久久久| 国产欧美高清视频在线| 日韩国产在线播放| 中文乱码人妻一区二区三区视频| 亚洲网一区二区三区| 欧美裸体一区二区三区| 最新天堂在线视频| 成人在线观看免费视频| 日本韩国欧美国产| 免费在线观看毛片网站| 偷拍自拍在线看| 欧美日韩人人澡狠狠躁视频| 精品少妇在线视频| 国产福利片在线观看| 亚洲成在线观看| 国产原创中文在线观看| 国产污视频在线播放| 精品久久久精品| 亚洲中文字幕无码专区| 精品极品在线| 婷婷六月综合网| www.日本少妇| sm久久捆绑调教精品一区| 亚洲高清在线精品| 亚洲欧洲日产国码无码久久99| 国产免费拔擦拔擦8x高清在线人| 天天综合色天天| 成人午夜视频免费在线观看| 欧美成人性网| 欧美日韩精品欧美日韩精品| 手机免费av片| 亚洲啊v在线免费视频| 精品福利一区二区三区| 在线精品一区二区三区| 欧美热在线视频精品999| 亚洲天堂免费视频| 中文字幕资源站| 欧美激情一区| 欧美中文字幕在线观看| 日韩xxx视频| 国产一区二区三区四| 成人免费看片网址| 三级av在线播放| 国产精品天天看| 中文精品无码中文字幕无码专区 | 国产精品第6页| 久色婷婷小香蕉久久| 亚洲国产影院| 欧美精品在线一区二区三区| 色男人天堂av| 你懂的在线观看一区二区| 亚洲色图第一页| 国产精品白丝喷水在线观看| 1024日韩| 国产啪精品视频| 男人天堂综合网| 中文字幕乱码一区二区免费| 400部精品国偷自产在线观看| 美女扒开腿让男人桶爽久久软| 91福利国产成人精品照片| 日本黄色www| 免费观看久久av| 欧美精品一二区| 欧美性猛交xxxx乱大交hd| 国产精品综合网| 欧美日本亚洲| 在线观看黄色av| 亚洲国产综合色| 亚欧激情乱码久久久久久久久| 超碰成人97| 久久综合伊人77777蜜臀| 91video| 国产盗摄一区二区三区| 日本欧洲国产一区二区| 少女频道在线观看免费播放电视剧| 色老汉av一区二区三区| 怡红院一区二区| 久久精品影视| 国产精品美女av| 先锋av资源站| 一区2区3区在线看| 亚洲免费av一区| 精品国产中文字幕第一页 | 日韩欧美在线视频播放| 国产精品久久777777毛茸茸| 91超碰rencao97精品| 97人人在线| 在线视频观看一区| 精品人妻一区二区三区香蕉 | 卡一精品卡二卡三网站乱码| 久久影视免费观看| 一级全黄裸体免费视频| 欧美激情综合五月色丁香小说| 99爱视频在线| 欧美日韩大片免费观看| 久久久噜久噜久久综合| 亚洲精品无码专区| 亚洲欧美一区二区三区国产精品| 校园春色 亚洲色图| av伊人久久| 国产精品普通话| av资源在线观看免费高清| 91黄色小视频| 免费看黄色三级| 日本 国产 欧美色综合| 亚洲精品成人三区| 日韩一区二区三免费高清在线观看| 伊人久久精品视频| 亚洲精品91天天久久人人| 国产丝袜欧美中文另类| 91在线视频观看免费| 精品国产乱码久久久| 国产精品美女视频网站| 欧美日韩xx| 日韩一区二区影院| 日本三级理论片| 26uuuu精品一区二区| www日韩视频| 欧美1级片网站| 亚洲va男人天堂| 黄色羞羞视频在线观看| 欧美精品一区二区高清在线观看 | 欧美日韩一区二区三区在线| 国产大屁股喷水视频在线观看| 九色综合狠狠综合久久| 国产成人生活片| 久久国产精品色av免费看| 26uuu另类亚洲欧美日本老年| 青青草观看免费视频在线| 在线精品亚洲一区二区不卡| 精品一区二区在线观看视频| 激情综合一区二区三区| 国产成人艳妇aa视频在线| 日韩美脚连裤袜丝袜在线| 国产国语刺激对白av不卡| 免费不卡视频| 亚洲福利影片在线| 97人妻一区二区精品视频| 国产精品福利影院| 99久久久无码国产精品性波多| 国产精品日韩欧美一区| 亚洲图片小说在线| 级毛片内射视频| 婷婷综合成人| 亚洲国产97在线精品一区| 欧美夫妻性生活视频| 国产精选久久久| 黄色成人在线免费| 老司机精品免费视频| 国产.欧美.日韩| 国产精品拍拍拍| 国一区二区在线观看| 色一情一区二区三区四区 | 在线三级电影| 国产视频在线一区二区| 国产欧美久久久| 欧美性20hd另类| 欧美色图亚洲视频| 国产亚洲婷婷免费| 中文视频在线观看| 麻豆视频观看网址久久| 大陆极品少妇内射aaaaa| 久久久久免费av| 日韩视频在线观看国产| 91精品国产自产在线丝袜啪| 国产精品日韩一区| 黄色漫画在线免费看| 成年无码av片在线| 成年网站在线| 日韩精品一区二区三区第95| 国产国语亲子伦亲子| 欧美日韩色综合| 日韩精品成人免费观看视频| 一区二区在线观看免费| 亚洲一二三四视频| 久久综合狠狠综合久久综合88| 日韩高清一二三区| 极品少妇一区二区| 手机看片一级片| 六月天综合网| 日韩avxxx| 999在线观看精品免费不卡网站| 亚洲区成人777777精品| 日韩精品首页| 日韩精品电影网站| 亚洲尤物av| 欧美极品色图| 欧美影院天天5g天天爽| 俄罗斯精品一区二区三区| 精品一区二区三区中文字幕视频| 国产玖玖精品视频| 日韩漫画puputoon| 国产精品国产三级国产aⅴ浪潮| 欧美aaaaa性bbbbb小妇| 久久久久久有精品国产| 国产美女福利在线观看| 色综合91久久精品中文字幕| 成人黄色在线电影| 亚洲免费中文| 国产不卡一区二区三区在线观看| а天堂中文最新一区二区三区| 国产精品一区二区三区在线播放| 日韩天堂在线| 国产精品久久久久av| 欧美色网在线| 国产精品狼人色视频一区| 岛国一区二区| 成人免费午夜电影| 国产专区精品| 国产超碰91| 偷窥自拍亚洲色图精选| 美日韩精品免费| 欧美日韩爱爱| 在线电影看在线一区二区三区| 日本不卡二三区| youjizz.com亚洲| 午夜激情一区| 你真棒插曲来救救我在线观看| 夜久久久久久| 色一情一乱一伦一区二区三区日本| 久久一综合视频| 亚洲天堂网2018| 国产大陆精品国产| 少妇户外露出[11p]| 久久久综合视频| 中国美女黄色一级片| 一区二区在线观看av| 中日韩精品视频在线观看| 欧美视频免费在线| 在线观看国产成人| 日韩欧美电影一二三| 日韩一级中文字幕| 亚洲人成人99网站| 成人福利片网站| 91高潮精品免费porn| 成人黄色免费观看| 91文字幕巨乱亚洲香蕉| 欧洲在线一区| 亚洲精品第一区二区三区| 欧美欧美天天天天操| 久久久噜噜噜www成人网| 另类小说一区二区三区| 中文字幕avav| 久久久噜噜噜久噜久久综合| 刘亦菲国产毛片bd| 亚洲第一福利视频在线| 中文字幕免费高清在线观看| 欧美成人三级在线| 国产在线视频网站| 欧美高跟鞋交xxxxxhd| 美女写真久久影院| 粉嫩精品一区二区三区在线观看 | 亚洲国产精品电影在线观看| 精品亚洲综合| 久久久久久久97| 欧美电影在线观看网站| 韩国成人动漫在线观看| 99久久夜色精品国产亚洲狼 | 亚洲自拍小视频免费观看| 日本成人精品| 五月天婷亚洲天综合网鲁鲁鲁| 欧美日本一区二区视频在线观看 | caoporm超碰国产精品| 五月天免费网站| 欧美性xxxxx| 亚洲h视频在线观看| 中文字幕久热精品在线视频| 超碰99在线| 亚洲一区二区三区sesese| 国产亚洲一区二区三区不卡| 日本男女交配视频| 国产美女主播视频一区| 欧美黄色一级生活片| 精品国产91久久久| 成人h动漫精品一区二区无码| 一区二区在线视频| 中文字幕高清在线播放| 豆国产97在线| 欧美三级在线| 在线视频一二区| 国产精品超碰97尤物18| 一级黄色大片视频| 亚洲精品国产免费| 91av久久| 国内视频一区| 影音先锋亚洲电影| 麻豆tv在线观看| 亚洲精品视频在线观看免费| 国产精品一区二区av白丝下载| 在线观看视频亚洲| 国模一区二区| 日本一区二区三区视频免费看| 亚洲永久免费精品| 国产精品第七页| 婷婷久久综合九色国产成人| 亚洲av无码片一区二区三区| 九九热精品视频在线播放| 国产一区二区三区黄网站| 福利网在线观看| 国产一区二区h| 天天干中文字幕| 欧美一区二区三区喷汁尤物| 国产成人在线视频免费观看| 成人乱人伦精品视频在线观看| 99精品视频在线观看免费播放| 国产又黄又猛又粗| 国产精品免费aⅴ片在线观看| 在线免费看91| 久久久国产一区二区| 激情久久免费视频| 日本一级黄视频| 丁香桃色午夜亚洲一区二区三区| 久久精品国产亚洲AV无码男同 | a√资源在线| 成人国产精品久久久久久亚洲| 99视频精品全国免费| 久久出品必属精品| 久久一二三四| 亚洲精品日韩av| 永久亚洲成a人片777777| 日批视频在线看| 亚洲国产成人高清精品| 亚洲av毛片成人精品| 国产91在线播放九色快色| 成人3d动漫在线观看| 99中文字幕在线| 图片区小说区国产精品视频| 日夜干在线视频| 国产免费观看久久黄| 欧美久久视频| 成人午夜福利一区二区| 欧美日韩在线三级| 欧美女同一区| 欧美一区二区视频在线| 久久99精品国产.久久久久久| 精品无码人妻一区二区三区| 亚洲精品小视频| 精品成人18| av动漫在线观看| 亚洲日本电影在线| 天天爽夜夜爽夜夜爽| 国产精品久久久久免费a∨大胸| 911精品美国片911久久久| 欧美双性人妖o0| 欧美午夜理伦三级在线观看| 五月天激情在线| 日本高清不卡一区二区三| 狠狠久久亚洲欧美| 四虎成人永久免费视频| 色偷偷综合社区| 红杏一区二区三区| 欧美成年人视频在线观看| 亚洲va欧美va人人爽| 91大神在线网站| 国偷自产av一区二区三区小尤奈| 九九久久精品视频| 99久热在线精品996热是什么| 久久精品这里热有精品|