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

視覺中國的NoSQL之路:從MySQL到MongoDB

數據庫 其他數據庫 MongoDB
本文講述了作者為什么要放棄MySQL,而選擇NoSQL;在眾多NoSQL的方案中,為什么最終確定使用MongoDB的過程。

起因

視覺中國網站(www.chinavisual.com)是國內最大的創意人群的專業網站。2009年以前,同很多公司一樣,我們的CMS和社區產品都構建于PHP+Nginx+MySQL之上;MySQL使用了Master+Master的部署方案;前端使用自己的PHP框架進行開發;Memcached作為緩存;Nginx進行Web服務和負載均衡;Gearman進行異步任務處理。在傳統的基于靜態內容(如文章,資訊,帖子)的產品,這個體系運行良好。通過分級的緩存,數據庫端實際負載很輕。2009年初,我們進行了新產品的開發。此時,我們遇到了如下一些問題。

用戶數據激增:我們的MySQL某個信息表上線1個月的數據就達到千萬。我們之前忽略的很多數據,在新形勢下需要跟蹤記錄,這也導致了數據量的激增;

用戶對于信息的實時性要求更高:對信息的響應速度和更新頻度就要求更高。簡單通過緩存解決的靈丹妙藥不復存在;

對于Scale-out的要求更高:有些創新產品的增長速度是驚人的。因此要求能夠無痛的升級擴展,否則一旦停機,那么用戶流失的速度也是驚人的;

大量文件的備份工作:我們面向的是創意人群,產生的內容是以圖片為主。需要能夠對這些圖片及不同尺寸的縮略圖進行有效的備份管理。我們之前使用的Linux inotify+rsync的增量備份方案效果不佳;

需求變化頻繁:開發要更加敏捷,開發成本和維護成本要更低,要能夠快速地更新進化,新功能要在最短的周期內上線。

最初,我們試圖完全通過優化現有的技術架構來解決以上問題:對數據時效性進一步分級分層緩存,減小緩存粒度;改進緩存更新機制(線上實時和線下異步更新)提高緩存命中率;嘗試對業務數據的特點按照水平和垂直進行分表;使用MogileFS進行分布存儲;進一步優化Mysql的性能,同時增加MySQL節點等。但很快發現,即便實施了上述方案,也很難完全解決存在的問題:過度依賴Memcached導致數據表面一致性的維護過于復雜,應用程序開發需要很小心,很多時候出現Memcached的失效會瞬間導致后端數據庫壓力過大;不同類型數據的特點不同,數據量差別也很大;分表的機制和方式在效率平衡上很難取舍;MogileFS對我們而言是腳小鞋大,維護成本遠遠超過了實際的效益;引入更多的MySQL數據庫節點增大了我們的維護量,如何有效監控和管理這些節點又成了新的問題。雖然虛擬化可以解決部分問題,但還是不能令人滿意;

除了MySQL,能否找到一個更為簡單、輕便的瑞士軍刀呢?我們的目光投向了NoSQL的方案。

候選方案

最初,對于NoSQL的候選方案,我依據關注和熟悉程度,并且在甄別和選擇合適的方案時特別制定了一些原則:是否節省系統資源,對于CPU等資源是否消耗過大;客戶端/API支持,這直接影響應用開發的效率;文檔是否齊全,社區是否活躍;部署是否簡單;未來擴展能力。按以上幾點經過一段測試后,我們候選名單中剩下Redis、MongoDB和Flare。

Redis對豐富數據類型的操作很吸引人,可以輕松解決一些應用場景,其讀寫性能也相當高,唯一缺點就是存儲能力和內存掛鉤,這樣如果存儲大量的數據需要消耗太多的內存(最新的版本已經不存在這個問題)。

Flare的集群管理能力令人印象深刻,它可以支持節點的動態部署,支持節點的基于權重的負載均衡,支持數據分區。同時允許存儲大的數據,其key的長度也不受Memcached的限制。而這些對于客戶端是透明的,客戶端使用Memcached協議鏈接到Flare的proxy節點就可以了。由于使用集群,Flare支持fail-over,當某個數據節點宕掉,對于這個節點的訪問都會自動被proxy節點forward到對應的后備節點,恢復后還可以自動同步。Flare的缺點是實際應用案例較少,文檔較為簡單,目前只在Geek使用。

以上方案都打算作為一個優化方案,我從未想過完全放棄MySQL。然而,用MongoDB做產品的設計原型后,我徹底被征服了,決定全面從MySQL遷移到MongoDB。

為什么MongoDB可以替代MySQL?

MongoDB是一個面向文檔的數據庫,目前由10gen開發并維護,它的功能豐富,齊全,完全可以替代MySQL。在使用MongoDB做產品原型的過程中,我們總結了MonogDB的一些亮點:

使用JSON風格語法,易于掌握和理解:MongoDB使用JSON的變種BSON作為內部存儲的格式和語法。針對MongoDB的操作都使用JSON風格語法,客戶端提交或接收的數據都使用JSON形式來展現。相對于SQL來說,更加直觀,容易理解和掌握。

Schema-less,支持嵌入子文檔:MongoDB是一個Schema-free的文檔數據庫。一個數據庫可以有多個Collection,每個Collection是Documents的集合。Collection和Document和傳統數據庫的Table和Row并不對等。無需事先定義Collection,隨時可以創建。

Collection中可以包含具有不同schema的文檔記錄。 這意味著,你上一條記錄中的文檔有3個屬性,而下一條記錄的文檔可以有10個屬性,屬性的類型既可以是基本的數據類型(如數字、字符串、日期等),也可以是數組或者散列,甚至還可以是一個子文檔(embed document)。這樣,可以實現逆規范化(denormalizing)的數據模型,提高查詢的速度。

 

圖1 MongoDB是一個Schema-free的文檔數據庫

圖2是一個例子,作品和評論可以設計為一個collection,評論作為子文檔內嵌在art的comments屬性中,評論的回復則作為comment子文檔的子文檔內嵌于replies屬性。按照這種設計模式,只需要按照作品id檢索一次,即可獲得所有相關的信息了。在MongoDB中,不強調一定對數據進行Normalize ,很多場合都建議De-normalize,開發人員可以扔掉傳統關系數據庫各種范式的限制,不需要把所有的實體都映射為一個Collection,只需定義最頂級的class。MongoDB的文檔模型可以讓我們很輕松就能將自己的Object映射到collection中實現存儲。

 


圖2 MongoDB支持嵌入子文檔

簡單易用的查詢方式:MongoDB中的查詢讓人很舒適,沒有SQL難記的語法,直接使用JSON,相當的直觀。對不同的開發語言,你可以使用它最基本的數組或散列格式進行查詢。配合附加的operator,MongoDB支持范圍查詢,正則表達式查詢,對子文檔內屬性的查詢,可以取代原來大多數任務的SQL查詢。

CRUD更加簡單,支持in-place update:只要定義一個數組,然后傳遞給MongoDB的insert/update方法就可自動插入或更新;對于更新模式,MongoDB支持一個upsert選項,即:“如果記錄存在那么更新,否則插入”。MongoDB的update方法還支持Modifier,通過Modifier可實現在服務端即時更新,省去客戶端和服務端的通訊。這些modifer可以讓MongoDB具有和Redis、Memcached等KV類似的功能:較之MySQL,MonoDB更加簡單快速。Modifier也是MongoDB可以作為對用戶行為跟蹤的容器。在實際中使用Modifier來將用戶的交互行為快速保存到MongoDB中以便后期進行統計分析和個性化定制。

所有的屬性類型都支持索引,甚至數組:這可以讓某些任務實現起來非常的輕松。在MongoDB中,“_id”屬性是主鍵,默認MongoDB會對_id創建一個唯一索引。

服務端腳本和Map/Reduce:MongoDB允許在服務端執行腳本,可以用Javascript編寫某個函數,直接在服務端執行,也可以把函數的定義存儲在服務端,下次直接調用即可。MongoDB不支持事務級別的鎖定,對于某些需要自定義的“原子性”操作,可以使用Server side腳本來實現,此時整個MongoDB處于鎖定狀態。Map/Reduce也是MongoDB中比較吸引人的特性。Map/Reduce可以對大數據量的表進行統計、分類、合并的工作,完成原先SQL的GroupBy等聚合函數的功能。并且Mapper和Reducer的定義都是用Javascript來定義服務端腳本。

性能高效,速度快: MongoDB使用c++/boost編寫,在多數場合,其查詢速度對比MySQL要快的多,對于CPU占用非常小。部署也很簡單,對大多數系統,只需下載后二進制包解壓就可以直接運行,幾乎是零配置。

支持多種復制模式: MongoDB支持不同的服務器間進行復制,包括雙機互備的容錯方案。

Master-Slave是最常見的。通過Master-Slave可以實現數據的備份。在我們的實踐中,我們使用的是Master-Slave模式,Slave只用于后備,實際的讀寫都是從Master節點執行。

Replica Pairs/Replica Sets允許2個MongoDB相互監聽,實現雙機互備的容錯。

MongoDB只能支持有限的雙主模式(Master-Master),實際可用性不強,可忽略。

內置GridFS,支持大容量的存儲:這個特點是最吸引我眼球的,也是讓我放棄其他NoSQL的一個原因。GridFS具體實現其實很簡單,本質仍然是將文件分塊后存儲到files.file和files.chunk 2個collection中,在各個主流的driver實現中,都封裝了對于GridFS的操作。由于GridFS自身也是一個Collection,你可以直接對文件的屬性進行定義和管理,通過這些屬性就可以快速找到所需要的文件,輕松管理海量的文件,無需費神如何hash才能避免文件系統檢索性能問題, 結合下面的Auto-sharding,GridFS的擴展能力是足夠我們使用了。在實踐中,我們用MongoDB的GridFs存儲圖片和各種尺寸的縮略圖。

 

圖3 MongoDB的Auto-sharding結構

內置Sharding,提供基于Range的Auto Sharding機制:一個collection可按照記錄的范圍,分成若干個段,切分到不同的Shard上。Shards可以和復制結合,配合Replica sets能夠實現Sharding+fail-over,不同的Shard之間可以負載均衡。查詢是對客戶端是透明的。客戶端執行查詢,統計,MapReduce等操作,這些會被MongoDB自動路由到后端的數據節點。這讓我們關注于自己的業務,適當的時候可以無痛的升級。MongoDB的Sharding設計能力最大可支持約20 petabytes,足以支撐一般應用。

第三方支持豐富: MongoDB社區非常活躍,很多開發框架都迅速提供了對MongDB的支持。不少知名大公司和網站也在生產環境中使用MongoDB,越來越多的創新型企業轉而使用MongoDB作為和Django,RoR來搭配的技術方案。

實施結果

實施MonoDB的過程是令人愉快的。我們對自己的PHP開發框架進行了修改以適應MongoDB。在PHP中,對MongoDB的查詢、更新都是圍繞Array進行的,實現代碼變得很簡潔。由于無需建表,MonoDB運行測試單元所需要的時間大大縮短,對于TDD敏捷開發的效率也提高了。當然,由于MongoDB的文檔模型和關系數據庫有很大不同,在實踐中也有很多的困惑,幸運的是,MongoDB開源社區給了我們很大幫助。最終,我們使用了2周就完成了從MySQL到MongoDB的代碼移植比預期的開發時間大大縮短。從我們的測試結果看也是非常驚人,數據量約2千萬,數據庫300G的情況下,讀寫2000rps,CPU等系統消耗是相當的低(我們的數據量還偏小,目前陸續有些公司也展示了他們的經典案例:MongoDB存儲的數據量已超過 50億,>1.5TB)。目前,我們將MongoDB和其他服務共同部署在一起,大大節約了資源。

一些小提示

切實領會MongoDB的Document模型,從實際出發,扔掉關系數據庫的范式思維定義,重新設計類;在服務端運行的JavaScript代碼避免使用遍歷記錄這種耗時的操作,相反要用Map/Reduce來完成這種表數據的處理;屬性的類型插入和查詢時應該保持一致。若插入時是字符串“1”,則查詢時用數字1是不匹配的;優化MongoDB的性能可以從磁盤速度和內存著手;MongoDB對每個Document的限制是最大不超過4MB;在符合上述條件下多啟用Embed Document, 避免使用DatabaseReference;內部緩存可以避免N+1次查詢問題(MongoDB不支持joins)。

用Capped Collection解決需要高速寫入的場合,如實時日志;大數據量情況下,新建同步時要調高oplogSize的大小,并且自己預先生成數據文件,避免出現客戶端超時;Collection+Index合計數量默認不能超過24000;當前版本(<v1.6)刪除數據的空間不能被回收,如果你頻繁刪除數據,那么需要定期執行repairDatabase,釋放這些空間。

結束語

MongoDB的里程碑是1.6版本,預計今年7月份發布,屆時,MongoDB的Sharding將首次具備在生產環境中使用的條件。作為MongoDB的受益者,我們目前也在積極參與MongoDB社區活動,改進Perl/PHP對于MongoDB的技術方案。在1.6版本后也將年內推出基于MongoDB的一些開源項目。

對于那些剛剛起步,或者正在開發創新型互聯網應用的公司來說,MongoDB的快速、靈活、輕量和強大擴展性,正適合我們快速開發產品,快速迭代,適應用戶迅速變化和更新的種種需求。

總而言之,MongoDB是一個最適合替代MySQL的全功能的NoSQL產品,使用MongoDB+Perl/PHP/Django/RoR的組合將很快成為開發Web2.0、3.0的產品的最佳組合,就像當年MySQL替代Oracle/DB2/Informix一樣,歷史總是驚人的相似,讓我們拭目以待吧!

【編輯推薦】

  1. MongoDB學習筆記(一) MongoDB介紹及安裝
  2. MongoDB學習筆記(二) 通過samus驅動實現基本數據操作
  3. MongoDB學習筆記(三) 在MVC模式下通過Jqgrid表格操作MongoDB數據
  4. MongoDB學習筆記(四) 用MongoDB的文檔結構描述數據關系
  5. MongoDB學習筆記(五) MongoDB文件存取操作
責任編輯:艾婧 來源: 程序員
相關推薦

2023-01-04 11:04:32

2017-11-14 18:54:43

MySQLMongoDBNoSQL

2021-08-26 11:53:45

NoSQL場景應用

2020-05-08 11:42:24

JavaScript編程語言技術

2025-04-22 07:52:59

2023-10-13 08:23:05

2024-04-10 08:00:00

PostgresNoSQL

2020-03-25 14:36:12

SQLNoSQL數據庫

2020-06-18 14:39:42

MongoDB數據數據庫

2015-06-15 09:29:56

聯想互聯網

2022-06-29 10:11:19

CIOIT領導者

2015-07-02 13:32:22

黑客中國黑客

2012-05-01 08:38:47

制造

2011-04-06 15:44:02

SQLNOSQL思維轉變

2025-04-27 01:33:23

MongoDBDocker容器

2023-09-19 09:28:47

AI視覺

2021-03-19 10:30:09

云計算混合云青云科技

2011-05-13 09:46:20

MySQLNoSQL

2022-06-08 16:55:56

服務器Redis架構

2013-09-02 10:28:09

NoSQL
點贊
收藏

51CTO技術棧公眾號

日韩av不卡播放| 久久久久亚洲精品成人网小说| 成人福利免费观看| 美女被艹视频网站| 日本乱理伦在线| 99精品1区2区| 成人黄色免费看| 日韩和一区二区| 久久国产精品美女| 欧美性猛交xxxx富婆| 中文字幕99| 狠狠狠狠狠狠狠| 欧美a级片一区| 亚洲视频777| 爱情岛论坛亚洲自拍| av女优在线| 成人蜜臀av电影| 国产免费一区视频观看免费| 九热这里只有精品| 天天综合精品| 亚洲午夜激情免费视频| 成年女人免费视频| 五月天色综合| 色老汉一区二区三区| 久久国产精品久久| av免费在线不卡| 日韩va亚洲va欧美va久久| 久久久久国产视频| 波多野结衣家庭教师| 国产一区日韩| 亚洲精品中文字| 91九色蝌蚪porny| 高清一区二区| 欧美性xxxxxxxx| 欧美xxxxx在线视频| 亚洲三区在线观看无套内射| 亚洲第一黄网| 色综合久久88| 国产精品99久久久久久成人| 欧美精品一区二区久久| 亚洲精品一区中文| 亚洲av永久无码精品| 中文字幕区一区二区三| 亚洲一区二区三区视频在线播放| 亚洲福利av| 男人av在线| 26uuu国产日韩综合| 国产精品一区视频网站| 亚洲av无码国产综合专区| 久久狠狠亚洲综合| 国产精品香蕉在线观看| 波多野结衣爱爱| 石原莉奈在线亚洲二区| 日本亚洲欧美三级| 一区二区三区在线播放视频| 国产尤物久久久| 国产亚洲精品久久久久久| av黄色免费网站| 精品美女视频| 最近的2019中文字幕免费一页| 午夜免费福利视频在线观看| 黄色免费在线看| 成人欧美一区二区三区白人| 亚洲欧美国产一区二区| 香蕉视频在线免费看| 国产精品久久久久久久久图文区| 亚洲蜜桃在线| 欧洲美女少妇精品| 亚洲手机成人高清视频| 99国产超薄丝袜足j在线观看 | 户外极限露出调教在线视频| 久久亚洲一级片| 日韩福利一区二区三区| 91官网在线| 亚洲日本在线天堂| 2018中文字幕第一页| h片在线观看视频免费| 欧美日韩激情视频| 不卡av免费在线| 国产成年精品| 精品国产sm最大网站| 波多野结衣福利| 欧美日韩在线网站| 色综合久久88| 亚洲自拍一区在线观看| 久久国产福利国产秒拍| 国产精品 日韩| 久久综合九色综合久| 中文字幕日本乱码精品影院| 2022中文字幕| 国产不卡网站| 91精品国产一区二区三区蜜臀| 欧美xxxxx少妇| 视频精品在线观看| 欧美猛交免费看| 国产精品suv一区| 精品制服美女久久| 国产综合 伊人色| 91美女精品网站| 岛国一区二区三区| 日韩资源av在线| caopen在线视频| 一本色道a无线码一区v| 久久久久免费看黄a片app| 日本精品不卡| 日韩一区二区三区免费观看| 无码h肉动漫在线观看| 91精品啪在线观看国产18| 国产性色av一区二区| 永久久久久久久| 免费视频一区| av成人在线电影| 2017亚洲天堂1024| 欧美日韩国产一区二区三区| 91看片破解版| 精品国产一区二区三区小蝌蚪 | 日韩精品在线观看一区二区| 永久免费看片直接| 久久激情久久| 国产综合欧美在线看| 黄网址在线观看| 91激情五月电影| 亚洲男女在线观看| 中文字幕亚洲综合久久五月天色无吗''| 51精品在线观看| 亚洲国产一二三区| 亚洲视频免费在线| 69久久久久久| 国产日本久久| 亚洲日韩中文字幕| 国产午夜免费视频| 韩国欧美一区二区| 99re在线播放| 超碰最新在线| 欧美人xxxx| 国产不卡在线观看视频| 噜噜噜91成人网| 国内视频一区| 国产精品电影| 亚洲精品国精品久久99热| 九九热只有精品| 国产九九视频一区二区三区| 亚洲在线免费视频| 在线免费av电影| 日本道在线观看一区二区| 双性尿奴穿贞c带憋尿| 亚洲承认在线| 国产综合欧美在线看| 国产伦子伦对白在线播放观看| 精品国内二区三区| 国产亚洲精品成人| 成人深夜在线观看| 男女啪啪免费视频网站| 老司机成人在线| 国产91精品久久久| 国产在线观看网站| 欧美制服丝袜第一页| 亚洲AV成人无码网站天堂久久| 欧美96一区二区免费视频| 午夜精品美女久久久久av福利| 日韩av一级| 久久久电影免费观看完整版| 国产av一区二区三区| 亚洲国产成人av| 女人被狂躁c到高潮| 日本中文字幕一区二区视频| 正义之心1992免费观看全集完整版| 99视频这里有精品| 欧美黑人性生活视频| 亚洲 欧美 自拍偷拍| 日韩欧美中文第一页| 美国一级黄色录像| 国产suv一区二区三区88区| 欧美少妇一区| 欧美6一10sex性hd| 欧美视频在线一区二区三区 | 亚洲综合色区另类av| 国产草草浮力影院| 日韩高清不卡一区二区三区| 一区不卡字幕| 极品束缚调教一区二区网站| 日韩美女在线看| www.久久热.com| 欧美人xxxx| 欧美成人手机视频| 久久久精品中文字幕麻豆发布| 青青在线视频观看| av一区二区高清| 91在线|亚洲| 天堂在线中文网官网| 在线视频日韩精品| av中文字幕播放| 黄色一区二区三区| 欧美三级黄色大片| 成人v精品蜜桃久久一区| av免费播放网址| 久久一区二区三区电影| 国产精品手机在线| av免费在线一区| 久久99久久亚洲国产| 手机看片福利在线观看| 中文幕一区二区三区久久蜜桃| 岛国av在线免费| 免费黄色成人| 成人免费高清完整版在线观看| 欧美男男video| 亚洲色图18p| 欧美一级一区二区三区| 欧美图片一区二区三区| 四虎免费在线视频| 国产亚洲人成网站| 天天干天天曰天天操| 亚洲综合社区| 亚洲精品天堂成人片av在线播放| 精品视频在线你懂得| 亚洲在线一区二区| 欧美日韩国产网站| 欧美精品福利在线| 日本视频在线观看| 国产亚洲精品久久久| 秋霞网一区二区| 欧美日产在线观看| 久久一区二区三| 亚洲摸摸操操av| 国产一区二区三区精品在线| 成人免费视频免费观看| 中文字幕第36页| 日韩午夜免费视频| 99porn视频在线| 精品亚洲a∨| 欧美在线观看视频| 欧美女同一区| 不卡中文字幕av| 免费国产黄色片| 欧美日本国产视频| 无码人妻精品一区二区三区不卡| 一区二区三区在线观看国产 | 波多野结衣视频在线看| 欧美色xxxx| 日本天堂网在线观看| 亚洲欧美日韩中文播放 | 最新国产の精品合集bt伙计| 国产福利在线观看视频| 国产精品一区二区在线播放| 亚洲欧美另类动漫| 久久精品国产久精国产| 久草在在线视频| 久久精品亚洲| 色七七在线观看| 日韩国产在线观看一区| 欧美在线观看www| 亚洲天堂激情| 日本不卡一区二区三区在线观看| 国产精品色呦| 不卡视频一区二区三区| 人人精品久久| 成人两性免费视频| 日韩黄色碟片| 成人伊人精品色xxxx视频| 国产精品白丝久久av网站| 91精品久久久久久久久久入口| 超碰这里只有精品| 国产精品美腿一区在线看| 亚洲欧美一级| 91精品在线影院| 久久精品一级| 国产精品日韩高清| 色婷婷精品视频| 日本亚洲自拍| 日韩精品一区二区久久| 国产911在线观看| 欧美a级片一区| 欧美午夜小视频| 日韩电影免费一区| 超碰超碰在线观看| 国产资源在线一区| 久久久精品人妻一区二区三区| 99精品偷自拍| 日本高清www| 欧美极品少妇xxxxⅹ高跟鞋| 美女三级黄色片| 又紧又大又爽精品一区二区| 国产亚洲精品女人久久久久久| 午夜精品福利一区二区蜜股av| 色婷婷av国产精品| 亚洲欧美日韩国产成人精品影院| 中文字幕美女视频| 夜色激情一区二区| 波多野结衣影片| 欧美一二三四区在线| 日韩一级片免费看| 日韩成人在线电影网| 青青影院在线观看| 国内精品小视频| 精品视频一区二区三区四区五区| 97碰碰视频| 在线看成人短视频| 日韩不卡视频一区二区| 国产深夜精品| 色噜噜狠狠永久免费| 粉嫩av一区二区三区在线播放 | 成人午夜毛片| 国产一区二区在线观看免费播放| 精品九九在线| 欧美大黑帍在线播放| 免费在线观看一区二区三区| 在线观看你懂的视频| 久久网站热最新地址| 曰本女人与公拘交酡| 色中色一区二区| 国产高清在线免费| 中文字幕日韩欧美在线视频| 手机av在线播放| 国产成人精品综合久久久| 欧美美女被草| 欧美一级日本a级v片| 欧美精品午夜| 天天视频天天爽| 国产视频亚洲色图| 国产在线视频卡一卡二| 欧美麻豆精品久久久久久| 涩涩视频在线观看免费| 久久精品中文字幕一区| 毛片无码国产| 久久婷婷人人澡人人喊人人爽| 五月开心六月丁香综合色啪| aa免费在线观看| 国产成人精品一区二| 手机看片日韩av| 精品国产乱码久久久久久虫虫漫画| 亚洲国产成人精品女人久久| 日韩精品免费看| 久草在线资源站资源站| 成人欧美一区二区三区黑人孕妇| av中文一区| 欧美精品色婷婷五月综合| 成人午夜短视频| 精品深夜av无码一区二区老年| 欧美女孩性生活视频| 久久精品蜜桃| 国产精品欧美在线| 综合伊思人在钱三区| 日本wwwcom| av亚洲精华国产精华| jjzzjjzz欧美69巨大| 亚洲三级视频在线观看| 国产xxxx孕妇| 久久久av免费| 亚洲欧美综合久久久久久v动漫| 色综合久久av| 丝袜亚洲另类丝袜在线| 国产伦精品一区二区三区妓女 | 黄色av电影在线播放| 国产欧美在线观看| 日本道不卡免费一区| 日批视频在线免费看| 久久精品一区二区三区四区| 在线免费黄色av| 日韩av在线免费观看| 中文在线最新版地址| 免费久久久一本精品久久区| 99综合精品| 性高潮久久久久久久 | 特黄一区二区三区| 制服丝袜av成人在线看| 黄色成人影院| av免费精品一区二区三区| 亚洲国产专区校园欧美| 美女久久久久久久久| 精品久久久久久久久久久久| 欧美日韩伦理片| 国产精品av在线| 久久综合国产| 北京富婆泄欲对白| 欧美性极品xxxx娇小| 国产香蕉视频在线看| 亚洲一区二区自拍| 亚洲午夜精品久久久久久app| 超碰97在线资源站| 色国产综合视频| 在线日本视频| 精品视频一区在线| 日韩一区精品视频| 97精品在线播放| 亚洲大胆人体av| 在线天堂新版最新版在线8| 日本一区二区在线| 国产精品白丝jk白祙喷水网站| 国产在线观看免费av| 亚洲激情自拍图| 99久久这里有精品| 欧美日韩精品在线一区二区 | 成人欧美一区二区三区视频xxx| 亚洲尤物精选| www.xx日本| 亚洲黄色av网站| 精品176极品一区| 日韩欧美精品免费| 国产欧美视频一区二区| 国产视频一二三四区|