• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    分布式關(guān)系型數(shù)據(jù)庫(kù)研究與金融行業(yè)應(yīng)用①

    2021-06-28 06:27:38朱哲哲趙振海吳海洋向小佳
    關(guān)鍵詞:事務(wù)語(yǔ)句一致性

    朱哲哲,趙振海,李 鵬,吳海洋,向小佳

    (光大科技有限公司,北京 100049)

    數(shù)據(jù)庫(kù)的發(fā)展經(jīng)歷了從傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)、NoSQL (Not only SQL)[1]數(shù)據(jù)庫(kù)到近幾年新出現(xiàn)的分布式NewSQL 數(shù)據(jù)庫(kù),整個(gè)趨勢(shì)由單機(jī)逐漸向分布式方向發(fā)展.傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的問(wèn)題在于,對(duì)可擴(kuò)展性以及高可用性的支持不足,單機(jī)數(shù)據(jù)庫(kù)容量有限,單表容量有限,無(wú)法支撐龐大的數(shù)據(jù)查詢處理需求.一種解決辦法是通過(guò)分庫(kù)分表將負(fù)載分散到多個(gè)表中,緩解數(shù)據(jù)庫(kù)壓力,或者增加磁盤(pán)和CPU 容量,但不能從根本上解決問(wèn)題.而NoSQL 數(shù)據(jù)庫(kù)雖然原生支持?jǐn)U展性和高可用性,數(shù)據(jù)模型更加靈活,但是對(duì)數(shù)據(jù)的強(qiáng)一致性卻無(wú)法保證,不支持原子事務(wù)(原子事務(wù)保證了跨多個(gè)節(jié)點(diǎn)事務(wù)操作的一致性,但是節(jié)點(diǎn)間協(xié)調(diào)會(huì)增加延時(shí),基于性能原因的考慮,當(dāng)前NoSQL實(shí)現(xiàn)的都是基于單一鍵的事務(wù)),而且NoSQL 不兼容傳統(tǒng)的SQL 語(yǔ)法,造成原有系統(tǒng)的遷移障礙.分布式NewSQL 數(shù)據(jù)庫(kù)的概念產(chǎn)生來(lái)源于Google 于2012年發(fā)表的Spanner[2]數(shù)據(jù)庫(kù),該論文將傳統(tǒng)關(guān)系模型以及NoSQL 數(shù)據(jù)庫(kù)的擴(kuò)展性相結(jié)合,使數(shù)據(jù)庫(kù)同時(shí)支持分布式又具有傳統(tǒng)SQL的能力.除了Spanner 數(shù)據(jù)庫(kù),國(guó)外的CockroachDB[3]以及國(guó)內(nèi)的TDSQL、MyCAT、TiDB[4]、OceanBase等都是新興的分布式數(shù)據(jù)庫(kù)產(chǎn)品.分布式數(shù)據(jù)庫(kù)從實(shí)現(xiàn)上可以分為兩類(lèi):一類(lèi)是在現(xiàn)有數(shù)據(jù)庫(kù)之上以中間件代理的形式,提供自動(dòng)分庫(kù)分表、故障切換、分布式事務(wù)等支持,以MyCAT、TDSQL 等為代表.一類(lèi)是原生的分布式架構(gòu),通過(guò)共識(shí)算法實(shí)現(xiàn)高可用性和數(shù)據(jù)一致性等支持,以TiDB、OceanBase 等為代表.

    分布式數(shù)據(jù)庫(kù)常見(jiàn)的特點(diǎn)包括高可用、高可擴(kuò)展和數(shù)據(jù)強(qiáng)一致性等.對(duì)于可用性和數(shù)據(jù)一致性,根據(jù)分布式CAP[5]理論可知,在保證分區(qū)容錯(cuò)性的前提下,勢(shì)必要在數(shù)據(jù)一致性和可用性中做出權(quán)衡.其中可用性的保證可以通過(guò)復(fù)制實(shí)現(xiàn),通過(guò)在多臺(tái)機(jī)器上保存數(shù)據(jù)副本,提高系統(tǒng)可用性,MyCAT 以及TDSQL 均支持主從復(fù)制的方式.傳統(tǒng)主從復(fù)制方式的問(wèn)題在于雖然保證了可用性,但是數(shù)據(jù)的強(qiáng)一致性卻無(wú)法保證,如果主庫(kù)故障,可能會(huì)出現(xiàn)多個(gè)節(jié)點(diǎn)成為主庫(kù)(腦裂問(wèn)題[6]),導(dǎo)致數(shù)據(jù)丟失或損壞.MySQL 在5.7 版本推出了MySQL Group Replication 功能,實(shí)現(xiàn)了基于Paxos 共識(shí)算法[7]的可用性和數(shù)據(jù)一致性保證,TiDB 基于Raft 共識(shí)算法[8]保證了可用性和數(shù)據(jù)一致性.擴(kuò)展性的保證可通過(guò)分區(qū)的方式,將原有單個(gè)節(jié)點(diǎn)的壓力分散到多個(gè)節(jié)點(diǎn),提升系統(tǒng)性能.分區(qū)面臨的問(wèn)題是如何將數(shù)據(jù)和查詢負(fù)載均勻分布在各個(gè)節(jié)點(diǎn),常見(jiàn)的解決辦法有基于Hash 的分區(qū)和基于Range 的分區(qū),TiDB 使用Range的方式分區(qū),而OceanBase 兩種都支持.分布式數(shù)據(jù)庫(kù)的另一個(gè)特點(diǎn)是對(duì)事務(wù)的支持,分布式場(chǎng)景下保障事務(wù)的ACID 原則常見(jiàn)的辦法有2PC 協(xié)議、TCC 協(xié)議以及SAGA 協(xié)議,TiDB、OceanBase 等均使用2PC[9](兩階段提交協(xié)議)來(lái)實(shí)現(xiàn)跨多個(gè)節(jié)點(diǎn)的事務(wù)提交.除了對(duì)以上特點(diǎn)的支持,分布式數(shù)據(jù)庫(kù)還具有HTAP、SQL引擎、兼容性等特點(diǎn).

    對(duì)金融行業(yè)來(lái)說(shuō),在數(shù)據(jù)庫(kù)系統(tǒng)可用性、數(shù)據(jù)一致性、交易延時(shí)等方面有更嚴(yán)格的要求,系統(tǒng)可用性要求99.99%以上,賬務(wù)交易對(duì)事務(wù)要求零容忍.本文基于國(guó)內(nèi)某銀行原有金融業(yè)務(wù)的分布式改造進(jìn)行研究,銀行原有數(shù)據(jù)庫(kù)架構(gòu)采用Oracle RAC 部署的方式,這種方式的問(wèn)題在于硬件成本高昂,無(wú)法有效橫向擴(kuò)展,隨著業(yè)務(wù)量的增大,系統(tǒng)性能以及存儲(chǔ)能力嚴(yán)重不足,故障切換時(shí)間長(zhǎng),更無(wú)法實(shí)現(xiàn)秒級(jí)切換,導(dǎo)致系統(tǒng)運(yùn)行風(fēng)險(xiǎn)增大.基于銀行業(yè)務(wù)對(duì)數(shù)據(jù)強(qiáng)一致性、高可用、橫向擴(kuò)展等要求,并結(jié)合銀行自身業(yè)務(wù)系統(tǒng)的特點(diǎn),本文在MySQL 集群作為數(shù)據(jù)節(jié)點(diǎn)的基礎(chǔ)上,利用自研的調(diào)度組件Grid,實(shí)現(xiàn)了具有高可用、動(dòng)態(tài)擴(kuò)展、分布式事務(wù)、HTAP 混合、兼容MySQL 等特性的分布式關(guān)系型數(shù)據(jù)庫(kù).該數(shù)據(jù)庫(kù)通過(guò)類(lèi)Raft 增強(qiáng)一致性算法和Zookeeper 自動(dòng)選主實(shí)現(xiàn)了整個(gè)系統(tǒng)組件的高可用,并通過(guò)Grid 組件調(diào)度,實(shí)現(xiàn)了自動(dòng)分庫(kù)分表、SQL 路由、分布式事務(wù)等功能的支持.

    1 架構(gòu)

    在架構(gòu)設(shè)計(jì)上,本文的分布式數(shù)據(jù)庫(kù)由調(diào)度節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)和配置節(jié)點(diǎn)構(gòu)成,如圖1所示.其中,數(shù)據(jù)節(jié)點(diǎn)基于MySQL 集群方案,負(fù)責(zé)數(shù)據(jù)存儲(chǔ)、本地事務(wù)管理、本地結(jié)果集計(jì)算等功能,Grid 調(diào)度節(jié)點(diǎn)負(fù)責(zé)全局事務(wù)管理、分布式執(zhí)行計(jì)劃的生成和調(diào)度、集群擴(kuò)縮容以及數(shù)據(jù)節(jié)點(diǎn)的高可用調(diào)度等功能,而配置節(jié)點(diǎn)基于Zookeeper[10]實(shí)現(xiàn),負(fù)責(zé)集群運(yùn)行態(tài)元數(shù)據(jù)的存儲(chǔ)同步以及配置管理.

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

    在數(shù)據(jù)節(jié)點(diǎn)的實(shí)現(xiàn)上,與TiDB 以及OceanBase 等分布式數(shù)據(jù)庫(kù)不同的是,本文使用了MySQL 集群的方案.MySQL5.7 版本之前,實(shí)現(xiàn)高可用一般的做法是主從復(fù)制的方式,常利用半同步保證節(jié)點(diǎn)間數(shù)據(jù)的一致,但仍無(wú)法滿足高可用的要求[11].本文采用了基于Raft實(shí)現(xiàn)的增強(qiáng)一致性算法(將在第3 節(jié)存儲(chǔ)中詳細(xì)闡述),通過(guò)增強(qiáng)Raft 算法的部分細(xì)節(jié)實(shí)現(xiàn),提供數(shù)據(jù)庫(kù)集群節(jié)點(diǎn)的強(qiáng)一致保證,解決了傳統(tǒng)主從復(fù)制容易出現(xiàn)的腦裂問(wèn)題.

    調(diào)度節(jié)點(diǎn)Grid 主要用來(lái)進(jìn)行SQL 解析,實(shí)現(xiàn)分布式的SQL 語(yǔ)句執(zhí)行優(yōu)化.對(duì)于混合事務(wù)分析處理(HTAP)[12]的需求,除了原生支持分布式事務(wù)之外,對(duì)于在線分析處理需求,通過(guò)插件的形式提供Spark SQL 集成,將復(fù)雜語(yǔ)句通過(guò)SQL 引擎路由到Spark 端處理分析,而Spark 的數(shù)據(jù)則直接通過(guò)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行抽取.對(duì)于分布式事務(wù)的實(shí)現(xiàn),采用了兩階段提交協(xié)議的標(biāo)準(zhǔn)實(shí)現(xiàn)——XA 事務(wù).本文的分布式數(shù)據(jù)庫(kù)中所有組件都是高可用和高擴(kuò)展的,以調(diào)度節(jié)點(diǎn)為例,在對(duì)外服務(wù)中利用F5提供負(fù)載均衡支持[13],組件本身基于配置節(jié)點(diǎn)實(shí)現(xiàn)分布式選主,實(shí)現(xiàn)多活高可靠.

    配置節(jié)點(diǎn)層主要用來(lái)存儲(chǔ)調(diào)度層元數(shù)據(jù),提供調(diào)度節(jié)點(diǎn)的“領(lǐng)導(dǎo)選舉”.

    除了上述提到的組件,本文也在數(shù)據(jù)庫(kù)安全上做了相應(yīng)支持,通過(guò)黑白名單檢查、登錄認(rèn)證和ACL 認(rèn)證等保護(hù)數(shù)據(jù)庫(kù)安全.

    下面的章節(jié)本文將會(huì)對(duì)調(diào)度層SQL 引擎、事務(wù)和鎖的實(shí)現(xiàn)、存儲(chǔ)層實(shí)現(xiàn)和高可用等作更深入的闡述.

    2 調(diào)度

    為了解決大規(guī)模數(shù)據(jù)量以及高負(fù)載下的數(shù)據(jù)分布問(wèn)題,本研究通過(guò)中間件的形式提供了對(duì)分庫(kù)分表、SQL引擎、事務(wù)與鎖等功能支持.調(diào)度層Grid 采用了XA兩階段事務(wù)以及對(duì)悲觀鎖和全隔離級(jí)別的支持.SQL引擎通過(guò)詞法分析對(duì)執(zhí)行語(yǔ)句進(jìn)行分布式改造,實(shí)現(xiàn)查詢下推和結(jié)果匯聚.

    2.1 SQL 引擎

    分布式場(chǎng)景下SQL 語(yǔ)句執(zhí)行[14]的一個(gè)要點(diǎn)是如何跨多個(gè)數(shù)據(jù)分片計(jì)算并收集結(jié)果,如何實(shí)現(xiàn)跨節(jié)點(diǎn)JOIN.解決方案在于通過(guò)某一種維度進(jìn)行切分操作,分步JOIN之后再將結(jié)果聚合.Grid 組件在SQL 引擎的實(shí)現(xiàn)上對(duì)語(yǔ)句進(jìn)行了并行改造,通過(guò)對(duì)語(yǔ)句添加后綴將其路由到不同的數(shù)據(jù)分片實(shí)現(xiàn)并行計(jì)算.執(zhí)行過(guò)程如圖2所示.

    圖2 SQL 執(zhí)行過(guò)程

    對(duì)于一個(gè)查詢語(yǔ)句來(lái)說(shuō),SQL 引擎首先對(duì)語(yǔ)句改造后生成查詢計(jì)劃,然后最大限度的將查詢下推,在多個(gè)節(jié)點(diǎn)進(jìn)行并行查詢計(jì)算,并進(jìn)行結(jié)果歸并.結(jié)果歸并的過(guò)程采用了流式歸并,其與數(shù)據(jù)庫(kù)原生的返回結(jié)果集的方式最為契合.流式歸并將每一次從結(jié)果集中取到的數(shù)據(jù),通過(guò)逐條獲取的方式得到正確的單條數(shù)據(jù).具體來(lái)說(shuō),一個(gè)查詢語(yǔ)句經(jīng)過(guò)SQL 引擎的步驟如下:

    (1) 通過(guò)詞法語(yǔ)法解析獲取SQL 語(yǔ)句語(yǔ)義信息.

    (2) 對(duì)SQL 語(yǔ)句進(jìn)行必要的分布式并行執(zhí)行改造.

    (3) 盡可能地將查詢計(jì)算下推.

    (4) 當(dāng)涉及到多個(gè)數(shù)據(jù)分片,查詢會(huì)并行下發(fā)到多個(gè)數(shù)據(jù)分片進(jìn)行并行計(jì)算.

    (5) 根據(jù)執(zhí)行計(jì)劃對(duì)并行計(jì)算的結(jié)果集進(jìn)行歸并.

    (6) 歸并過(guò)程盡可能采用流式歸并.

    (7) 對(duì)于復(fù)雜的跨節(jié)點(diǎn)JOIN,通過(guò)分析語(yǔ)義將邏輯上獨(dú)立的子查詢塊拆分出來(lái)并行執(zhí)行.

    對(duì)于上述步驟描述的并行執(zhí)行計(jì)算,Grid 在實(shí)現(xiàn)上采用了物理與邏輯結(jié)合的方式,通過(guò)物理表拆分與SQL 邏輯拆分相結(jié)合的數(shù)據(jù)分發(fā)及并行處理技術(shù),如圖3所示,實(shí)現(xiàn)在數(shù)據(jù)分布式部署和并行查詢執(zhí)行計(jì)劃兩個(gè)層面的性能優(yōu)化,相對(duì)于單數(shù)據(jù)庫(kù)實(shí)例,查詢效率提升N倍(N=邏輯拆分?jǐn)?shù)×虛擬分片數(shù)).

    圖3 并行查詢

    跨節(jié)點(diǎn)JOIN[15]作為分布式數(shù)據(jù)庫(kù)實(shí)現(xiàn)的難點(diǎn)之一,需要對(duì)普通表和分區(qū)表同時(shí)進(jìn)行支持,跨節(jié)點(diǎn)JOIN指的是多個(gè)節(jié)點(diǎn)的聯(lián)表查詢,比如“SELECT…FROM t1,t2 WHERE”查詢語(yǔ)句,涉及到兩張表以上的查詢.如何對(duì)多個(gè)節(jié)點(diǎn)數(shù)據(jù)多個(gè)表進(jìn)行JOIN,調(diào)度層Grid 采用的做法是通過(guò)引擎將復(fù)雜JOIN 拆分為多個(gè)子句,將子句劃分為表組(Table Group),生成執(zhí)行計(jì)劃,通過(guò)創(chuàng)建臨時(shí)表的方式進(jìn)行遷移[16],如圖4所示.以子句

    圖4 跨節(jié)點(diǎn)JOIN

    “SELECT … FROM tb1,tb2,tb3 WHERE”為例,首先會(huì)根據(jù)可以MERGE 的tb1和tb3 表生成一個(gè)表組,tb2為另一個(gè)表組,然后創(chuàng)建臨時(shí)表遷移.遷移的過(guò)程包含以下步驟:

    (1) 在大表tb2 中創(chuàng)建記錄tb1,tb3 的臨時(shí)表.

    (2) 生成tb1、tb3 的SELECT 計(jì)劃1 數(shù)據(jù)下推.

    (3) 生成tb2 的SELECT 計(jì)劃2 同時(shí)創(chuàng)建臨時(shí)表.

    (4) 執(zhí)行SELECT 計(jì)劃1 移動(dòng)到tb2 中的臨時(shí)表.

    (5) 執(zhí)行SELECT 計(jì)劃2.

    對(duì)于普通表和分區(qū)表的JOIN,會(huì)在分區(qū)表的每一個(gè)節(jié)點(diǎn)創(chuàng)建臨時(shí)表,然后將普通表遷移到分區(qū)表每個(gè)節(jié)點(diǎn)的臨時(shí)表中,對(duì)于有等值分區(qū)列的JOIN 條件,則會(huì)將普通表按照分區(qū)表的分區(qū)算法散列到不同節(jié)點(diǎn).如果子句中的表都是分區(qū)表,限制查詢WHERE 語(yǔ)句必須包含分區(qū)列,將表按照分區(qū)散列算法遷移到多個(gè)節(jié)點(diǎn).遷移完成后,在分區(qū)節(jié)點(diǎn)中并行計(jì)算JOIN 結(jié)果并返回.

    2.2 事務(wù)與鎖

    對(duì)事務(wù)的支持是分布式數(shù)據(jù)庫(kù)和NoSQL 數(shù)據(jù)庫(kù)的一個(gè)主要區(qū)別,事務(wù)在數(shù)據(jù)庫(kù)中代表一系列操作要么全部完成,要么全部失敗[17],ACID 規(guī)定了事務(wù)操作的原子性、一致性、隔離性和持久性.在分布式情況下要保證ACID,常見(jiàn)的做法是使用兩階段提交算法(2PC).本文的分布式事務(wù)借鑒了XA 兩階段事務(wù)的實(shí)現(xiàn),通過(guò)事務(wù)管理器協(xié)調(diào)多節(jié)點(diǎn)之間的事務(wù),整個(gè)事務(wù)被分為準(zhǔn)備和提交兩個(gè)過(guò)程[18].

    2PC 存在事務(wù)管理器故障導(dǎo)致數(shù)據(jù)庫(kù)節(jié)點(diǎn)無(wú)法獲知事務(wù)提交狀態(tài)的問(wèn)題.在事務(wù)提交時(shí),事務(wù)管理器崩潰或者網(wǎng)絡(luò)出現(xiàn)故障,而數(shù)據(jù)庫(kù)節(jié)點(diǎn)無(wú)法獲知當(dāng)前事務(wù)是否提交成功或者回滾,只能處于等待狀態(tài).常見(jiàn)做法是將事務(wù)提交或者終止的狀態(tài)寫(xiě)入日志,在事務(wù)管理器恢復(fù)后,可以通過(guò)日志信息繼續(xù)事務(wù)過(guò)程.Grid 在實(shí)現(xiàn)上將分布式事務(wù)日志存儲(chǔ)在數(shù)據(jù)節(jié)點(diǎn)的元數(shù)據(jù)表中,同時(shí)提供主備數(shù)據(jù)副本支持.事務(wù)日志在數(shù)據(jù)節(jié)點(diǎn)中使用類(lèi)Raft 增強(qiáng)一致性同步協(xié)議確保數(shù)據(jù)強(qiáng)一致(類(lèi)Raft 協(xié)議的實(shí)現(xiàn)將在存儲(chǔ)一節(jié)詳細(xì)介紹),事務(wù)日志中包含了關(guān)聯(lián)節(jié)點(diǎn)的信息和提交狀態(tài),在出現(xiàn)故障時(shí),通過(guò)關(guān)聯(lián)事務(wù)日志列表和狀態(tài)日志匯總結(jié)果計(jì)算出事務(wù)提交列表以及回滾列表,將結(jié)果應(yīng)用到對(duì)應(yīng)的節(jié)點(diǎn)上.

    在鎖的支持上,Grid 實(shí)現(xiàn)了與MySQL 一致的支持,LOCK TABLE 會(huì)導(dǎo)致隱式提交,而DDL 語(yǔ)句導(dǎo)致事務(wù)的隱式提交,同時(shí)支持顯式行鎖以及FLUSH TABLE全局鎖.

    3 存儲(chǔ)

    分布式數(shù)據(jù)庫(kù)存儲(chǔ)層常見(jiàn)的方案有使用關(guān)系型數(shù)據(jù)庫(kù)(MySQL 等)和非關(guān)系型的鍵值數(shù)據(jù)庫(kù),比如TiDB和CockroachDB 都使用鍵值數(shù)據(jù)庫(kù)RocksDB[19]作為其存儲(chǔ)層實(shí)現(xiàn).鍵值數(shù)據(jù)庫(kù)常見(jiàn)的底層存儲(chǔ)模型包括LSM-Tree[20]、B-Tree和Hash 模型,LevelDB 及其變種RocksDB 皆使用LSM-Tree 模型,內(nèi)存型數(shù)據(jù)庫(kù)Redis 使用的是Hash 模型,對(duì)于關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō),其底層存儲(chǔ)模型常使用B 樹(shù)或者其變種,比如MySQL使用的就是B+樹(shù).本文在底層數(shù)據(jù)庫(kù)中使用MySQL數(shù)據(jù)庫(kù)作為數(shù)據(jù)集群,這樣可以最大限度的兼容原有MySQL 數(shù)據(jù)庫(kù),而以TiDB 等為代表的數(shù)據(jù)庫(kù)需要在存儲(chǔ)層和MySQL 的兼容性方面提供轉(zhuǎn)換層,對(duì)SQL語(yǔ)法的兼容性也不夠好.在集群的實(shí)現(xiàn)上,原生MySQL主從復(fù)制實(shí)現(xiàn)的可用性方案有諸多問(wèn)題,如果為同步復(fù)制,存在從節(jié)點(diǎn)失去響應(yīng)后導(dǎo)致主節(jié)點(diǎn)無(wú)法處理寫(xiě)入操作的問(wèn)題.另外主節(jié)點(diǎn)故障后如何選擇新的領(lǐng)導(dǎo)者(共識(shí)問(wèn)題),還可能出現(xiàn)腦裂的現(xiàn)象.本文使用類(lèi)Raft 的增強(qiáng)算法來(lái)保證數(shù)據(jù)的強(qiáng)一致性.

    Raft 作為經(jīng)典的共識(shí)算法,在2014 由Ongaro 根據(jù)Paxos 算法簡(jiǎn)化而來(lái)[8],Raft 通過(guò)領(lǐng)導(dǎo)選舉機(jī)制、日志復(fù)寫(xiě)和安全性機(jī)制保證集群節(jié)點(diǎn)在狀態(tài)轉(zhuǎn)換間的一致.除了對(duì)原有的算法實(shí)現(xiàn)外,本文在具體的算法細(xì)節(jié)上也做了相應(yīng)增強(qiáng),在實(shí)現(xiàn)上與Raft 算法中元素的對(duì)應(yīng)關(guān)系如表1所示.

    表1 Raft 算法對(duì)應(yīng)實(shí)現(xiàn)

    在領(lǐng)導(dǎo)選舉的實(shí)現(xiàn)上,通過(guò)數(shù)據(jù)副本的復(fù)制指向關(guān)系進(jìn)行投票,領(lǐng)導(dǎo)者在任期內(nèi)的Term 通過(guò)master_version 進(jìn)行維護(hù),如果主節(jié)點(diǎn)發(fā)生故障,調(diào)度節(jié)點(diǎn)Grid會(huì)通過(guò)RequestVote RPC 進(jìn)行冗余節(jié)點(diǎn)探測(cè)來(lái)觸發(fā)新投票過(guò)程,在投票過(guò)半數(shù)的情況下,首先遍歷所有存活候選從節(jié)點(diǎn),選取master_version 最大的節(jié)點(diǎn),并且檢查候選節(jié)點(diǎn)是否有巨大的復(fù)制延遲,首先選擇從節(jié)點(diǎn)版本最新的節(jié)點(diǎn)作為主節(jié)點(diǎn),如果無(wú)可用節(jié)點(diǎn)的話,則從延遲過(guò)大的節(jié)點(diǎn)中選擇.Raft 中主節(jié)點(diǎn)使用Append-Entries RPC 來(lái)向從節(jié)點(diǎn)同步日志和檢測(cè)從節(jié)點(diǎn)狀態(tài),本文的AppendEntries RPC 實(shí)現(xiàn)基于半同步復(fù)制,從節(jié)點(diǎn)直接對(duì)日志進(jìn)行應(yīng)用,同時(shí)基于閃回處理故障恢復(fù)節(jié)點(diǎn)[21,22].具體過(guò)程如圖5所示.

    圖5 類(lèi)Raft 增強(qiáng)一致性算法

    4 高可用

    在分布式數(shù)據(jù)庫(kù)的設(shè)計(jì)上,本文通過(guò)全組件的冗余設(shè)計(jì),保障了數(shù)據(jù)庫(kù)系統(tǒng)的高可用.在調(diào)度節(jié)點(diǎn)通過(guò)LVS 或F5 對(duì)外提供服務(wù),而調(diào)度節(jié)點(diǎn)本身基于配置節(jié)點(diǎn)進(jìn)行分布式領(lǐng)導(dǎo)選舉,保證節(jié)點(diǎn)可用性.數(shù)據(jù)節(jié)點(diǎn)的高可用保證通過(guò)采用類(lèi)Raft 增強(qiáng)一致性同步協(xié)議實(shí)現(xiàn).配置節(jié)點(diǎn)基于Zookeeper 實(shí)現(xiàn)了原生高可靠的支持,支持雙機(jī)房切換恢復(fù).

    調(diào)度節(jié)點(diǎn)作為分布式數(shù)據(jù)庫(kù)的核心,依賴配置節(jié)點(diǎn)存儲(chǔ)調(diào)度信息.調(diào)度節(jié)點(diǎn)為主從模式,其關(guān)鍵在于主節(jié)點(diǎn)故障時(shí)如何在從節(jié)點(diǎn)中選取新的領(lǐng)導(dǎo)者,同時(shí)由于調(diào)度節(jié)點(diǎn)相對(duì)于數(shù)據(jù)節(jié)點(diǎn)不涉及業(yè)務(wù)數(shù)據(jù),只有少量元數(shù)據(jù)需要同步,因此調(diào)度節(jié)點(diǎn)Grid 直接使用Zookeeper中的Zab 算法[23]來(lái)保證.調(diào)度節(jié)點(diǎn)之上基于F5,從硬件層面保證負(fù)載均衡實(shí)現(xiàn)多活高可靠.如圖6所示.

    圖6 高可用

    數(shù)據(jù)節(jié)點(diǎn)的高可用通過(guò)MySQL 數(shù)據(jù)庫(kù)集群,使用類(lèi)Raft 增強(qiáng)一致性算法實(shí)現(xiàn)單節(jié)點(diǎn)宕機(jī)后其他節(jié)點(diǎn)也能正常提供服務(wù),保障高可用,同時(shí)也保證了節(jié)點(diǎn)間數(shù)據(jù)的一致,具體實(shí)現(xiàn)細(xì)節(jié)在存儲(chǔ)一節(jié)有介紹.

    除了高可用外,在擴(kuò)展性方面,系統(tǒng)中的所有節(jié)點(diǎn)均可動(dòng)態(tài)添加和刪除,不影響系統(tǒng)運(yùn)行.其中,調(diào)度節(jié)點(diǎn)依賴Zookeeper 同時(shí)實(shí)現(xiàn)了集群節(jié)點(diǎn)的動(dòng)態(tài)增減,保證了整個(gè)集群吞吐性能的橫向擴(kuò)展,通過(guò)從節(jié)點(diǎn)的在線添加與在線刪除實(shí)現(xiàn)節(jié)點(diǎn)在線滾動(dòng)升級(jí).而數(shù)據(jù)節(jié)點(diǎn)的擴(kuò)展,同時(shí)支持邏輯和物理上的在線單調(diào)重分布.

    5 實(shí)驗(yàn)與應(yīng)用

    為了更直觀的了解本文分布式數(shù)據(jù)庫(kù)的性能,實(shí)驗(yàn)采用標(biāo)準(zhǔn)的TPC-C 數(shù)據(jù)庫(kù)基準(zhǔn),使用國(guó)產(chǎn)鯤鵬服務(wù)器集群對(duì)分布式事務(wù)性能(TPMC)進(jìn)行測(cè)試.其中,每臺(tái)鯤鵬服務(wù)器配置為泰山服務(wù)器2280 v2、兩個(gè)KunPeng920 64 核CPU、內(nèi)存64 GB、系統(tǒng)盤(pán)和數(shù)據(jù)盤(pán)分別為兩個(gè)600 GB SAS 盤(pán)、12 個(gè)800 GB SAS SSD.實(shí)驗(yàn)通過(guò)控制集群節(jié)點(diǎn)數(shù)的增加,測(cè)試數(shù)據(jù)庫(kù)在事務(wù)處理上的性能,測(cè)試結(jié)果如圖7所示.

    圖7 TPMC 1000 倉(cāng)庫(kù)

    從圖7可以看出,本文的分布式數(shù)據(jù)庫(kù)在3 節(jié)點(diǎn)的集群上每分鐘最高可以達(dá)到110 w 的事務(wù)處理,隨著節(jié)點(diǎn)的數(shù)的增加,事務(wù)處理能力也線性上升,在6 節(jié)點(diǎn)集群中事務(wù)處理可以達(dá)到每分鐘220 w,橫向擴(kuò)展比大于0.95.證明了該數(shù)據(jù)庫(kù)在性能上以及擴(kuò)展上的優(yōu)秀表現(xiàn).

    目前,分布式數(shù)據(jù)庫(kù)已經(jīng)在國(guó)內(nèi)某銀行業(yè)務(wù)系統(tǒng)中使用,經(jīng)過(guò)技術(shù)方案、前期業(yè)務(wù)功能試點(diǎn),該系統(tǒng)全部繳費(fèi)業(yè)務(wù)單元已經(jīng)逐步遷移到分布式數(shù)據(jù)庫(kù)系統(tǒng)中.

    原有數(shù)據(jù)庫(kù)經(jīng)過(guò)分布式改造之后,在架構(gòu)上更加清晰,分布式數(shù)據(jù)庫(kù)對(duì)外仍然像單機(jī)數(shù)據(jù)庫(kù)一樣提供服務(wù).在系統(tǒng)部署架構(gòu)上,采用雙機(jī)房運(yùn)行的方式,利用兩臺(tái)備份服務(wù)器和兩臺(tái)逃生服務(wù)器保障數(shù)據(jù)完整,在數(shù)據(jù)節(jié)點(diǎn)的配置上,MySQL 集群節(jié)點(diǎn)采用一主一從和兩從節(jié)點(diǎn)分機(jī)房運(yùn)行的方式,通過(guò)配置保障同機(jī)房和跨機(jī)房數(shù)據(jù)強(qiáng)一致性,調(diào)度節(jié)點(diǎn)各機(jī)房使用三臺(tái)服務(wù)器為系統(tǒng)提供調(diào)度保障.

    經(jīng)過(guò)對(duì)分布式數(shù)據(jù)庫(kù)實(shí)際運(yùn)行中的測(cè)試,銀行業(yè)務(wù)系統(tǒng)在聯(lián)機(jī)同步交易單筆查詢和繳費(fèi)響應(yīng)的時(shí)間小于100 ms,在可用性方面,系統(tǒng)整體可用率達(dá)到99.99%,并且數(shù)據(jù)不易丟失和損壞.相較于原有數(shù)據(jù)庫(kù)系統(tǒng),現(xiàn)有分布式數(shù)據(jù)庫(kù)有更靈活的擴(kuò)展能力,集群可動(dòng)態(tài)擴(kuò)展,各個(gè)功能節(jié)點(diǎn)發(fā)生故障可實(shí)時(shí)切換,系統(tǒng)發(fā)生故障的次數(shù)也大幅度下降.

    6 結(jié)論

    本文研究并實(shí)現(xiàn)了基于Raft 的增強(qiáng)一致性算法和Zookeeper 集群調(diào)度的分布式數(shù)據(jù)庫(kù)系統(tǒng),通過(guò)全節(jié)點(diǎn)的冗余設(shè)計(jì)以及調(diào)度層對(duì)SQL 引擎和分布式事務(wù)的研究實(shí)現(xiàn),為大規(guī)模金融數(shù)據(jù)的高可用以及強(qiáng)一致性提供了有力支持.在數(shù)據(jù)庫(kù)測(cè)試中表現(xiàn)出了優(yōu)異的性能,在實(shí)際金融業(yè)務(wù)系統(tǒng)的穩(wěn)定運(yùn)行也表明該系統(tǒng)在金融行業(yè)應(yīng)用的優(yōu)勢(shì).不過(guò),本文的分布式數(shù)據(jù)庫(kù)在設(shè)計(jì)與實(shí)現(xiàn)上也有不足之處,比如限于研發(fā)難度使用多種一致性算法,增加了運(yùn)維難度,后續(xù)會(huì)在這方面進(jìn)一步改進(jìn).

    猜你喜歡
    事務(wù)語(yǔ)句一致性
    “事物”與“事務(wù)”
    基于分布式事務(wù)的門(mén)架數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
    關(guān)注減污降碳協(xié)同的一致性和整體性
    公民與法治(2022年5期)2022-07-29 00:47:28
    注重教、學(xué)、評(píng)一致性 提高一輪復(fù)習(xí)效率
    IOl-master 700和Pentacam測(cè)量Kappa角一致性分析
    重點(diǎn):語(yǔ)句銜接
    河湖事務(wù)
    精彩語(yǔ)句
    基于事件觸發(fā)的多智能體輸入飽和一致性控制
    如何搞定語(yǔ)句銜接題
    操美女的视频在线观看| 性色av一级| 美女中出高潮动态图| 岛国毛片在线播放| 91aial.com中文字幕在线观看| 久久久国产一区二区| 好男人视频免费观看在线| 久久久久久免费高清国产稀缺| av在线老鸭窝| 天天添夜夜摸| 少妇被粗大猛烈的视频| 亚洲精品av麻豆狂野| 黄色视频在线播放观看不卡| 考比视频在线观看| 美女大奶头黄色视频| 成人国产av品久久久| 成人漫画全彩无遮挡| 五月天丁香电影| 伊人久久国产一区二区| 久久精品人人爽人人爽视色| 一区在线观看完整版| 欧美精品av麻豆av| 欧美成人午夜精品| 午夜免费观看性视频| 欧美日韩综合久久久久久| 99香蕉大伊视频| 在线观看国产h片| 老司机亚洲免费影院| 女人高潮潮喷娇喘18禁视频| 黄色一级大片看看| 亚洲国产av影院在线观看| 人人妻人人添人人爽欧美一区卜| 亚洲欧美激情在线| 宅男免费午夜| 久久性视频一级片| 亚洲精品国产色婷婷电影| 老司机亚洲免费影院| 新久久久久国产一级毛片| www.av在线官网国产| 日本av免费视频播放| 欧美中文综合在线视频| 欧美日韩av久久| 午夜影院在线不卡| 欧美xxⅹ黑人| 午夜久久久在线观看| 99久国产av精品国产电影| 极品少妇高潮喷水抽搐| 国产成人精品在线电影| 日本wwww免费看| 卡戴珊不雅视频在线播放| 亚洲精品在线美女| 宅男免费午夜| 黄片无遮挡物在线观看| 啦啦啦中文免费视频观看日本| 亚洲熟女毛片儿| 国产av一区二区精品久久| 男女下面插进去视频免费观看| 操美女的视频在线观看| 亚洲精品国产av成人精品| 99久久人妻综合| 久久久久久久久久久免费av| 少妇人妻 视频| av国产精品久久久久影院| 建设人人有责人人尽责人人享有的| 亚洲精品久久成人aⅴ小说| 中文字幕另类日韩欧美亚洲嫩草| 可以免费在线观看a视频的电影网站 | 日韩中文字幕欧美一区二区 | 90打野战视频偷拍视频| 日本vs欧美在线观看视频| 久久国产精品男人的天堂亚洲| 亚洲av日韩精品久久久久久密 | 又粗又硬又长又爽又黄的视频| 免费日韩欧美在线观看| 日韩 欧美 亚洲 中文字幕| 国产福利在线免费观看视频| 久久久久人妻精品一区果冻| 精品国产超薄肉色丝袜足j| 久久久欧美国产精品| 18在线观看网站| 自拍欧美九色日韩亚洲蝌蚪91| 嫩草影院入口| 国产精品久久久av美女十八| 亚洲精品视频女| 久久久久人妻精品一区果冻| 日韩制服丝袜自拍偷拍| 色网站视频免费| 十分钟在线观看高清视频www| 亚洲四区av| 国产免费又黄又爽又色| 大香蕉久久成人网| 久久韩国三级中文字幕| 女人高潮潮喷娇喘18禁视频| 男女免费视频国产| 久久影院123| 热re99久久精品国产66热6| 精品少妇黑人巨大在线播放| 菩萨蛮人人尽说江南好唐韦庄| 日韩欧美精品免费久久| 国产av一区二区精品久久| av在线观看视频网站免费| 校园人妻丝袜中文字幕| 91成人精品电影| 免费女性裸体啪啪无遮挡网站| 自拍欧美九色日韩亚洲蝌蚪91| 水蜜桃什么品种好| 亚洲精品美女久久av网站| 99热国产这里只有精品6| 日日爽夜夜爽网站| 日日啪夜夜爽| 电影成人av| 久久影院123| 晚上一个人看的免费电影| 女性生殖器流出的白浆| 日韩av免费高清视频| 精品少妇一区二区三区视频日本电影 | 久久久久久久久久久久大奶| 久久久久久久精品精品| 亚洲国产精品国产精品| 大话2 男鬼变身卡| 制服人妻中文乱码| 97在线人人人人妻| 日韩大码丰满熟妇| 中文字幕av电影在线播放| 国产在线一区二区三区精| 欧美激情高清一区二区三区 | 捣出白浆h1v1| 国产成人91sexporn| 欧美人与性动交α欧美软件| 久久天堂一区二区三区四区| 日本wwww免费看| 在现免费观看毛片| 亚洲精品美女久久久久99蜜臀 | 9191精品国产免费久久| 精品一区二区三卡| 男人操女人黄网站| 国产精品久久久久成人av| 欧美黑人精品巨大| 欧美日韩福利视频一区二区| 国产精品熟女久久久久浪| 国产成人午夜福利电影在线观看| 又大又黄又爽视频免费| 黄色视频在线播放观看不卡| 亚洲在久久综合| 久久久精品国产亚洲av高清涩受| 亚洲欧美中文字幕日韩二区| 国产在线免费精品| 日本猛色少妇xxxxx猛交久久| 亚洲欧美激情在线| 免费观看人在逋| 国产亚洲午夜精品一区二区久久| 欧美 日韩 精品 国产| 99精国产麻豆久久婷婷| 国产精品欧美亚洲77777| 国产精品久久久久久精品古装| 亚洲av日韩精品久久久久久密 | 精品一区二区三区av网在线观看 | av免费观看日本| 亚洲国产最新在线播放| 精品一品国产午夜福利视频| 99热国产这里只有精品6| 日本欧美国产在线视频| 亚洲久久久国产精品| 亚洲国产av新网站| 精品少妇一区二区三区视频日本电影 | 国产熟女午夜一区二区三区| 丰满少妇做爰视频| 免费在线观看完整版高清| 亚洲美女视频黄频| 亚洲精品成人av观看孕妇| 国产精品.久久久| 国产男人的电影天堂91| 老汉色∧v一级毛片| 国产男女超爽视频在线观看| 国产精品一区二区在线不卡| 伊人久久大香线蕉亚洲五| 成年美女黄网站色视频大全免费| 久久精品久久精品一区二区三区| 国产日韩欧美在线精品| 久久精品久久久久久噜噜老黄| 免费在线观看视频国产中文字幕亚洲 | 最近的中文字幕免费完整| 捣出白浆h1v1| 久久久国产一区二区| 欧美亚洲日本最大视频资源| 成人毛片60女人毛片免费| 国产精品女同一区二区软件| 无遮挡黄片免费观看| 国产精品国产三级专区第一集| 亚洲国产欧美网| 午夜福利一区二区在线看| 日韩伦理黄色片| 久久久久网色| 夫妻性生交免费视频一级片| 黑人欧美特级aaaaaa片| 国产色婷婷99| 少妇人妻久久综合中文| 亚洲精品中文字幕在线视频| 精品福利永久在线观看| 亚洲色图 男人天堂 中文字幕| 亚洲国产最新在线播放| 国产一区二区三区综合在线观看| 欧美另类一区| 国产精品麻豆人妻色哟哟久久| 一区二区三区精品91| netflix在线观看网站| 少妇被粗大的猛进出69影院| xxx大片免费视频| 韩国高清视频一区二区三区| 亚洲精品aⅴ在线观看| 精品少妇久久久久久888优播| 久久久国产欧美日韩av| 哪个播放器可以免费观看大片| 2021少妇久久久久久久久久久| 高清视频免费观看一区二区| 国产男女内射视频| 久久久久久久国产电影| 亚洲av国产av综合av卡| 亚洲一区中文字幕在线| 美女脱内裤让男人舔精品视频| 丰满迷人的少妇在线观看| 国产乱人偷精品视频| 亚洲精品视频女| 一级毛片我不卡| 久久av网站| 各种免费的搞黄视频| 啦啦啦啦在线视频资源| 久久av网站| 两性夫妻黄色片| 欧美国产精品va在线观看不卡| 91成人精品电影| 久久99一区二区三区| 人人澡人人妻人| 欧美在线黄色| 99热国产这里只有精品6| 亚洲欧美精品综合一区二区三区| 大陆偷拍与自拍| 久久人人爽av亚洲精品天堂| 无遮挡黄片免费观看| 亚洲熟女精品中文字幕| 国产精品嫩草影院av在线观看| 在线天堂中文资源库| 熟女少妇亚洲综合色aaa.| 男人舔女人的私密视频| 亚洲精品自拍成人| 美国免费a级毛片| 深夜精品福利| 欧美另类一区| 精品亚洲成国产av| 一区在线观看完整版| 曰老女人黄片| 色94色欧美一区二区| 男女国产视频网站| avwww免费| 午夜老司机福利片| 热re99久久精品国产66热6| 欧美xxⅹ黑人| 99九九在线精品视频| 亚洲男人天堂网一区| 久久久久国产一级毛片高清牌| 国产精品久久久久久久久免| 亚洲精品,欧美精品| 欧美 亚洲 国产 日韩一| 国产在线视频一区二区| 欧美国产精品一级二级三级| 黑人巨大精品欧美一区二区蜜桃| 亚洲精品久久久久久婷婷小说| 无限看片的www在线观看| 91精品三级在线观看| 大片电影免费在线观看免费| 国产亚洲精品第一综合不卡| 精品国产一区二区久久| 飞空精品影院首页| 汤姆久久久久久久影院中文字幕| 日韩 亚洲 欧美在线| 你懂的网址亚洲精品在线观看| 亚洲精品av麻豆狂野| 亚洲精品一二三| 久久久久国产一级毛片高清牌| 亚洲美女搞黄在线观看| 少妇被粗大猛烈的视频| 悠悠久久av| 色精品久久人妻99蜜桃| 97人妻天天添夜夜摸| 国产av码专区亚洲av| 啦啦啦在线免费观看视频4| 午夜免费男女啪啪视频观看| 欧美少妇被猛烈插入视频| 午夜福利视频在线观看免费| 极品人妻少妇av视频| 国产成人欧美| 午夜av观看不卡| 久久久久国产精品人妻一区二区| 天天操日日干夜夜撸| 9191精品国产免费久久| 老司机影院毛片| 亚洲精品久久午夜乱码| 亚洲成av片中文字幕在线观看| 国产精品免费大片| 欧美av亚洲av综合av国产av | 男人添女人高潮全过程视频| 在线观看免费午夜福利视频| 亚洲四区av| 深夜精品福利| 国产国语露脸激情在线看| 9191精品国产免费久久| 少妇精品久久久久久久| 最近中文字幕高清免费大全6| 在现免费观看毛片| 男女床上黄色一级片免费看| 精品一区二区免费观看| 国产在视频线精品| 欧美黑人精品巨大| 又大又爽又粗| 少妇猛男粗大的猛烈进出视频| 精品亚洲成a人片在线观看| 欧美在线一区亚洲| 校园人妻丝袜中文字幕| 男女无遮挡免费网站观看| 日韩伦理黄色片| 国产黄色视频一区二区在线观看| 在线天堂中文资源库| 国产成人欧美在线观看 | 美女大奶头黄色视频| xxx大片免费视频| 五月天丁香电影| 国产色婷婷99| 色网站视频免费| 亚洲欧美成人综合另类久久久| 啦啦啦视频在线资源免费观看| 老司机靠b影院| 色94色欧美一区二区| 可以免费在线观看a视频的电影网站 | av片东京热男人的天堂| 久久精品国产综合久久久| 丁香六月天网| 国产免费又黄又爽又色| 一个人免费看片子| 男的添女的下面高潮视频| 天美传媒精品一区二区| 无遮挡黄片免费观看| 久久99一区二区三区| 国产日韩一区二区三区精品不卡| 青春草国产在线视频| 黄色一级大片看看| 午夜老司机福利片| 九色亚洲精品在线播放| 两个人免费观看高清视频| 麻豆av在线久日| 国产1区2区3区精品| 一个人免费看片子| 欧美亚洲 丝袜 人妻 在线| 我的亚洲天堂| 午夜福利视频在线观看免费| 丝袜人妻中文字幕| 亚洲婷婷狠狠爱综合网| 国产免费又黄又爽又色| 哪个播放器可以免费观看大片| 免费日韩欧美在线观看| 99精国产麻豆久久婷婷| 超碰成人久久| 51午夜福利影视在线观看| 最近手机中文字幕大全| 啦啦啦 在线观看视频| 久久99热这里只频精品6学生| 亚洲久久久国产精品| 国产成人av激情在线播放| 亚洲国产精品999| 丰满乱子伦码专区| 熟女av电影| 9色porny在线观看| 成年人免费黄色播放视频| 日本av手机在线免费观看| 亚洲,欧美,日韩| 亚洲av电影在线观看一区二区三区| 国产不卡av网站在线观看| 国产视频首页在线观看| 国产精品二区激情视频| 日日摸夜夜添夜夜爱| 美女高潮到喷水免费观看| 亚洲精品av麻豆狂野| 五月开心婷婷网| 卡戴珊不雅视频在线播放| 看十八女毛片水多多多| 欧美乱码精品一区二区三区| 国产免费福利视频在线观看| 欧美精品亚洲一区二区| 日韩大码丰满熟妇| 婷婷色av中文字幕| 久久久久精品久久久久真实原创| 男女午夜视频在线观看| 日韩中文字幕视频在线看片| 久久狼人影院| 久久久久人妻精品一区果冻| 老汉色av国产亚洲站长工具| 最近中文字幕高清免费大全6| 大香蕉久久网| 午夜日韩欧美国产| 欧美激情高清一区二区三区 | 日韩av在线免费看完整版不卡| 亚洲欧美精品综合一区二区三区| 久久精品亚洲av国产电影网| 纯流量卡能插随身wifi吗| 99热国产这里只有精品6| 99久久人妻综合| 国产97色在线日韩免费| 久久精品熟女亚洲av麻豆精品| 2018国产大陆天天弄谢| 亚洲视频免费观看视频| 国产成人av激情在线播放| 19禁男女啪啪无遮挡网站| 黄色毛片三级朝国网站| 中文字幕人妻丝袜制服| 老司机亚洲免费影院| 成人毛片60女人毛片免费| 老司机亚洲免费影院| 亚洲国产欧美一区二区综合| 久热爱精品视频在线9| 国产精品偷伦视频观看了| 国产精品久久久久久久久免| 99久久精品国产亚洲精品| 十八禁高潮呻吟视频| 中国三级夫妇交换| 一级爰片在线观看| 欧美少妇被猛烈插入视频| 午夜福利,免费看| 国产av国产精品国产| 免费高清在线观看日韩| a级毛片黄视频| 这个男人来自地球电影免费观看 | 十分钟在线观看高清视频www| 天天影视国产精品| 搡老乐熟女国产| 国产在线视频一区二区| 一级毛片我不卡| 国产成人精品无人区| 一级黄片播放器| 黄片无遮挡物在线观看| 国产在线一区二区三区精| 精品久久蜜臀av无| 国产av一区二区精品久久| 人人澡人人妻人| 成人免费观看视频高清| 老司机亚洲免费影院| 亚洲一区二区三区欧美精品| 亚洲国产成人一精品久久久| 国产成人欧美在线观看 | 只有这里有精品99| 嫩草影视91久久| 中文字幕色久视频| 国产av一区二区精品久久| 我的亚洲天堂| 最近中文字幕2019免费版| 男人爽女人下面视频在线观看| 亚洲av中文av极速乱| 蜜桃国产av成人99| 亚洲伊人久久精品综合| 成年动漫av网址| 久久综合国产亚洲精品| 99久国产av精品国产电影| 满18在线观看网站| 久久精品久久久久久久性| 亚洲欧洲国产日韩| 免费少妇av软件| 中文字幕最新亚洲高清| 伦理电影大哥的女人| 中文字幕精品免费在线观看视频| 国产黄色免费在线视频| 男人舔女人的私密视频| 大片电影免费在线观看免费| 亚洲久久久国产精品| 99久久99久久久精品蜜桃| 亚洲av日韩在线播放| 亚洲熟女毛片儿| 国产国语露脸激情在线看| 国产日韩欧美在线精品| 两个人看的免费小视频| 亚洲av日韩精品久久久久久密 | 热re99久久精品国产66热6| 少妇人妻 视频| 美女午夜性视频免费| 久久影院123| 午夜福利免费观看在线| 亚洲精品日本国产第一区| 大香蕉久久成人网| 极品少妇高潮喷水抽搐| 欧美中文综合在线视频| 欧美激情极品国产一区二区三区| 国产精品嫩草影院av在线观看| 一区二区三区精品91| 国产在线一区二区三区精| 午夜久久久在线观看| 不卡视频在线观看欧美| 99久国产av精品国产电影| 超色免费av| 亚洲伊人色综图| 日韩av免费高清视频| 国产成人一区二区在线| 99九九在线精品视频| 日韩一本色道免费dvd| 国产一级毛片在线| 大码成人一级视频| 国产成人一区二区在线| 一本大道久久a久久精品| 免费高清在线观看视频在线观看| 高清在线视频一区二区三区| 亚洲精品国产色婷婷电影| 久久久久久久久久久免费av| 国产精品99久久99久久久不卡 | 精品一区二区三卡| 校园人妻丝袜中文字幕| 欧美xxⅹ黑人| 欧美亚洲日本最大视频资源| av又黄又爽大尺度在线免费看| 午夜福利,免费看| 人妻人人澡人人爽人人| 国产精品偷伦视频观看了| 男女午夜视频在线观看| 青春草亚洲视频在线观看| videosex国产| 久热爱精品视频在线9| 午夜老司机福利片| 亚洲人成网站在线观看播放| 亚洲国产欧美网| 久久久久久久久久久久大奶| 成年av动漫网址| 一边亲一边摸免费视频| 成年人免费黄色播放视频| www日本在线高清视频| 91aial.com中文字幕在线观看| 在线观看人妻少妇| 欧美日韩视频高清一区二区三区二| 中文字幕另类日韩欧美亚洲嫩草| 麻豆乱淫一区二区| e午夜精品久久久久久久| 久久久欧美国产精品| 9191精品国产免费久久| 超色免费av| videos熟女内射| 国产精品一区二区在线不卡| 国产精品av久久久久免费| 少妇人妻精品综合一区二区| 亚洲天堂av无毛| 日本91视频免费播放| 欧美久久黑人一区二区| 狠狠婷婷综合久久久久久88av| 一级a爱视频在线免费观看| 精品一区二区三区四区五区乱码 | 日韩,欧美,国产一区二区三区| 丝袜脚勾引网站| 69精品国产乱码久久久| 国产淫语在线视频| 91精品伊人久久大香线蕉| 老鸭窝网址在线观看| 自线自在国产av| 亚洲欧洲精品一区二区精品久久久 | 叶爱在线成人免费视频播放| 韩国av在线不卡| 成人国语在线视频| 99re6热这里在线精品视频| 国产精品久久久久成人av| 免费观看a级毛片全部| 精品一区二区三卡| 国产成人a∨麻豆精品| 亚洲av国产av综合av卡| 97在线人人人人妻| 中国国产av一级| 狠狠婷婷综合久久久久久88av| 欧美亚洲日本最大视频资源| 一边亲一边摸免费视频| 国产精品一区二区在线观看99| 亚洲欧美激情在线| 久久久久国产一级毛片高清牌| 19禁男女啪啪无遮挡网站| 九色亚洲精品在线播放| 日日撸夜夜添| 亚洲精品美女久久久久99蜜臀 | 午夜福利乱码中文字幕| 精品卡一卡二卡四卡免费| 大香蕉久久成人网| 日韩视频在线欧美| 丁香六月欧美| 色精品久久人妻99蜜桃| 在线观看人妻少妇| 久久97久久精品| 1024视频免费在线观看| 国产野战对白在线观看| 人人妻人人添人人爽欧美一区卜| 人成视频在线观看免费观看| 国产在线一区二区三区精| 久久综合国产亚洲精品| 国产成人精品无人区| 国产深夜福利视频在线观看| 黑人欧美特级aaaaaa片| 久久99一区二区三区| 老熟女久久久| 观看美女的网站| 欧美在线一区亚洲| 97在线人人人人妻| 免费观看性生交大片5| 麻豆av在线久日| 国产一区有黄有色的免费视频| 啦啦啦视频在线资源免费观看| 这个男人来自地球电影免费观看 | 91老司机精品| av网站免费在线观看视频| 亚洲av在线观看美女高潮| 国产成人av激情在线播放| 美女大奶头黄色视频| 日本91视频免费播放| 久久97久久精品| 国产精品国产三级专区第一集| 精品一区二区三卡| av国产久精品久网站免费入址| 午夜av观看不卡|