亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

MongoDB分片是什么?一文帶你深入明白MongoDB分片

2024-09-07 00:22:31
字體:
來源:轉載
供稿:網友
       MongoDB分片是什么?很多剛接觸MongoDB數據庫的朋友可能對于MongoDB分片不是很清楚,下面小編就給大家介紹一下MongoDB分片的相關內容,感興趣的朋友可以了解一下。
 
       分片是MongoDB的擴展方式,通過分片能夠增加更多的機器來用對不斷增加的負載和數據,還不影響應用.
 
       1.分片簡介
 
       分片是指將數據拆分,將其分散存在不同機器上的過程.有時也叫分區(qū).將數據分散在不同的機器上,不需要功能強大的大型計算機就可以存儲更多的數據,處理更大的負載。使用幾乎所有數據庫軟件都能進行手動分片,應用需要維護與若干不同數據庫服務器的連接,每個連接還是完全獨立的。應用程序管理不同服務器上的不同數據,存儲查村都需要在正確的服務器上進行.這種方法可以很好的工作,但是也難以維護,比如向集群添加節(jié)點或從集群刪除節(jié)點都很困難,調整數據分布和負載模式也不輕松。MongoDB支持自動分片,可以擺脫手動分片的管理.集群自動切分數據,做負載均衡.
 
        2.MongoDB的自動分片
 
       MongoDB分片的基本思想就是將集合切分成小塊.這些塊分散到若干片里面,每個片只負責總數據的一部分.應用程序不必知道哪片對應哪些數據,甚至不需要知道數據已經被拆分了,所以在分片之前要運行一個路由進程,進程名mongos,這個路由器知道所有數據的存放位置,所以應用可以連接它來正常發(fā)送請求.對應用來說,它僅知道連接了一個普通的mongod.路由器知道和片的對應關系,能夠轉發(fā)請求到正確的片上.如果請求有了回應,路由器將其收集起來回送給應用.在沒有分片的時候,客戶端連接mongod進程,分片時客戶端會連接mongos進程.mongos對應用隱藏了分片的細節(jié).
 
       從應用的角度看,分片和不分片沒有區(qū)別.所以需要擴展的時候,不必修改應用程序的代碼。不分片的客戶端連接:
 
       分片的客戶端連接:
 
       什么時候需要分片:
 
       a.機器的磁盤不夠用了
 
       b.單個mongod已經不能滿足些數據的性能需要了
 
       c.想將大量數據放在內存中提高性能
 
       一般來說,先要從不分片開始,然后在需要的時候將其轉換成分片.
 
       3.片鍵
 
       設置分片時,需要從集合里面選一個鍵,用該鍵的值作為數據拆分的依據.這個鍵成為片鍵.假設有個文檔集合表示的是人員,如果選擇名字"name"做為片鍵,第一篇可能會存放名字以A-F開頭的文檔.第二片存G-P開頭的文檔,第三篇存Q-Z的文檔.隨著增加或刪除片,MongoDB會重新平衡數據,是每片的流量比較均衡,數據量也在合理范圍內(如流量較大的片存放的數據或許會比流量下的片數據要少些)
 
        4.將已有的集合分片假設有個存儲日志的集合,現在要分片.我們開啟分片功能,然后告訴MongoDB用"timestamp"作為片鍵,就要所有數據放到了一個片上.可以隨意插入數據,但總會是在一個片上.然后,新增一個片.這個片建好并運行了以后,MongoDB就會把集合拆分成兩半,成為塊.每個塊中包含片鍵值在一定范圍內的所有文檔,假設其中一塊包含時間戳在2011.11.11前的文檔,則另一塊含有2011.11.11以后的文檔.其中一塊會被移動到新片上.如果新文檔的時間戳在2011.11.11之前,則添加到第一塊,否則添加到第二塊.
 
        5.遞增片鍵還是隨機片鍵
 
       片鍵的選擇決定了插入操作在片之間的分布.如果選擇了像"timestamp"這樣的鍵,這個值可能不斷增長,而且沒有太大的間斷,就會將所有數據發(fā)送到一個片上(含有2011.11.11以后日期的那片).如果有添加了新片,再拆分數據,還是會都導入到一臺服務器上.添加了新片,MongoDB肯能會將2011.11.11以后的拆分成2011.11.11-2021.11.11.如果文檔的時間大于2021.11.11以后,所有的文檔還會以最后一片插入.這就不適合寫入負載很高情況,但按照片鍵查詢會非常高效。
 
       如果寫入負載比較高,想均勻分散負載到各個片,就得選擇分布均勻的片鍵。日志例子中時間戳的散列值,沒有模式的"logMessage"都是復合這個條件的.不論片鍵隨機跳躍還是穩(wěn)定增加,片鍵的變化很重要.如,如果有個"logLevel"鍵的值只有3種值"DEBUG","WARN","ERROR",MongoDB無論如何也不能把它作為片鍵將數據分成多于3片(因為只有3個值).如果鍵的變化太少,但又想讓其作為片鍵,可以把這個鍵與一個變化較大的鍵組合起來,創(chuàng)建一個復合片鍵,如"logLevel"和"timestamp"組合.選擇片鍵并創(chuàng)建片鍵很像索引,以為二者原理相似.事實上,片鍵也是最常用的索引.
 
        6.片鍵對操作的影響
 
       最終用戶應該無法區(qū)分是否分片,但是要了解選擇不同片鍵情況下的查詢有何不同.
 
       假設還是那個表示人員的集合,按照"name"分片,有3個片,其名字首字母的范圍是A-Z.下面以不同的方式查詢:
 
db.people.find({"name":"Refactor"})
       mongos會將這個查詢直接發(fā)送給Q-Z片,獲得響應后,直接轉發(fā)給客戶端
 
db.people.find({"name":{"$lt":"L"}})
       mongos會將其先發(fā)送給A-F和G-P片,然后將結果轉發(fā)給客戶端.
 
db.people.find().sort({"email":1})
       mongos會在所有片上查詢,返回結果時還會做歸并排序,確保結果順序正確.
 
       mongos用游標從各個服務器上獲取數據,所以不必等到全部數據都拿到才向客戶端發(fā)送批量結果.
 
db.people.find({"email":re@msn.cn})
       mongos并不追蹤"email"鍵,所以也不知道應該將查詢發(fā)給那個片.所以他就向所有片順序發(fā)送查詢.
 
       如果是插入文檔,mongos會依據"name"鍵的值,將其發(fā)送到相應的片上.
 
        7.建立分片
 
       建立分片有兩步:啟動實際的服務器,然后決定怎么切分數據.
 
       分片一般會有3個組成部分:
 
       a.片
 
       片就是保存子集合數據的容器,片可是單個的mongod服務器(開發(fā)和測試用),也可以是副本集(生產用).所以一片有多臺服務器,也只能有一個主服務器,其他的服務器保存相同的數據.
 
       b.mongos
 
       mongos就是MongoDB配的路由器進程.它路由所有的請求,然后將結果聚合.它本身并不存儲數據或者配置信息但會緩存配置服務器的信息.
 
       c.配置服務器
 
       配置服務器存儲了集群的配置信息:數據和片的對應關系.mongos不永久存房數據,所以需要個地方存放分片的配置.它會從配置服務器獲取同步數據.
 
        8.啟動服務器
 
       首先要啟動配置服務器和mongos.配置服務器需要先啟動.因為mongos會用到其上的配置信息.配置服務器的啟動就像普通的mongod一樣
 
       mongod --dbpath "F:/mongo/dbs/config" --port 20000 --logpath "F:/mongo/logs/config/MongoDB.txt" --rest
 
       配置服務器不需要很多的空間和資源(200M實際數據大約占用1kB的配置空間) 建立mongos進程,一共應用程序連接.這種路由服務器連接數據目錄都不需要,但一定要指明配置服務器的位置:
 
       mongos --port 30000 --configdb 127.0.0.1:20000 --logpath "F:/mongo/logs/mongos/MongoDB.txt"
 
       分片管理通常是通過mongos完成的.
 
       添加片
 
       片就是普通的mongod實例(或副本集)
 
       mongod --dbpath "F:/mongo/dbs/shard" --port 10000 --logpath "F:/mongo/logs/shard/MongoDB.txt" --rest
 
       mongod --dbpath "F:/mongo/dbs/shard1" --port 10001 --logpath "F:/mongo/logs/shard1/MongoDB.txt" --rest
 
       連接剛才啟動的mongos,為集群添加一個片.啟動shell,連接mongos:
 
       確定連接的是mongos而不是mongod,通過addshard命令添加片:
 
>mongo 127.0.0.1:30000
 
mongos> db.runCommand(
... {
... "addshard":"127.0.0.1:10000",
... "allowLocal":true
... }
... )
Sat Jul 21 10:46:38 uncaught exception: error { "$err" : "can't find a shard to
put new db on", "code" : 10185 }
mongos> use admin
switched to db admin
mongos> db.runCommand(
... {
... "addshard":"127.0.0.1:10000",
... "allowLocal":1
... }
... )
{ "shardAdded" : "shard0000", "ok" : 1 }
 
mongos> db.runCommand(
... {
... "addshard":"127.0.0.1:10001",
... "allowLocal":1
... }
... )
{ "shardAdded" : "shard0001", "ok" : 1 }
       當在本機運行片的時候,得設定allowLocal鍵為1.MongoDB盡量避免由于錯誤的配置,將集群配置到本地,所以得讓它知道這僅僅是開發(fā),而且我們很清楚自己在做什么.如果是生產環(huán)境中,則要將其部署在不同的機器上.想添加片的時候,就運行addshard.MongoDB會負責將片集成到集群.
 
       切分數據
 
       MongoDB不會將存儲的每一條數據都直接發(fā)布,得先在數據庫和集合的級別將分片功能打開.
 
       如果是連接配置服務器,
 
E:/mongo/bin>mongo 127.0.0.1:20000
MongoDB shell version: 2.0.6
connecting to: 127.0.0.1:20000/test
> use admin
switched to db admin
> db.runCommand({"enablesharding":"test"})
{
"errmsg" : "no such cmd: enablesharding",
"bad cmd" : {
"enablesharding" : "test"
},
"ok" : 0
}
 
       應該是連接 路由服務器:
 
       db.runCommand({"enablesharding":"test"})//將test數據庫啟用分片功能.對數據庫分片后,其內部的集合便會存儲到不同的片上,同時也是對這些集合分片的前置條件.在數據庫級別啟用了分片以后,就可以使用shardcollection命令堆積和進行分片:
 
db.runCommand({"shardcollection":"test.refactor","key":{"name":1}})//對test數據庫的refactor集合進行分片,片鍵是name
 
       如果現在對refactor集合添加數據,就會依據"name"的值自動分散到各個片上.
 
       9.生產配置
 
       進入生產環(huán)境后,需要更健壯的分片方案,成功的構建分片需要如下條件:
 
       多個配置服務器
 
       多個mongos服務器
 
       每個片都是副本集
 
       正確的設置w
 
       健壯的配置
 
       設置多個配置服務器是很簡單的.
 
       設置多個配置服務器和設置一個配置服務器一樣
 
mongod --dbpath "F:/mongo/dbs/config" --port 20000 --logpath "F:/mongo/logs/config/MongoDB.txt" --rest
 
mongod --dbpath "F:/mongo/dbs/config1" --port 20001 --logpath "F:/mongo/logs/config1/MongoDB.txt" --rest
 
mongod --dbpath "F:/mongo/dbs/config2" --port 20002 --logpath "F:/mongo/logs/config2/MongoDB.txt" --rest
       啟動mongos的時候應將其連接到3個配置服務器上:
 
mongos --port 30000 --configdb 127.0.0.1:20000,127.0.0.1:20001,127.0.0.1:20002 --logpath "F:/mongo/logs/mongos/MongoDB.txt"
       配置服務器使用的是兩步提交機制,而不是普通的MongoDB的異步復制,來維護集群配置的不同副本.這樣能保證集群的狀態(tài)的一致性.這意味著,某臺配置服務器宕機后,集群的配置信息是只讀的.客戶端還是能夠讀寫,但是只有所有配置服務器備份了以后才能重新均衡數據.
 
       多個mongos
 
       mongos的數量不受限制,建議針對一個應用服務器只運行一個mongos進程.這樣每個應用服務器就可以與mongos進行本地回話,如果服務器不工作了,就不會有應用試圖與不存的mongos通話了
 
       健壯的片
 
       生產環(huán)境中,每個片都應是副本集,這樣單個服務器壞了,就不會導致整個片失效.用addshard命令就可以將副本集作為片添加,添加時,只要指定副本集的名稱和種子就行了.如要添加副本集refactor,其中包含一個服務器127.0.0.1:10000(還有別的服務器),就可以用下列命令將其添加到集群中:
 
db.runCommand({"addshard":"refactor/127.0.0.1:10000"})
       如果127.0.0.1:10000服務器掛了,mongos會知道它所連接的是一個副本集,并會使用新的主節(jié)點.
 
       10.管理分片
 
       分片信息主要存放在config數據庫上,這樣就能被任何連接到mongos的進程訪問到了.
 
       配置集合
 
       在shell中連接了mongos,并使用了use config數據庫
 
       a.片
 
       可以在shareds集合中查到所有的片
 
db.shards.find()
       b.數據庫
 
       databases集合含有已經包含在片上的數據庫列表和一些相關信息
 
db.databases.find()
       返回的文檔解釋:
 
       "_id"
 
       表示數據庫名
 
       "partitioned"
 
       表示是否啟用了分片功能
 
       "primary"
 
       這個值與"_id"相對應,表名這個數據的"大本營"在哪里.不論分片與否,數據庫總會有個大本營.要是分片的話,創(chuàng)建數據庫時會隨機選擇一個片.也就是說,大本營是開始創(chuàng)建數據庫文檔的位置.雖然分片時數據庫也會用到很多別的服務器,但會從這個片開始.
 
       c.塊
 
       塊信息存儲在chunks集合中.這可以看到數據到底是怎么切分到集群中的
 
db.chunks.find()
       分片命令
 
       獲得概要
 
db.printShardingStatus()
       刪除片
 
       用removeshard就能從集群中刪除片.removeshard會把給定片上的所有塊的數據都挪到其他片上db.runCommand({"removeshard":"127.0.0.1:10001"})在挪動過程中,removeshard會顯示進程.

(編輯:武林網)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
中文字幕一区二区三区在线乱码| 亚洲精品2区| 日韩一区二区三区在线播放| 天天干天天操天天拍| 少妇一级淫免费放| 日本少妇裸体做爰| 国产精品熟妇一区二区三区四区| 欧美日韩国产另类一区| 欧美黑人性受xxxx喷水| 精品久久香蕉国产线看观看亚洲| 久久精品无码中文字幕| 国产亚洲一区精品| 婷婷中文字幕在线观看| 久久成人久久鬼色| 91sao在线观看国产| 精品人妻一区二区三区香蕉| 欧美一区二区三区成人精品| 成人av免费在线播放| 视频一区二区三区免费观看| 国产午夜久久久久| 老太做爰xxxx| 99久久婷婷| 亚洲精品午夜国产va久久成人| 亚洲精品97久久中文字幕| 中文字幕在线亚洲三区| 国产99久久久久久免费看| 伊人影院在线观看视频| 视频免费一区二区| 亚洲精品天天看| 免费观看成人毛片| 永久亚洲成a人片777777| 日韩精品在线看| 国产三区视频在线观看| 欧美激情一区二区三区四区| 亚洲ai欧洲av| 亚洲综合小说| 九九热免费在线| 久久久久久久久一区二区| 91精品婷婷国产综合久久竹菊| 欧美成人欧美edvon| 成人国产精品久久久网站| 国产无套精品一区二区三区| 亚洲黄网在线观看| 一个色在线综合| 久久午夜影视| 中文字幕一区二区三区四区五区六区| 国产freexxxx性播放麻豆| 新版中文字幕在线资源| 一区二区不卡在线播放| 国产免费人做人爱午夜视频| 欧美一区二区三区四区五区六区| 美女裸体自慰在线观看| 欧美激情视频一区二区三区免费| 女人18毛片毛片毛片毛片区二| 日本人视频jizz页码69| av在线不卡播放| 久久香蕉综合色一综合色88| 手机在线观看日韩av| 免费在线看电影| 精品视频1区2区| 99热这里只有精品8| 亚洲综合成人在线| 美女精品在线| 国产婷婷色一区二区三区| 九九热精品在线视频| 成人一区二区在线观看| 99精品欧美| aa视频在线免费观看| www.麻豆| 国产极品jizzhd欧美| 深夜福利久久| 色欲狠狠躁天天躁无码中文字幕| 亚洲一区二区三区中文字幕| 国产男女在线观看| 在线观看一区二区三区视频| 国产成人欧美在线观看| 新的色悠悠久久久| 亚洲精品一区二区三区区别| 日韩一卡二卡三卡| 精品999在线播放| 日本亚洲色大成网站www久久| 亚洲女同同性videoxma| 久久99国产精品自在自在app| 国产伦精品一区二区三区免费迷| 久久av免费看| 制服丝袜一区二区三区| 亚洲欧美日本韩国| 日韩专区在线观看| 日韩二区三区| 亚洲一区免费| 亚洲综合无码一区二区| 成人h动漫精品一区| 成人午夜精品福利免费| 成人日韩在线| 农村妇女精品一二区| 伊人影院在线视频| 激情自拍一区| 亚洲成人你懂的| 侵犯稚嫩小箩莉h文系列小说| 最新国产精品视频| 国产色婷婷亚洲99精品小说| 992在线观看| 国产va在线观看| 国产女无套免费视频| 97精品伊人久久久大香线蕉| 自拍av在线| 永久亚洲成a人片777777| 免费毛片在线看片免费丝瓜视频| 一广人看www在线观看免费视频| 91精品在线观看入口| 97久久超碰国产精品| 久久久人成影片免费观看| 欧美激情不卡| 欧美一区二区三区免费视| 蜜桃视频在线播放| 国产区在线观看成人精品| 国产精品欧美在线观看| 中文字幕亚洲欧美在线不卡| 成人免费视频国产在线观看| 五月色婷婷综合| 九九九在线视频| 色视频www在线播放国产成人| 日韩偷拍自拍| 欧美一区91| 欧美videos另类齐全| 亚洲少妇中出一区| caoporn国产精品免费公开| 国产清纯美女被跳蛋高潮一区二区久久w| 永久免费观看精品视频| 免费高清视频在线一区| chinesegaysextube| 91成人精品| 日本午夜精品久久久久| 久久视频国产| 亚洲欧美在线免费| 0608新视觉| 中日韩精品视频在线观看| 国产在线视频自拍| 亚洲精品a区| 亚洲在线免费视频| 奇门遁甲1982国语版免费观看高清| 三级影片在线观看| 一区2区3区在线看| 91网站免费看| 国产成人精品一区二区三区视频| 欧美成人一区二免费视频软件| 日韩有吗在线观看| 国产精品无码在线播放| 国产一区二区三区久久| 男人添女荫道口图片| 欧美一级特黄视频| 亚洲全部视频| 蜜臀av性久久久久蜜臀av| 久久久久国产精品一区二区| 国产精品亚洲片夜色在线| 诱人的瑜伽老师3hd中字| 欧美性生活大片视频| 日本中文字幕久久看| 精品国内产的精品视频在线观看| 国产婷婷一区二区三区久久| www黄在线观看| 精品久久99ma| 宅男网站在线免费观看| 国产成人三级一区二区在线观看一| 国产精品亚洲综合天堂夜夜| 一本一本久久a久久精品综合麻豆| 欧美粗大gay| 国产成人精品电影| 午夜激情福利网| 亚洲第一网站男人都懂| 欧美黄色一级大片| av电影一区| 国产自产视频一区二区三区| av直播在线观看| 亚洲日本中文字幕| 精品无码久久久久久国产| 欧美性色黄在线视频| 国产成人在线视频免费观看| 中文在线资源天堂| 在这里有精品| 亚洲欧美日韩中文视频| 午夜免费一区| 国产免费大片| 亚洲男女网站| 奇米影视777在线欧美电影观看| 国产精品扒开腿做爽爽爽a片唱戏| 欧美一级黄色大片| 亚洲午夜网未来影院| 后入内射欧美99二区视频| 变态另类丨国产精品| 伊人影院在线观看| 久久精品无码一区二区三区| 美美哒免费高清在线观看视频一区二区| 中文在线a天堂| 久久夜色精品国产噜噜亚洲av| 国产草草浮力影院| 亚洲成人tv| 六月丁香综合网| 欧美精品中文字幕亚洲专区| 中文字幕久久一区| 欧美区二区三区| 国产伦精品一区二区三区妓女| 91色porny在线视频| 日韩电影在线观看中文字幕| 在线观看黄网站免费继续| 中文在线最新版地址| 国产精品天美传媒| 日本一区二区不卡高清更新| 色偷偷亚洲女人天堂观看欧| 久久66热re国产| 国产91在线播放精品91| 亚洲v日韩v欧美v综合| 久久久久久久久久网站| 韩日欧美一区二区三区| 丁香激情综合国产| 9999精品成人免费毛片在线看| 亚洲国产精品热久久| 欧美性感一区二区三区| 国产精品9999久久久久仙踪林| 久久精彩免费视频| 再深点灬舒服灬太大了添少妇视频| 国产精品高清在线| 大桥未久av一区二区三区| 久久久伊人欧美| 婷婷综合久久中文字幕蜜桃三电影| 国产女同性恋一区二区| 97精品国产aⅴ7777| 麻豆传媒一区二区三区| 国产在线精品一区| 久久久久久久伊人| 天堂网在线观看在线观看精品| 日韩中文字幕视频网| caoporn-草棚在线视频最| 日韩电影在线观看完整免费观看| 免费成人深夜蜜桃视频| 国产高清www| 精品久久久久成人码免费动漫| 国产av人人夜夜澡人人爽| 亚洲综合久久av一区二区三区| 国产欧美日本一区二区三区| 亚洲不卡系列| 日韩特黄一级片| 亚洲免费视频一区二区三区| 国产美女网站在线观看| 欧美极品美女视频网站在线观看免费| 色综合久久88色综合天天免费| 国产精品乱码久久久久| 亚洲欧美丝袜中文综合| 国产一区二区中文| 国产高清视频一区| 国产精品福利一区二区| 永久www成人看片| 午夜久久久久久电影| 欧美乱大交xxxxx在线观看| 51国偷自产一区二区三区| 国产一区二区成人| 永久免费毛片在线观看| 成人无遮挡免费网站视频在线观看| 精品成人在线视频| 久久狠狠高潮亚洲精品| 亚洲欧洲综合在线| 国产日韩欧美| 91美女在线免费观看| 手机看片日韩av| 成人综合久久| 亚洲欧美国产精品久久久久久久| 狠狠人妻久久久久久综合麻豆| 特一级黄色录像| 午夜一区二区三区不卡视频| 亚洲免费视频中文字幕| 欧美成人精品一区二区综合免费| 美日韩丰满少妇在线观看| 亚洲视频小说图片| 亚洲午夜一区二区| 成人av网站在线观看| 精品久久久久久久久久ntr影视| 亚洲成a人片77777kkkk| 成人黄色在线看| 久久99久久久精品欧美| 91国语精品自产拍| 翔田千里一区| 一区二区三区在线观看www| 欧美精品久久96人妻无码| 男女性高潮免费网站| 看av免费毛片手机播放| 国产区在线视频| 久久久久久国产视频| 日韩毛片一区二区三区| 国新精品乱码一区二区三区18| 香蕉视频xxx| 动漫一区二区在线| 88国产精品视频一区二区三区| 中文字幕乱码一区二区免费| 天天综合久久综合| 美女少妇精品视频| 人九九综合九九宗合| 在线观看视频亚洲| 久久性色av| 欧美性xxxxxxx| 欧美丰满熟妇bbbbbb| 一分钟免费观看视频播放www| 亚洲va在线观看| 一级全黄少妇性色生活片| 2024最新电影在线免费观看| 国模杨依粉嫩蝴蝶150p| www.在线欧美| 日韩欧美不卡在线| 中文字幕www| 久久er这里只有精品| 国产日产欧美a一级在线| 欧洲成人综合网| 肉色欧美久久久久久久免费看| 日韩在线导航| 97精品国产一区二区三区| 久久久蜜桃一区二区人| 欧美激情女人20p| 老牛影视av牛牛影视av| 26uuu另类亚洲欧美日本老年| 亚洲图片第一页| 深夜激情久久| 伊人久久大香伊蕉在人线观看热v| 97超碰蝌蚪网人人做人人爽| 亚洲AV成人精品| 香蕉视频色在线观看| 欧美乱大交做爰xxxⅹ小说| 欧美熟妇交换久久久久久分类| 国产一级在线观看视频| 国产酒店精品激情|