精品欧美一区二区三区在线观看 _久久久久国色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国产精品久久久久久久成人热| 欧美成人一区二区| 国产黄色一级网站| 国产午夜精品福利视频| 成年人网站在线| 国产福利一区二区三区视频在线 | 无码精品人妻一区二区三区影院| 亚洲巨乳在线| 在线观看视频99| www.久久com| 黑森林国产精品av| 中文字幕亚洲欧美在线不卡| 欧美精品久久久久久久久| www.色就是色| 99热国产在线中文| 91丨九色丨蝌蚪丨老版| 国产精品永久免费观看| 国产精选第一页| av资源久久| 日韩欧美一区二区在线视频| 成人在线观看黄| 宅男网站在线免费观看| 国产亚洲精品7777| 国产精品一区免费观看| 亚洲天堂久久久久| 精品国产乱码| 日韩精品最新网址| 最新天堂中文在线| 永久免费毛片在线播放| 伊人一区二区三区| 在线观看福利一区| 欧美日韩国产综合视频| 丰满岳乱妇一区二区三区| 国产精品久久久久久av下载红粉| 免费麻豆国产一区二区三区四区| 校园春色亚洲色图| 亚洲一区二区五区| 99国精产品一二二线| 无码人妻精品一区二| 中文字幕精品影院| 精品三级av在线| 日本超碰在线观看| 日本高清不卡一区二区三区视频| 夜夜嗨av一区二区三区四季av| 日韩欧美精品一区二区| 五月婷婷开心中文字幕| 国产成人在线视频免费播放| 91免费国产网站| 中文字幕日本人妻久久久免费 | 欧美日本精品一区二区三区| 黄www在线观看| 激情网站在线| 一区二区三区在线观看视频| 中文字幕一区二区三区精彩视频 | 欧美人与禽zozo性伦| 91av俱乐部| 成人福利av| 粉嫩老牛aⅴ一区二区三区| www.射射射| 久久大胆人体| 亚洲午夜av在线| 久久久久久久久久久综合| caoporn97在线视频| 综合亚洲深深色噜噜狠狠网站| 秋霞毛片久久久久久久久| 精品999视频| 国产亚洲欧美一级| 亚洲va韩国va欧美va精四季| www.在线播放| 国产精品久久久久久久久久免费看| 欧美日韩国产不卡在线看| 免费在线黄色网址| 中文字幕第一区第二区| 亚洲欧美国产精品桃花| 日本www在线| 亚洲六月丁香色婷婷综合久久 | 97热在线精品视频在线观看| 全部毛片永久免费看| 美女诱惑黄网站一区| 亚洲午夜久久久影院| 韩国女同性做爰三级| 欧美伦理影院| 久久亚洲精品一区二区| 国产一国产二国产三| 亚洲一区中文| 国产美女久久精品| av一级黄色片| 99综合电影在线视频| 欧美一区视久久| 日本在线观看免费| 亚洲影视在线播放| 国产aaa一级片| 欧美一级网址| 精品福利在线导航| 中文字幕 欧美日韩| 亚洲日本视频在线| 亚洲欧美视频在线| chinese全程对白| 亚洲欧洲一区| 国产精品久久久亚洲| 久久久国产精品成人免费| 日韩avvvv在线播放| 亚洲一区中文字幕| 日本又骚又刺激的视频在线观看| 国产蜜臀av在线一区二区三区| 国产精品无码乱伦| 国产视频精选在线| 亚洲免费成人av| 国产日产欧美视频| 欧美国产中文高清| 在线播放国产一区中文字幕剧情欧美| 一色道久久88加勒比一| 亚洲色图网站| 国产成人综合久久| 亚洲国产精品久久人人爱潘金莲 | 要久久电视剧全集免费| 不卡毛片在线看| 国产一级片免费在线观看| 风流少妇一区二区| 在线看无码的免费网站| 欧美一区国产| 精品国产露脸精彩对白| 黑人操日本美女| 久久aⅴ国产紧身牛仔裤| 99精彩视频| 蜜桃视频在线观看www社区| 黑人巨大精品欧美一区二区免费| xxxx在线免费观看| 成人免费电影网址| 欧美最猛性xxxxx免费| 亚洲第一色网站| 国产精品人成在线观看免费| 久久精品99国产| 国产精品sss在线观看av| 久久精品小视频| 少妇又紧又色又爽又刺激视频| 国产成人av网站| 天天做天天爱天天高潮| 成人在线观看免费播放| 亚洲第一免费播放区| 男人与禽猛交狂配| 精品无人区卡一卡二卡三乱码免费卡| 2014国产精品| 国产精品va在线观看视色| 欧美日韩视频第一区| 无码少妇精品一区二区免费动态| 一本色道久久| 国产乱码一区| 24小时免费看片在线观看| 欧美成人在线直播| 久久久.www| 国产69精品久久久久777| 在线观看18视频网站| 日本精品视频| 久久91精品国产91久久跳| 日本五十熟hd丰满| 成人免费视频网站在线观看| 草草草视频在线观看| 久久免费福利| 欧美高清在线观看| 国产综合在线播放| 午夜精品久久久久久久99水蜜桃| 亚洲女则毛耸耸bbw| 亚洲午夜激情在线| 国严精品久久久久久亚洲影视| 欧美日韩经典丝袜| 亚洲二区在线播放视频| 天天综合网久久综合网| 久久久99免费| 深夜黄色小视频| 欧美黄色一区| 国产亚洲欧美另类一区二区三区| 青青青国内视频在线观看软件| 日韩欧美国产精品| 日产欧产va高清| 久久五月婷婷丁香社区| 九热视频在线观看| 亚洲天天影视网| 国产嫩草一区二区三区在线观看| 国产网红女主播精品视频| 亚洲精品国精品久久99热一| 激情视频网站在线观看| 国产精品久久毛片a| 蜜桃视频无码区在线观看| av不卡在线看| 视频一区二区在线| 亚洲成人黄色| 欧美专区中文字幕| 黄网站视频在线观看| 日韩久久免费av| 国产一级片免费在线观看| 亚洲色图欧美激情| 一级特级黄色片| 中文字幕一区二区三三| 国产福利久久精品| 日韩中文影院| 欧美国产日韩精品| 国产三级视频在线| 欧美电影免费提供在线观看| 在线观看 亚洲| 亚洲欧美日本韩国| 成人影视免费观看| 国产在线播放一区| 成人免费毛片播放| 亚洲国产精品一区制服丝袜| 亚洲精品日韩在线观看| 女人抽搐喷水高潮国产精品| 国产欧美日韩免费看aⅴ视频| 亚洲精品一线| 夜夜嗨av色一区二区不卡| 亚洲av无码乱码在线观看性色| 日韩欧美一区二区在线| 久久久久亚洲AV成人| 久久久不卡网国产精品二区| 久久发布国产伦子伦精品| 久久免费国产| 人妻无码久久一区二区三区免费| 青青草成人影院| 精品国产一区二区三区日日嗨| 在线成人视屏| 欧美性视频在线| 国产精品—色呦呦| 欧美成年人视频网站| av在线资源网| 国产视频精品xxxx| 日韩中文字幕影院| 欧美一级在线免费| 国产又粗又猛又爽又黄视频| 色综合 综合色| 日韩高清免费av| 亚洲主播在线观看| 国产稀缺精品盗摄盗拍| 欧美激情在线免费观看| 亚洲国产欧美视频| 99久久精品费精品国产一区二区| 中文字幕无码精品亚洲资源网久久| 欧美日一区二区| 麻豆久久久9性大片| 美日韩黄色大片| 国产精品精品软件视频| 最新精品在线| 成人午夜电影在线播放| 久久久精品区| 亚洲在线观看视频| 国语精品视频| 亚洲一区二区三区乱码aⅴ| 亚洲青青一区| 成人国内精品久久久久一区| 久久亚洲资源| 欧美激情亚洲国产| 大桥未久在线播放| 国模视频一区二区三区| 欧美大片aaa| 日韩精品免费观看| 午夜视频福利在线| 日韩精品视频在线| 青草久久伊人| 亚洲欧美中文日韩在线v日本| 免费观看国产视频| 亚洲精品国产电影| 欧美扣逼视频| 最新69国产成人精品视频免费| 国产二区视频在线观看| 中文字幕亚洲无线码在线一区| 福利片在线看| 色七七影院综合| 香蕉久久aⅴ一区二区三区| 欧美黄色www| caoporn视频在线观看| 欧美一级视频免费在线观看| 日本免费一区二区三区四区| 国产精品丝袜白浆摸在线 | 国产精品人成电影在线观看| 国产精品久久久久久久久久齐齐 | 免费三片在线播放| 天天色天天爱天天射综合| 亚洲a v网站| 国产精品网曝门| 欧美在线视频第一页| 亚洲国产精品一区二区www在线| 久久综合色综合| 色综合欧美在线视频区| 夜夜爽8888| 精品国产百合女同互慰| 欧美在线观看在线观看| 久久色在线播放| 看黄在线观看| 色在人av网站天堂精品| 亚洲精华液一区二区三区| 国产精品一区av| 91精品啪在线观看国产爱臀| 欧美日韩免费高清| 51精产品一区一区三区| 欧美成人三级在线视频| 蜜臀91精品一区二区三区 | 91精品国产91久久久久久一区二区 | 国产成人aa在线观看网站站| 麻豆av福利av久久av| 99精品全国免费观看视频软件| 一个色的综合| 日韩一级在线| 亚洲免费黄色录像| 97精品电影院| 国产黄色小视频网站| 欧美日韩一二三四五区| 99精品国产99久久久久久97| 亚洲欧美精品suv| 婷婷av在线| 国产精品最新在线观看| 小说区图片区色综合区| 国产精品一区二区三区免费观看| 欧美美女在线观看| 青青影院一区二区三区四区| 欧美.www| 免费精品99久久国产综合精品应用| 成人一区二区视频| 五月婷婷综合激情网| 日韩欧美亚洲范冰冰与中字| 亚洲国产成人一区二区| 久久精品国产99国产精品澳门 | 国产精品免费丝袜| 综合网在线观看| 精品久久久久久久久久久久包黑料 | 国产精品成人免费在线| 久草手机在线观看| 欧美精品一区二区三区一线天视频| yw视频在线观看| 欧美中文字幕在线视频| 日韩大片在线免费观看| 欧美国产日韩激情| 国产伦精品一区二区三区在线观看| av网站在线不卡| 久久青草欧美一区二区三区| 国产精品二区一区二区aⅴ| 7777女厕盗摄久久久| 91社区在线| 国产福利精品av综合导导航| 亚洲激情77| 黄色片久久久久| 北岛玲一区二区三区四区| 久久精品国产亚洲av麻豆色欲| 欧美精品777| 黄视频网站在线| 成人精品视频99在线观看免费| 久久99国内| 色综合av综合无码综合网站| 91在线视频网址| 五月婷婷亚洲综合| 日韩国产欧美区| 亚洲黄色网址| 欧美在线视频二区| 日本怡春院一区二区| 日本二区在线观看| 欧美色图12p| 老司机在线视频二区| 亚洲a级在线观看| 欧美日韩1区| 91香蕉视频导航| 国产亚洲婷婷免费| 中文字幕在线日亚洲9| www亚洲精品| 欧美片网站免费| 久久99中文字幕| 久久无码av三级| 中文字幕永久在线视频| 精品国产一区二区三区在线观看| 粉嫩av一区二区三区四区五区| 三区精品视频| 极品少妇xxxx精品少妇| 69av视频在线| 亚洲精品720p| 精品欧美日韩精品| 992tv快乐视频| www.日韩在线| 青青艹在线观看| 久久久精品在线| 菁菁伊人国产精品| 日本999视频| 亚洲日穴在线视频| 欧美一区二区三区激情| 国产999精品久久久| 欧美毛片免费观看| 日本成人黄色网| 亚洲欧美日韩在线| 亚洲色偷精品一区二区三区| 国产精品免费久久久久久| 亚洲美女视频| 熟女丰满老熟女熟妇| 精品1区2区3区| 大香伊人中文字幕精品| 五月天色一区| 成人丝袜视频网| 中文字幕在线观看国产| 久久免费福利视频|