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

敢啃“硬骨頭”,開源分布式數(shù)據(jù)庫TiDB如何煉成?

原創(chuàng)
運維 數(shù)據(jù)庫運維 分布式
如今硬件的性價比越來越高,網(wǎng)絡(luò)傳輸速度越來越快,數(shù)據(jù)庫分層的趨勢逐漸顯現(xiàn),人們已經(jīng)不再強求用一個解決方案來解決所有的存儲問題,而是通過分層,讓緩存與數(shù)據(jù)庫負責(zé)各自擅長的業(yè)務(wù)場景。

[[245066]]

【51CTO.com原創(chuàng)稿件】如今硬件的性價比越來越高,網(wǎng)絡(luò)傳輸速度越來越快,數(shù)據(jù)庫分層的趨勢逐漸顯現(xiàn),人們已經(jīng)不再強求用一個解決方案來解決所有的存儲問題,而是通過分層,讓緩存與數(shù)據(jù)庫負責(zé)各自擅長的業(yè)務(wù)場景。

TiDB 作為一款 HTAP 數(shù)據(jù)庫,在高性能的實現(xiàn) OLTP 特性基礎(chǔ)之上,也同時提供基于實時交易數(shù)據(jù)的實時業(yè)務(wù)分析需求。

2018 年 5 月 18-19 日,由 51CTO 主辦的全球軟件與運維技術(shù)峰會在北京召開。

在“大數(shù)據(jù)處理技術(shù)”分會場,PingCAP CTO 黃東旭帶來了《How can HTAP help you:ATiDB Story》的主題演講。

他分享了 TiDB 的設(shè)計思路、現(xiàn)實應(yīng)用場景,以及 TiDB 集群在部署和運營方面的***實踐。

什么是 TiDB 數(shù)據(jù)庫?

[[245067]]

 

TiDB 是一個數(shù)據(jù)庫。我們知道市面上有很多類似 MySQL、Oracle 的數(shù)據(jù)庫。為什么還需要一個新的數(shù)據(jù)庫?

相信大家 90% 都使用過 MySQL。但是當(dāng) MySQL 的數(shù)據(jù)量比較大或者說并發(fā)開始撐不住的時候,能有什么選擇?

[[245068]]

 

其實選擇沒多少。一個是完全不用 MySQL,而是用 NoSQL。比如說 HBase 或者 Cassandra 去做數(shù)據(jù)庫。

但是相應(yīng)的代價就是失去了 SQL 的復(fù)雜查詢的能力,還有整個 MySQL 的 EcoSystem。

NoSQL 可以帶來橫向的水平拓展能力,但是會面臨整個業(yè)務(wù)代碼的重寫。這在很多場景下是不太現(xiàn)實的。

所以很多時候還是得用 MySQL,但是 MySQL 在數(shù)量方面有各種各樣的限制。所以過去我們能做的事情就是 Sharding,水平分區(qū),分庫分表。

但是很多時候雖然你做了水平切分,分庫分表,但是 Scale 還是一個非常大的問題。

另外一點比如說你用了讀寫分離,或者你可能用了 Cassandra 這樣的最終一次性的系統(tǒng),對于開發(fā)者來說這個新支付單是比較大的。

如果你沒有一個強一致的、持久化的存儲系統(tǒng),你的業(yè)務(wù)層的代碼是很難寫的,特別是對一些金融場景或者說對一致性要求比較高的業(yè)務(wù)。

另外,我們的數(shù)據(jù)倉庫、大數(shù)據(jù)分析的解決方案和數(shù)據(jù)庫的解決方案中間基本是徹底割裂的。

這兩年大家常用的 RabbitMQ 或者 Kafka 這樣的管道系統(tǒng),就是嘗試在數(shù)據(jù)庫和數(shù)據(jù)倉庫之間構(gòu)建一個橋梁。有沒有辦法能夠把實時的 OLAP 直接就在數(shù)據(jù)庫層面做?

或者說現(xiàn)在你用了 MySQL 的 Sharding,要去做一個簡單的跨業(yè)務(wù)的 join 的分析,都得把這個數(shù)據(jù)通過 ETL 導(dǎo)到 Hadoop 或者 data warehouse 里面再去做分析。

 

維護 ETL 的過程是一個比較麻煩的事情。另外一個問題是數(shù)據(jù)分析師可能不是一個工程師或者說一個技術(shù)很強的人,所以在技術(shù)選型上會有各種限制。

能不能就直接在數(shù)據(jù)庫上去做一些 in-place 的查詢呢,這是一個問題。另外一個就是大的趨勢,大家都在思考數(shù)據(jù)庫這樣的業(yè)務(wù)怎么去跟現(xiàn)有云架構(gòu)去整合。

舉例來說你不可能直接把一個 MySQL 實例放到一個 Container 里面,因為如果 Container 掛了,數(shù)據(jù)就沒了。

怎么去面向一個云環(huán)境或者一個可以彈性伸縮的容器環(huán)境,設(shè)計一個可以彈性伸縮的數(shù)據(jù)庫,這其實是個很大的問題。

還有一個特別大的痛點,就是在做高可用的時候人是會出錯的。我們現(xiàn)在做數(shù)據(jù)庫碰到這些問題的原因是什么呢?

我個人認為關(guān)系型數(shù)據(jù)庫像 MySQL,Oracle 這些本身不是面向分布式去做設(shè)計的。

另外,即使你勉強做這個分庫分表等操作,本質(zhì)上來說你只是把 MySQL 再復(fù)制了一遍,并不是針對它是一個分布式系統(tǒng)來做存儲和計算的優(yōu)化。

這就是問題,而這也是為什么我們會覺得我在做一些跨業(yè)務(wù)的查詢或者說一些跨物理的這個機器的查詢和寫入會比較麻煩的原因。

但是終于這個情況在發(fā)生變化, 因為在 2000 年以后,分布式系統(tǒng)理論開始變?yōu)橹髁鳌?/p>

這有一個歷史發(fā)展的背景,就是過去硬件價格昂貴,而且網(wǎng)絡(luò)環(huán)境不好。所以盡可能把計算給放在本地去做。

因為 SSD 的出現(xiàn),現(xiàn)在磁盤 IO 基本上問題已經(jīng)不大了,而 Intel 很快會發(fā)布持久化內(nèi)存。像這種技術(shù)基本上解決了數(shù)據(jù)庫 IO 層上的問題。

現(xiàn)在在 Google 內(nèi)部,同一個數(shù)據(jù)中心內(nèi)讀取遠程磁盤,跟讀取本地磁盤的吞吐和延遲基本是可以做到一致的。

在這種情況下你可以認為整個數(shù)據(jù)中心就是一臺計算機,你重新去設(shè)計數(shù)據(jù)庫的時候,它本質(zhì)上就是一個分布式系統(tǒng)。

第三點就是大家的思維在發(fā)生改變,大家不再幻想有一個***的解決方案去解決掉所有存儲上的問題。

易維護

TiDB 這個項目是在三年前開始的。項目就是上面介紹的背景,我過去在豌豆莢一直維護 MySQL 集群。

后來因為關(guān)系型數(shù)據(jù)庫不易維護,經(jīng)常想能不能有一個數(shù)據(jù)庫可以結(jié)合 MySQL 和 NoSQL 的優(yōu)點。

所以這就是最開始的初心,我們要去做一個功能完備的 SQL,***去兼容現(xiàn)有的,至少是這些常用的復(fù)雜查詢、子查詢業(yè)務(wù)。

然后同時要以一個 MySQL 的協(xié)議和用法去面向客戶,或者用戶。這一點很重要,它可以極大地降低用戶去試你產(chǎn)品的成本。

事務(wù)

第二點就是事務(wù),事務(wù)是絕對不能少的。我覺得過去這十年 NoSQL 的社區(qū)有一個特別大的問題就是追求可擴展性,但是放棄了強一致事務(wù)的支持,這是不對的。

過去不實現(xiàn)這個功能的理由是這個功能會導(dǎo)致系統(tǒng)延遲,性能下降。但是我覺得以犧牲數(shù)據(jù)準確性為代價去實現(xiàn)這個功能是不現(xiàn)實的。

這就相當(dāng)于本來這個事情應(yīng)該數(shù)據(jù)庫來做,這些 NoSQL 系統(tǒng)卻強行把這個事情交給業(yè)務(wù)層做。這會給寫業(yè)務(wù)帶來一個極大的問題。

另外一個就是擴展的易用性,就是能不能做到我這里用了一個詞叫做 push-button scaling。

我簡單地扔一臺機器進去,不做任何的 resharding,不做任何的修改配置,這個系統(tǒng)自己就擴大了,自己去做 rebalancing,這跟傳統(tǒng)的 Sharding 方案有本質(zhì)的區(qū)別。

高可用

然后 HA 是什么?HA 就是高可用,這個問題是傳統(tǒng)方案很難解決的。就是一切都是需要人工去做這個數(shù)據(jù)校驗和流量的切換。

沒有辦法能做到真正的 HA,這個數(shù)據(jù)庫能不能自動地自己去運維、自己去修復(fù)自己,自己去保證這個系統(tǒng)的可用性。

在這塊我們也做了一些工作,就是我們在底下的整個數(shù)據(jù)模型完全放棄掉了主從的模型,完全基于 Raft 跟 Paxos 這樣的一種分布式選舉算法來做。

這個還比較重要,因為如果一個系統(tǒng)你不能保證它的可用性,談再多的性能都是沒有意義的,特別是對于 OLTP 系統(tǒng)來說。

我的這個系統(tǒng)能不能既在上面去支持 ACID 事務(wù),同時又可以利用 Spark 或者 Hadoop 去用整個機群的計算資源和能力,再去做一些復(fù)雜的 SQL 查詢的時候能加速。這個其實是可以做到的。

開源

***一點就是一定是***開源,通用的技術(shù)軟件不開源是絕對沒有未來的。

因為現(xiàn)在時代已經(jīng)變了,過去那種閉門造車,然后招一大堆銷售,挨家敲門說你要不要試一下的搞法是不對的,特別是平臺性質(zhì)的軟件。

而且開源會更加有利于去做軟件推廣,你的用戶越多,用戶給你的反饋就越多。

這會比自己在內(nèi)部去做軟件速度快得多。這也是為什么這個項目才開始三年,我們的客戶就超過了 2000 多家。

TiDB 數(shù)據(jù)庫的四大“殺手锏”

現(xiàn)在我來總結(jié)一下 TiDB 數(shù)據(jù)庫有哪些應(yīng)用場景可以在你自己的業(yè)務(wù)里面去使用。

用例 1:MySQL 分片與合并

 

***種場景就是 MySQL,比如已有的業(yè)務(wù)使用了 MySQL Sharding,沒問題。現(xiàn)在 TiDB 因為在業(yè)務(wù)層實時兼容 MySQL 的這個訪問協(xié)議。

而且我們做了一個工具 Syncer,它能夠把 TiDB 作為一個 MySQL Master 的 Slave,在業(yè)務(wù)層前端可以是一個主庫 MySQL,而作為從庫的 TiDB 可以看做一個大的 MySQL。

過去我們有一個說法叫一主多從, 但現(xiàn)在有了 TiDB 以后,可以反過來說多主一從。

你可以把這多個 MySQL 組的不同的表、不同的業(yè)務(wù)、不同的庫,實時的 Binlog 的數(shù)據(jù)全都同步、匯總到一個大的分布式的 MySQL 上。

這個分布式 MySQL 就是 TiDB。在這個 MySQL 之上,你可以去用一些比較復(fù)雜的 Query,比如 join,groupby 全都可以。所以這個是一種用戶場景。

[[245069]]

 

Syncer 是什么?我剛才簡單提了下,Syncer 是可以把自己偽裝成一個 MySQL 的 Slave 去做數(shù)據(jù)的同步的工具。

它本質(zhì)上是一個 Binlog Listener,會去監(jiān)聽 MySQL 的 Binlog,然后把它變成數(shù)據(jù)庫的語句。

用例 2:直接替換 MySQL

 

另外一個應(yīng)用場景就非常簡單粗暴,最簡單的情況是業(yè)務(wù)在快速地增長,但是原來業(yè)務(wù)就是 MySQL 寫的,也沒考慮什么分庫分表,架構(gòu)這樣的事情。

摩拜早期的時候就用 MySQL。后來發(fā)現(xiàn)業(yè)務(wù)開始快速增長,公司在 30 人團隊規(guī)模的時候開始使用 TiDB。

然后一年之內(nèi)整個公司人數(shù)增長到 800 人,數(shù)據(jù)從很小的數(shù)據(jù)集到后來在 TiDB 上有幾十 T 的數(shù)據(jù),不需要再去做分庫分表。

所以在業(yè)務(wù)快速增長的場景下 TiDB 是個很好的選擇,然后對于 OLTP 的業(yè)務(wù)來說,TiDB 也是一個很好的選擇。

對吞吐來說,TiDB 基本上可以做到線型擴張,機器越多,性能越好。而對于延遲來說,TiDB 也有非常出色的表現(xiàn)。

用例 3:數(shù)據(jù)倉庫

 

還有一類使用場景是直接把 TiDB 作為數(shù)據(jù)倉庫用。 TiDB 在 OLAP 的性能測評方面表現(xiàn)非常出眾。

如果有一些特別復(fù)雜的 SQL,TiDB 的 SQL 層還是搞不定,我這邊也做了一個開源的項目,叫 TiSpark 。

它其實是一個 Spark 的插件,能夠讓用戶直接用 Spark SQL 來實時地在 TiKV 上做大數(shù)據(jù)分析。

第三個應(yīng)用場景,TiDB 本身是一個存儲跟計算分開的一個項目。它底下 Key-Value 的那一層也可以單獨拿出來用,你可以把它當(dāng)作一個 Hbase 的替代品, 同時支持跨行的事務(wù)。

TiDB 的項目其實是受到了 Google Spanner 這個系統(tǒng)的啟發(fā),是通過 NoSQL 這一層支持 transaction 的。

TiKV 提供了兩層 API,一層是支持跨行事物 transaction 的 API。第二層 API 叫弱 API,主要用來做單行的事務(wù),不提供跨行事務(wù)的 ACID 的支持,但是換取的是整個性能和延遲的進一步提升。

所以如果有需要,事務(wù)可以用 transaction 的 API,如果需要性能,但是沒有強一致事務(wù)的跨行事務(wù)的需求,就用弱 API。弱 API 跟 Hbase 的一致性級別是一樣的。

用例 4:作為其他系統(tǒng)的基石

 

基于通用的 KV 層,我們是可以做到很多我們想做的事情。TiDB 并不只是一個簡單的數(shù)據(jù)庫項目,它應(yīng)該是其他的分布式系統(tǒng)的 building block,可以作為其他系統(tǒng)構(gòu)建的基石。

TiDB 本身對外提供的是 MySQL 的接口,但是社區(qū)里面的小伙伴直接去給 TiKV 層去封裝一個 Redis 的協(xié)議層。

然后能讓用戶直接用 Redis 的協(xié)議去做 TiKV。這樣就變成了可持久化的 Scalable 的 Redis。

 

然后另外一個 Case,是在今日頭條用的,就是對外提供一個 S3,你想造自己的 S3 沒有問題。

但是造 S3 最難的部分是在源信息管理這塊,并不是它的 data nodes,所以如果你已經(jīng)有了一個支持跨事務(wù)的一個源信息存儲系統(tǒng),你可以做到自己去建造 S3。

我知道已經(jīng)有一些社區(qū)的同學(xué)構(gòu)建一整套新的分布式存儲的服務(wù),現(xiàn)在 API 還沒有開源,但我覺得不久的未來會開源。

如何從 MySQL 遷移到 TiDB?

既然 TiDB 這么好,那現(xiàn)在怎么把 MySQL 遷移到 TiDB 上呢?因為 TiDB 其實是基于 MySQL 生態(tài)的,當(dāng)然可以用 MySQLDump。

 

我們自己做了一個數(shù)據(jù)的導(dǎo)入導(dǎo)出工具叫 Lightning。為什么要做這個呢?

 

比如說過去我們?nèi)绻苯邮怯?MySQL 的協(xié)議,用 MyDumper、Myloader,就是簡單粗暴的導(dǎo)出導(dǎo)入。

那 TiDB 想要做什么事情呢?因為大家知道 MyDumper Dump 出來的就是 MySQL 一條條的語句。

然后在 TiDB 這邊要從 SQL,到它的 parser 到執(zhí)行計劃、指導(dǎo)事務(wù)、到 KV,***才寫到單機的 RocksDB 上面。

這個過程一遍遍重復(fù)執(zhí)行是一個很慢的過程,如下圖:

 

我們就想,有沒有辦法能夠直接繞過中間所有的東西,直接利用 MyDumper Dump 出來的這個 SQL 語句直接生成底下的 RocksDB 的數(shù)據(jù)的格式呢?當(dāng)然可以。

 

所以這就是 Lightning 在做的事情。你可以認為這是一個升級版的 MySQLDumper,直接 Dump 出 SQL 語句。

然后我們在 TiDB Lightning 這個項目內(nèi)部直接去做了這個 Record to KV,就是直接生成底層的 key-value pairs。然后同時在內(nèi)部去做數(shù)據(jù)分片,提前分好。

第三個就是直接去繞過中間所有的這些 SQL,直接去生成 RocksDB 的 SSD 文件,相當(dāng)于存儲的格式文件發(fā)送給不同的機器。然后這個機器直接去把文件 Load 到數(shù)據(jù)庫里面就完成了,中間其實是很快的。

部署 TiDB,我們選的技術(shù)方案是 Ansible,所有的部署都是可以一鍵完成。然后包括性能調(diào)優(yōu)什么的完全是開源的。

我們目前正在把 TiDB 這個項目捐給 CNCF 基金會,正在跟 Kubernetes 進行整合,現(xiàn)在正在測試階段,未來肯定也會開源。

當(dāng)然,如果你說想在本地自己去玩一玩,但是 TiDB 這么多組件,我能不能用一條命令就能在本地搭建一個完整的 TiDB Cluster 去做測試呢?當(dāng)然可以。

我們這邊是有 Docker Compose,是兩條路徑,一條是 git clone,然后第二條是啟動。

它會啟動包括 Dashboard,數(shù)據(jù)的遷移、可視化,TiDB MySQL 的 Service endpoint、TiSpark 全都會在你的 Docker Container 去創(chuàng)建。

另外這還不夠,我們把一些核心算法通過數(shù)學(xué)的方式去形式化地證明它是正確的。

這個 TLA+ 的源碼文件開源了,大家如果想在自己的分布式系統(tǒng)里面去用 TLA+ 做數(shù)學(xué)上的證明,你可以去參考我們寫的文檔。所以我覺得測試反而是這個公司最重要的一塊資產(chǎn)。

總結(jié)

 

***,有幾個大的問題也是這段時間我思考得比較多的,比如說你整個集群云化了以后,在數(shù)據(jù)庫的層面上 Multi—tenancy 該怎么做?就是如何能去做到更有效的資源隔離和復(fù)用?

現(xiàn)在并沒有太好的解決方案,因為整個 IO 的隔離還是比較大的問題。

第二個就是自治,這個數(shù)據(jù)庫能不能擁有智能,就是我再不需要人工去做運維。

這個數(shù)據(jù)庫能夠自己部署,自己維護,自己更新。然后數(shù)據(jù)出現(xiàn)問題,自己修復(fù);性能出現(xiàn)問題,自己調(diào)優(yōu)。

我們也在嘗試去把一些我們運營時的 Metric 往 Tensorflow 里面去導(dǎo),自動地去做調(diào)優(yōu)。這個工作正在做,然后應(yīng)該 CMU 是一些比較有意思的工作。

還有就是軟硬件的結(jié)合,就是說怎么去利用這些新時代的硬件來提升你的整個數(shù)據(jù)庫的穩(wěn)定性能。

[[245070]]

 

 

黃東旭,PingCAP 的聯(lián)合創(chuàng)始人兼***技術(shù)官。他是分布式系統(tǒng)和數(shù)據(jù)庫開發(fā)方面的專家。他在分布式存儲方面擁有豐富的經(jīng)驗和獨特的見解。他是 Codis(一種常用的分布式 Redis 緩存解決方案)和 TiDB(一種分布式關(guān)系型數(shù)據(jù)庫)的聯(lián)合創(chuàng)始人。

【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】

 

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2022-03-16 10:14:55

C語言C++

2022-01-14 09:40:12

語言指針代碼

2022-05-31 07:58:49

TiDB數(shù)據(jù)庫開源

2020-10-15 09:00:00

Python編程語言

2021-12-20 15:44:28

ShardingSph分布式數(shù)據(jù)庫開源

2023-12-05 07:30:40

KlustronBa數(shù)據(jù)庫

2015-10-16 18:03:25

Docker分布式CoreOS

2023-07-28 07:56:45

分布式數(shù)據(jù)庫SQL

2020-06-23 09:35:13

分布式數(shù)據(jù)庫網(wǎng)絡(luò)

2023-03-07 09:49:04

分布式數(shù)據(jù)庫

2024-09-09 09:19:57

2022-08-01 18:33:45

關(guān)系型數(shù)據(jù)庫大數(shù)據(jù)

2022-03-10 06:36:59

分布式數(shù)據(jù)庫排序

2023-07-31 08:27:55

分布式數(shù)據(jù)庫架構(gòu)

2018-06-15 10:39:39

數(shù)據(jù)技術(shù)圖譜

2022-12-08 08:13:11

分布式數(shù)據(jù)庫CAP

2016-04-20 17:18:29

分布式數(shù)據(jù)庫京東WOT

2018-10-15 11:20:04

分布式數(shù)據(jù)庫數(shù)據(jù)庫TiDB
點贊
收藏

51CTO技術(shù)棧公眾號

欧美激情一区二区三区p站| 欧美国产二区| 久久久久久久久久久久久久免费看| 日韩中文字幕| 欧美日韩免费在线观看| 亚洲欧美日韩精品在线| 东京干手机福利视频| 裸体一区二区| 美女性感视频久久久| 六十路息与子猛烈交尾| 福利精品在线| 午夜国产精品影院在线观看| 亚洲精品成人自拍| 天堂在线视频观看| 国内精品伊人久久久久av影院 | 亚洲精品中文在线观看| 中文文精品字幕一区二区| 国产三级精品网站| 国产又大又黑又粗免费视频| 99免费在线视频| 啄木系列成人av电影| 色网在线观看| 精品一区二区免费| 91av在线影院| 国产a免费视频| 国际精品欧美精品| 亚洲国产精品999| 日本国产一级片| 澳门成人av网| 亚洲成人午夜电影| 日本高清xxxx| 超碰国产在线| 久久美女高清视频| 国产一区二区三区黄| 国产精品-色哟哟| 日本伊人午夜精品| 日本久久久久久久| 日本五十熟hd丰满| 欧美黄污视频| 久久久精品久久| 大吊一区二区三区| 日韩亚洲一区在线| 一区二区三区黄色| 国产全是老熟女太爽了| 卡通动漫精品一区二区三区| 亚洲精品一区二区三区四区高清| 国产农村妇女精品久久| 午夜不卡一区| 欧美精品久久天天躁| 人人干人人干人人| 国产精品伦一区二区| 在线观看日韩高清av| 丁香啪啪综合成人亚洲| 国产高清中文字幕在线| 香港成人在线视频| 久久久久久久久久久99| 国产精品一二三产区| 午夜精品久久久久久不卡8050| 日本一区午夜艳熟免费| h片精品在线观看| 亚洲一区二区三区在线播放| 免费一级淫片aaa片毛片a级| 日本在线视频中文有码| 亚洲一区二区三区国产| 91午夜在线观看| 8x8ⅹ拨牐拨牐拨牐在线观看| 亚洲成人资源在线| 成人久久久久久久久| 亚洲精品在线影院| 欧美日韩大陆一区二区| 亚洲精品久久久久久| 成人在线视频你懂的| 日韩激情在线视频| 亚洲v国产v欧美v久久久久久| 欧美综合在线视频观看| 中文字幕亚洲图片| 黄页网站免费观看| 国产精品久久久久毛片大屁完整版| 欧美在线一级va免费观看| 波多野结衣网站| 蜜臀av在线播放一区二区三区| 国产在线精品自拍| 亚洲a视频在线观看| 91农村精品一区二区在线| 日韩一区国产在线观看| 超碰个人在线| 欧美午夜视频在线观看| 在线观看国产中文字幕| 日韩成人18| 日韩精品欧美国产精品忘忧草| 日本黄色小视频在线观看| 综合激情视频| 日本午夜精品理论片a级appf发布| 在线观看国产精品视频| 北条麻妃一区二区三区| 色一情一区二区三区四区| 成人三级网址| 欧美性猛xxx| 日本黄色一级网站| 国产成人高清| 欧美激情中文网| 亚洲天堂自拍偷拍| 不卡一区二区三区四区| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 日本h片在线| 色欧美片视频在线观看 | 久久亚洲欧洲| 91在线观看免费高清完整版在线观看| 五月天婷婷视频| 综合精品久久久| 精品www久久久久奶水| 日韩欧美中文字幕在线视频 | 91嫩草丨国产丨精品| 国产美女一区| 粉嫩av一区二区三区免费观看| 97在线观看免费观看高清| 午夜欧美在线一二页| 北条麻妃亚洲一区| 欧美日韩精品一区二区视频| 性色av一区二区三区免费| 国产精品久久久久久久免费看| 91免费国产视频网站| 黄色一级大片免费| 婷婷成人av| 中文字幕无线精品亚洲乱码一区| 成人在线免费看视频| 国产91丝袜在线播放九色| 一区二区三区四区欧美日韩| av有声小说一区二区三区| 精品国精品自拍自在线| 国产中文av在线| 美女在线一区二区| 日韩三级电影| 裤袜国产欧美精品一区| 亚洲国产毛片完整版| 国产性生活网站| 国产成人综合在线播放| av电影一区二区三区| 国产69精品久久| 一区二区三区国产视频| 亚洲视屏在线观看| 国产无一区二区| 日韩中文字幕二区| 杨幂一区二区三区免费看视频| 97在线观看视频| 天天躁日日躁狠狠躁喷水| 亚洲成人综合网站| 美女扒开腿免费视频| 好吊一区二区三区| 国产精品18毛片一区二区| 麻豆av在线播放| 精品粉嫩aⅴ一区二区三区四区| 精国产品一区二区三区a片| 国产一区二区三区免费观看| 男女激烈动态图| 免费精品一区| 色综合天天综合网国产成人网| 精品人妻无码一区二区| 亚洲二区在线视频| 欲求不满的岳中文字幕| 久久成人精品| 色婷婷精品国产一区二区三区| 日本在线中文字幕一区二区三区| 一区二区三区高清国产| ,一级淫片a看免费| 一区二区三区加勒比av| 少妇精品无码一区二区三区| 亚洲全部视频| 日韩av不卡播放| 日韩毛片网站| 久久免费观看视频| 欧美日韩在线中文字幕| 欧美色窝79yyyycom| 亚洲精品久久久久久国| 高清视频一区二区| 日日橹狠狠爱欧美超碰| 欧美亚洲国产一区| 亚洲字幕一区二区| 久热在线观看视频| 亚洲无亚洲人成网站77777| 亚洲综合网av| 亚洲v日本v欧美v久久精品| 素人fc2av清纯18岁| 蜜臀av性久久久久蜜臀aⅴ流畅 | 麻豆国产在线| 中文字幕日本欧美| 亚洲精品久久久狠狠狠爱 | 国产精品特级毛片一区二区三区| 亚洲激情在线激情| 91国模少妇一区二区三区| 蜜桃av一区二区在线观看| 国产成人生活片| 九九久久精品| 51国偷自产一区二区三区的来源| 热三久草你在线| 久久精品国产欧美激情| 天天干天天干天天干| 欧美日韩亚洲综合在线| 日本一级淫片色费放| 国产精品另类一区| 亚洲成人av免费在线观看| 激情欧美日韩一区二区| 国产精品va无码一区二区| 99久久久久国产精品| 狠狠色综合一区二区| 9999精品| 国产精品99导航| av漫画网站在线观看| www国产精品视频| 色天堂在线视频| 精品国产精品一区二区夜夜嗨| 欧美成人一区二区视频| 富二代精品短视频| 国产1区2区3区4区| 国产精品污www在线观看| 性久久久久久久久久久| 国产做a爰片久久毛片| 日本成人在线免费视频| 亚洲国产欧美国产综合一区| 中国一级黄色录像| 不卡一区综合视频| 欧美日韩一区二区三| 国产成人精品福利| 91精品国产91久久久久青草| 日韩制服一区| 日本三级韩国三级久久| 天堂√8在线中文| 国内揄拍国内精品少妇国语| av在线免费观看网址| www.美女亚洲精品| √新版天堂资源在线资源| 亚洲欧美综合另类中字| 天天综合天天综合| 日韩电影在线观看永久视频免费网站| www.热久久| 日韩三级高清在线| 国产毛片一区二区三区va在线 | 日韩精品一区二区三区免费观看| 久久一区二区三区av| 欧美亚洲色图校园春色| 国产一区二区不卡视频| 精品国产三区在线| 91中文字幕在线| 99精品视频在线免费播放| 国产精品直播网红| 狂野欧美性猛交xxxx| 欧美va天堂va视频va在线| 日本中文字幕亚洲| 女人色偷偷aa久久天堂| 一个色的综合| 国产精品传媒精东影业在线| 日韩欧美国产小视频| 97人人模人人爽人人喊38tv| 成人video亚洲精品| xxxx欧美18另类的高清| 在线观看免费黄视频| 中文字幕亚洲一区二区三区五十路| 高清福利在线观看| 中文字幕日韩高清| 亚洲1卡2卡3卡4卡乱码精品| 日韩在线视频一区| 欧美成年黄网站色视频| 久久天天躁夜夜躁狠狠躁2022| 日本中文字幕在线看| 久久精品成人一区二区三区 | 久久亚洲综合色一区二区三区| 素人fc2av清纯18岁| 国产丝袜欧美中文另类| 国产精品av久久久久久无| 国产精品视频在线看| 99鲁鲁精品一区二区三区| 亚洲欧洲综合另类| 九九久久免费视频| 精品久久久中文| 亚洲国产成人精品女人久久| 91国偷自产一区二区三区成为亚洲经典| 久久精品五月天| 宅男噜噜噜66一区二区66| 午夜精品在线播放| 亚洲男人天堂古典| 日本不卡不卡| 高清欧美性猛交| 日韩大尺度黄色| 成人欧美一区二区三区黑人孕妇| 中文字幕一区二区三区日韩精品| 精品在线不卡| 97久久视频| 我的公把我弄高潮了视频| 天使萌一区二区三区免费观看| 久久黄色片网站| 成人免费高清视频| 欧美午夜激情影院| 亚洲精品国产a久久久久久 | 噜噜噜躁狠狠躁狠狠精品视频 | 高清久久精品| 久久资源av| 欧美99久久| 热久久精品国产| 高清国产午夜精品久久久久久| 丰满少妇在线观看资源站| √…a在线天堂一区| 在线观看精品国产| 欧美精品久久一区| 欧美少妇另类| 欧美精品精品精品精品免费| 全亚洲第一av番号网站| 999国内精品视频在线| 免费av一区| 蜜臀在线免费观看| 日本伊人午夜精品| 亚洲av无码一区二区三区网址 | 99久久久成人国产精品| 鲁丝片一区二区三区| 你懂的国产精品| 在线观看免费黄网站| 91在线视频免费观看| www.超碰在线观看| 欧美亚男人的天堂| 视频一区二区三区在线看免费看| 精品国产一区二区在线| 久久精品女人天堂av免费观看| 97久久人人超碰caoprom欧美| 九色成人国产蝌蚪91| r级无码视频在线观看| 韩国视频一区二区| 长河落日免费高清观看| 色哟哟国产精品| 污污视频在线免费看| 欧美激情视频免费观看| 9999精品| 四虎永久免费网站| 久久精品国产亚洲a| avhd101老司机| 一本一本大道香蕉久在线精品| 日韩有码第一页| 欧美激情一区二区三区在线视频观看 | 欧美一区2区三区4区公司二百| 91日韩免费| 日本免费观看网站| 国产欧美一区二区在线| 黄色一级视频免费看| 亚洲美女av在线播放| 中老年在线免费视频| 久久伦理网站| 欧美一区=区| 中国美女乱淫免费看视频| 欧美日韩裸体免费视频| 亚洲欧洲精品视频| 欧美亚州一区二区三区| 天美av一区二区三区久久| 欧美亚洲精品一区二区| 91在线播放网址| 国产无遮挡呻吟娇喘视频| 日韩精品在线看| 国产综合色区在线观看| 色之综合天天综合色天天棕色| 奇米色777欧美一区二区| 国产真人真事毛片视频| 欧美日韩一级二级| 成人免费网站在线观看视频| 亚洲最大的网站| 亚洲人成人一区二区三区| 亚洲中文字幕一区| 91高清在线观看| 日本三级视频在线观看| 91亚洲精品在线观看| 国产一区久久| 国产ts丝袜人妖系列视频| 在线精品视频免费观看| 午夜激情视频在线| 91久久久一线二线三线品牌| 一区在线免费观看| 丰满少妇一区二区| 欧美日韩卡一卡二| 婷婷在线播放| 欧美lavv| 另类的小说在线视频另类成人小视频在线 | 成人香蕉视频| 婷婷久久五月天| 国产精品一级在线| 日本三级理论片| 亚洲香蕉成视频在线观看| 亚洲综合资源| av高清在线免费观看| 国产欧美精品一区| 国产成人精品无码高潮| 欧美中文在线字幕| 99久久.com| 中文字幕av观看| 欧美精品黑人性xxxx| 超碰在线网站| 亚洲一二三区在线| 99久久精品免费看| 在线观看不卡的av| **欧美日韩vr在线| 羞羞色午夜精品一区二区三区| 丰满少妇一区二区三区| 日韩一区二区电影在线| 欧美日韩视频网站| 久久手机在线视频|