999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

表廣播機(jī)制在MyCat中的實(shí)現(xiàn)

2018-03-20 09:10:17梁正和王法強(qiáng)
關(guān)鍵詞:數(shù)據(jù)庫(kù)機(jī)制

王 錦,梁正和,王法強(qiáng)

(河海大學(xué) 計(jì)算機(jī)與信息學(xué)院,江蘇 南京 211110)

0 引 言

隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,移動(dòng)網(wǎng)絡(luò)、局域網(wǎng)、廣域網(wǎng)、Internet得到了巨大的發(fā)展,集中部署的單機(jī)數(shù)據(jù)庫(kù)系統(tǒng)己經(jīng)不能夠適應(yīng)這樣的環(huán)境[1],使用服務(wù)器集群來(lái)解決海量數(shù)據(jù)[2]成為必然趨勢(shì),分布式數(shù)據(jù)庫(kù)應(yīng)運(yùn)而生。MyCat分布式數(shù)據(jù)庫(kù)中間件[3]由阿里巴巴的開(kāi)源項(xiàng)目cobar[4]發(fā)展而來(lái),其本身提供了分布式資源整合方案。該產(chǎn)品具有雙機(jī)熱備份、負(fù)載均衡、SQL語(yǔ)句重寫(xiě)、讀寫(xiě)分離[5]、查詢路由、多臺(tái)數(shù)據(jù)庫(kù)并行處理以及結(jié)果集合并等功能[6],并提供了對(duì)MySQL、PostGreSQL等應(yīng)用廣泛的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)的分布式支持。該分布式數(shù)據(jù)庫(kù)中間件為用戶提供廉價(jià)的數(shù)據(jù)庫(kù)集群,平滑地將現(xiàn)有的單機(jī)集中式數(shù)據(jù)庫(kù)和應(yīng)用遷移到“云”[7]端,同時(shí)保留原有數(shù)據(jù)庫(kù)的查詢能力。

通過(guò)MyCat可以搭建以MySQL為底層節(jié)點(diǎn)的分布式數(shù)據(jù)庫(kù)系統(tǒng),系統(tǒng)通過(guò)MySQL的通信協(xié)議[8]與用戶以及底層數(shù)據(jù)庫(kù)通信。對(duì)于用戶,通過(guò)該中間件能夠透明地訪問(wèn)整個(gè)集群,故而原有的基于MySQL開(kāi)發(fā)的應(yīng)用均無(wú)需修改,直接遷移到分布式系統(tǒng)中。該系統(tǒng)在中間件中建立了完整的Schema(模式)、Table(表)、User(用戶)的邏輯模型,將整套模型通過(guò)邏輯規(guī)則映射到每個(gè)數(shù)據(jù)節(jié)點(diǎn)上的MySQL實(shí)例中,并可以實(shí)現(xiàn)事務(wù)處理。

面對(duì)一些數(shù)據(jù)量巨大的表,可以通過(guò)MyCat對(duì)數(shù)據(jù)進(jìn)行水平切分[9],在保證每個(gè)分片節(jié)點(diǎn)的表結(jié)構(gòu)一致的情況下,將表映射到不同的數(shù)據(jù)引擎上,從邏輯上實(shí)現(xiàn)數(shù)據(jù)庫(kù)容量的擴(kuò)充。MyCat不支持跨分片連接查詢,需要將與其關(guān)聯(lián)的表設(shè)置為全局表分布在各個(gè)分片上。由于MyCat的弱Xa事務(wù)[10]機(jī)制,頻繁操縱全局表可能會(huì)導(dǎo)致異常情況的發(fā)生:某個(gè)用戶在修改好全局表提交的一瞬間,忽然某個(gè)節(jié)點(diǎn)出錯(cuò)了,可能會(huì)出現(xiàn)某些節(jié)點(diǎn)已成功修改而出錯(cuò)節(jié)點(diǎn)數(shù)據(jù)無(wú)變更,使得各個(gè)節(jié)點(diǎn)數(shù)據(jù)不一致的情況。對(duì)于一個(gè)大企業(yè),該類(lèi)問(wèn)題是難以忍受的。MyCat中的表廣播機(jī)制改變了原始的對(duì)全局表的操作邏輯,把原來(lái)的同時(shí)向多個(gè)節(jié)點(diǎn)發(fā)送的DML[11]消息,修改為只向全局表中的主節(jié)點(diǎn)發(fā)送廣播消息,待主節(jié)點(diǎn)接收消息后再向其他節(jié)點(diǎn)發(fā)送廣播,通知其他節(jié)點(diǎn)有新消息到達(dá),實(shí)現(xiàn)各節(jié)點(diǎn)間的數(shù)據(jù)同步。若主節(jié)點(diǎn)在修改過(guò)程中突遇異常情況致使操作中斷,則所有節(jié)點(diǎn)均無(wú)修改操作;若其他節(jié)點(diǎn)在同步過(guò)程中出現(xiàn)意外中斷,待故障排除后,繼續(xù)未完成的同步工作,成功解決了多個(gè)節(jié)點(diǎn)數(shù)據(jù)不一致的問(wèn)題。

1 MyCat中的表廣播機(jī)制

1.1 MyCat中的弱XA事務(wù)

MyCat中的事務(wù)主要包括SQL不跨分片事務(wù)和SQL跨分片事務(wù)[3]。對(duì)于SQL不跨分片這種情況,SQL僅僅是在一個(gè)數(shù)據(jù)節(jié)點(diǎn)上執(zhí)行,此時(shí)MyCat事務(wù)模式同標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)事務(wù)模式[12]完全一致,或提交、或回滾,能夠保證強(qiáng)一致性[13];對(duì)于SQL跨分片的事務(wù),首先事務(wù)內(nèi)的SQL在各自的分片上執(zhí)行并返回狀態(tài)碼,若某個(gè)分片上的返回碼為ERROR,則MyCat認(rèn)為事務(wù)失敗,應(yīng)用端只能回滾(rollback)事務(wù),MyCat收到回滾指令后,依次回滾事務(wù)中涉及到的所有分片;若事務(wù)中的所有SQL的執(zhí)行都返回成功(OK)的返回碼,則應(yīng)用程序提交事務(wù),由MyCat同時(shí)向事務(wù)中涉及到的節(jié)點(diǎn)發(fā)送提交事務(wù)的指令(commit),在commit的時(shí)候,若某個(gè)節(jié)點(diǎn)出錯(cuò),MyCat也無(wú)法等節(jié)點(diǎn)恢復(fù)后重新commit,出現(xiàn)部分節(jié)點(diǎn)commit成功而部分節(jié)點(diǎn)沒(méi)有commit的情況。由于跨分片事務(wù)的第二階段無(wú)法保證強(qiáng)一致性,稱MyCat是一種弱XA事務(wù)模式。

1.2 表廣播機(jī)制的基本原理

表廣播機(jī)制的實(shí)現(xiàn)主要分為三個(gè)步驟:

(1)用戶發(fā)送DML(數(shù)據(jù)操作語(yǔ)言)請(qǐng)求,主機(jī)接收到命令,向主節(jié)點(diǎn)發(fā)送廣播。主節(jié)點(diǎn)接收到消息,將消息記錄到二進(jìn)制文件,并將消息發(fā)送給其他從節(jié)點(diǎn)。

(2)從節(jié)點(diǎn)讀取消息,并將消息寫(xiě)入到自己的中繼日志。

(3)從節(jié)點(diǎn)重做中繼日志中的事件,并改變自己的數(shù)據(jù)。

如圖1所示,主機(jī)接受請(qǐng)求后向主節(jié)點(diǎn)發(fā)送廣播,主節(jié)點(diǎn)接收消息并記錄二進(jìn)制文件。在每個(gè)事務(wù)更新數(shù)據(jù)完成之前,主節(jié)點(diǎn)在二日志文件中記錄這些改變。MySQL線程將事務(wù)串行地寫(xiě)入二進(jìn)制日志,在事件寫(xiě)入完成后,主節(jié)點(diǎn)通知存儲(chǔ)引擎提交事務(wù)并向其他從節(jié)點(diǎn)發(fā)送廣播。

圖1 表廣播機(jī)制原理圖

從節(jié)點(diǎn)接收到消息,將主節(jié)點(diǎn)的二進(jìn)制日志拷貝到自己的中繼日志。首先,從節(jié)點(diǎn)開(kāi)始一個(gè)工作線程(I/O線程),I/O線程在主節(jié)點(diǎn)上打開(kāi)一個(gè)普通的連接,然后開(kāi)始二進(jìn)制轉(zhuǎn)存。二進(jìn)制轉(zhuǎn)存程序從主節(jié)點(diǎn)的二進(jìn)制日志中讀取消息事件,如果沒(méi)有新的消息,它會(huì)睡眠并等待主節(jié)點(diǎn)發(fā)送新的廣播。

SQL從線程從中繼日志讀取消息事件,并重放其中的事件以更新從節(jié)點(diǎn)中的數(shù)據(jù),使其與主節(jié)點(diǎn)中的數(shù)據(jù)一致。

1.3 表廣播機(jī)制在MyCat中的應(yīng)用

MyCat是一個(gè)開(kāi)源的分布式數(shù)據(jù)庫(kù)系統(tǒng),是一個(gè)實(shí)現(xiàn)了MySQL協(xié)議的server,前端用戶可以把它看作一個(gè)數(shù)據(jù)庫(kù)代理[14],用MySQL客戶端工具和命令行訪問(wèn),而其后端可以用MySQL原聲(Native)協(xié)議[15]與多個(gè)MySQL服務(wù)器通信,也可以用JDBC協(xié)議與大多數(shù)主流數(shù)據(jù)庫(kù)服務(wù)器[16]通信。MyCat中有兩種典型類(lèi)型的表,一種是按照某種給定的分片規(guī)則,將數(shù)據(jù)進(jìn)行水平切分,把一個(gè)大表水平分割成N個(gè)小表,存儲(chǔ)在后端MySQL服務(wù)器或者其他不同的數(shù)據(jù)庫(kù);另一種是全局表,MyCat接收外界發(fā)送來(lái)的SQL語(yǔ)句,將DML SQL語(yǔ)句分別發(fā)送到各個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)上依次執(zhí)行,圖2形象地描述了全局表的DML操作過(guò)程。若對(duì)全局表頻繁地進(jìn)行增刪改操作,由于MyCat的弱XA機(jī)制,很容易發(fā)生各節(jié)點(diǎn)數(shù)據(jù)不一致的情況。

圖2 原始MyCat全局表的DML操作過(guò)程

MyCat中的表廣播機(jī)制是針對(duì)全局表的,為全局表新增了一個(gè)屬性,當(dāng)該屬性值為true時(shí),改變?cè)糞QL語(yǔ)句的執(zhí)行邏輯。MyCat接收到DML命令,向主節(jié)點(diǎn)發(fā)送廣播,主節(jié)點(diǎn)執(zhí)行命令并保存二進(jìn)制消息文件,同時(shí)向從節(jié)點(diǎn)推送消息,從節(jié)點(diǎn)接收到廣播,同步主節(jié)點(diǎn)的數(shù)據(jù)。實(shí)現(xiàn)了表廣播機(jī)制的MyCat即使在修改數(shù)據(jù)時(shí)出現(xiàn)節(jié)點(diǎn)異常的情況,待異常解除后,會(huì)主動(dòng)讀取存放消息的日志文件、同步數(shù)據(jù),保證了強(qiáng)一致性。

圖3形象展示了DML操作在表廣播機(jī)制下的執(zhí)行過(guò)程,即當(dāng)MyCat接收到插入類(lèi)型的SQL語(yǔ)句時(shí),只向主節(jié)點(diǎn)發(fā)送相應(yīng)的SQL語(yǔ)句,再通過(guò)日志文件,同步到其他節(jié)點(diǎn)。

圖3 表廣播機(jī)制下的DML操作過(guò)程

2 表廣播機(jī)制在MyCat中的實(shí)現(xiàn)

2.1 配置文件的修改

MyCat啟動(dòng)時(shí),首先讀取配置文件,根據(jù)其中table標(biāo)簽的設(shè)置信息,判斷各張表的類(lèi)型。在配置文件schema.xml的table標(biāo)簽中增加一個(gè)屬性“writeOneNode”作為啟用表廣播機(jī)制的標(biāo)志,當(dāng)邏輯表的類(lèi)型是全局表即“type=globle”時(shí),才啟用表廣播功能機(jī)制。

新增的屬性為布爾類(lèi)型,默認(rèn)值為“false”。“writeOneNode=true”時(shí),過(guò)濾DML操作的SQL語(yǔ)句,通過(guò)表廣播作用于主節(jié)點(diǎn);當(dāng)“writeOneNode=false”時(shí),DML操作的SQL語(yǔ)句按照原始邏輯作用于所有節(jié)點(diǎn)。

2.2 配置文件的初始化

通過(guò)Java應(yīng)用程序訪問(wèn)XML時(shí),要先把Java對(duì)象轉(zhuǎn)化成XML文件(稱作marshall),再將XML文件中的內(nèi)容轉(zhuǎn)化成相應(yīng)的Java對(duì)象(稱作unmarshal),該對(duì)象需要用JAXB(Java architecture for XML binding,XML綁定的Java體系結(jié)構(gòu))注解來(lái)標(biāo)注[17]。因此需要修改注解類(lèi)Schemas.java,在其內(nèi)部類(lèi)中添加“writeOneNode”的屬性設(shè)置,使配置文件“schema.xml”中的內(nèi)容unmarshal成Table類(lèi)型的對(duì)象時(shí),包含“writeOneNode”字段的相應(yīng)信息。

初始化XML配置文件類(lèi)XmlToYaml.java中,增加對(duì)參數(shù)“writeOneNode”的初始化功能,在啟動(dòng)程序時(shí)加載配置文件,通過(guò)解析XML配置文件,對(duì)配置文件中設(shè)置的相關(guān)參數(shù)進(jìn)行初始化,在Schemas的各個(gè)內(nèi)部靜態(tài)類(lèi)中實(shí)例化本類(lèi)對(duì)象,最后再通過(guò)HashMap存儲(chǔ)好所需要配置的Key-value鍵值對(duì),對(duì)外提供本類(lèi)實(shí)例化對(duì)象。

2.3 MyCat中表廣播機(jī)制的執(zhí)行流程

MyCat中的表廣播機(jī)制是針對(duì)于全局表的DML操作而提出的,且只有在writeOneNode=true時(shí)其功能才會(huì)奏效,因此需要增加新的SQL執(zhí)行邏輯。如圖4所示,MyCat對(duì)接收到的sql語(yǔ)句進(jìn)行以下判斷:

圖4 MyCat中的表廣播機(jī)制執(zhí)行流程

(1)sql語(yǔ)句的類(lèi)型是否為insert或update或delete;

(2)待插入的表是否為全局表;

(3)是否寫(xiě)入單節(jié)點(diǎn),即writeOneNode=true。

只有三個(gè)條件同時(shí)滿足,才能將原始的多節(jié)點(diǎn)插入功能修改為單節(jié)點(diǎn)插入,啟用表廣播功能。

3 實(shí)驗(yàn)與分析

為了分析表廣播機(jī)制在MyCat中的實(shí)現(xiàn)方案的可行性,在真實(shí)環(huán)境下進(jìn)行實(shí)驗(yàn)分析。

3.1 實(shí)驗(yàn)設(shè)置

實(shí)驗(yàn)環(huán)境:三臺(tái)配置完全相同的服務(wù)器。配置如下:操作系統(tǒng)為RedHat7.2;1*6 Core的CPU;內(nèi)存16 G;硬盤(pán)16*1 T;千兆網(wǎng)卡。

步驟1:新建數(shù)據(jù)庫(kù)和數(shù)據(jù)表。

實(shí)驗(yàn)中的全局表“teacher”具有4個(gè)分片,分別位于4個(gè)不同的數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)名稱分別為MyCat1,MyCat2,MyCat3,MyCat4,所屬服務(wù)器ip為172.172.0.104,并在各個(gè)數(shù)據(jù)庫(kù)中分別新建表“teacher”(含有字段:tid,name,sex,class;tid為關(guān)鍵字);在另外一臺(tái)ip為172.172.0.106的服務(wù)器上也新建4個(gè)數(shù)據(jù)庫(kù):broadcastMyCat1、broadcastMyCat2、broadcastMyCat3、broadcastMyCat4,每個(gè)數(shù)據(jù)庫(kù)中也分別包含同樣表結(jié)構(gòu)的“teacher”表,并配置broadcastMyCat1為broadcastMyCat2、broadcastMyCat3、broadcastMyCat4的主數(shù)據(jù)庫(kù),broadcastMyCat2、broadcastMyCat3、broadcastMyCat4為broadcastMyCat1的從數(shù)據(jù)庫(kù),啟用表廣播功能。

步驟2:安裝MyCat。

在ip為172.172.0.107的服務(wù)器上分別安裝官方MyCat(端口號(hào)為8068,命名為MyCat_8068)和實(shí)現(xiàn)表廣播機(jī)制的MyCat(端口號(hào)為8069,命名為broadcastMyCat_8069),進(jìn)行正確的配置文件設(shè)置,兩者的區(qū)別如下:

MyCat_8068的schema.xml部分配置如下:

broadcastMyCat_8069中的schema.xml配置如下:

完成配置文件的設(shè)置后,分別啟動(dòng)MyCat_8068和broadcastMyCat_8069。

3.2 實(shí)驗(yàn)結(jié)果分析

實(shí)驗(yàn)1:為驗(yàn)證MyCat中的表廣播機(jī)制,實(shí)現(xiàn)了原始MyCat中全局表功能,通過(guò)程序分別向MyCat_8068和broadcastMyCat_8069中的teacher表中連續(xù)作插入操作。一段時(shí)間后,分別到本地的各個(gè)數(shù)據(jù)庫(kù)中查詢teacher表中的數(shù)據(jù),對(duì)各個(gè)表中的記錄總數(shù)和數(shù)據(jù)內(nèi)容進(jìn)行對(duì)比,結(jié)果如表1所示。

表1 正常插入時(shí)的數(shù)據(jù)對(duì)比表

由表1可知,各個(gè)表中的記錄數(shù)量幾乎相同,同一個(gè)MyCat下各個(gè)節(jié)點(diǎn)中的數(shù)據(jù)均一致。結(jié)果表明,在各個(gè)數(shù)據(jù)節(jié)點(diǎn)運(yùn)行正常的情況下,原始的MyCat和實(shí)現(xiàn)表廣播機(jī)制的MyCat均可以做到數(shù)據(jù)的高效插入,且保證了各個(gè)節(jié)點(diǎn)間的數(shù)據(jù)一致性。

實(shí)驗(yàn)2:為驗(yàn)證在DML操作過(guò)程中出現(xiàn)節(jié)點(diǎn)異常后實(shí)現(xiàn)表廣播機(jī)制的MyCat仍舊能保證各節(jié)點(diǎn)間的數(shù)據(jù)一致性,清空各個(gè)數(shù)據(jù)表中的數(shù)據(jù)后,通過(guò)程序分別向MyCat_8068和MyCat_8069中的teacher表中連續(xù)作插入操作,在插入過(guò)程中,關(guān)閉MyCat2和broadcastMyCat2兩臺(tái)數(shù)據(jù)庫(kù),一段時(shí)間后恢復(fù)兩臺(tái)數(shù)據(jù)庫(kù),多次嘗試此操作,并對(duì)比各個(gè)MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)狀況。

表2記錄了各個(gè)節(jié)點(diǎn)異常消除后的數(shù)據(jù)情況,原始MyCat下的異常節(jié)點(diǎn)中的數(shù)據(jù)明顯少于其他節(jié)點(diǎn)中的數(shù)據(jù),而實(shí)現(xiàn)表廣播機(jī)制的MyCat下的四個(gè)數(shù)據(jù)節(jié)點(diǎn)中的數(shù)據(jù)始終一致。

表2 異常解除后的數(shù)據(jù)對(duì)比表

由實(shí)驗(yàn)2結(jié)果可以看出,MyCat的弱XA機(jī)制,確實(shí)導(dǎo)致了節(jié)點(diǎn)間的數(shù)據(jù)不一致,而實(shí)現(xiàn)了表廣播機(jī)制的MyCat,在異常節(jié)點(diǎn)恢復(fù)正常后,成功同步數(shù)據(jù),保證與主節(jié)點(diǎn)的數(shù)據(jù)同步。

以上實(shí)驗(yàn)表明,實(shí)現(xiàn)表廣播機(jī)制的MyCat的可靠性較高,在保證數(shù)據(jù)高效插入的同時(shí),也保證了數(shù)據(jù)一致性。

4 結(jié)束語(yǔ)

提出了一種表廣播機(jī)制在MyCat中的實(shí)現(xiàn)方案,通過(guò)對(duì)MyCat提供的操作全局表的相關(guān)功能進(jìn)行優(yōu)化,把對(duì)多個(gè)節(jié)點(diǎn)的操作修改為對(duì)單個(gè)節(jié)點(diǎn)的操作,有效解決了MyCat面臨的弱XA問(wèn)題。實(shí)驗(yàn)結(jié)果表明,該方案在實(shí)現(xiàn)全局表原有功能的同時(shí),有效提高了全局?jǐn)?shù)據(jù)表中各節(jié)點(diǎn)數(shù)據(jù)的一致性。

目前,對(duì)于分庫(kù)表的查詢操作,MyCat只會(huì)返回各分庫(kù)合并后的數(shù)據(jù),在排序、分頁(yè)等功能上做得還不夠完善,因此,未來(lái)計(jì)劃運(yùn)用其他的方法解決這類(lèi)問(wèn)題。

[1] 莊天紅.常用數(shù)據(jù)庫(kù)系統(tǒng)性能解析[J].微型電腦應(yīng)用,1999,15(2):52-54.

[2] BOYD D, CRAWFORD K. Critical questions for big data[J].Information Communication & Society,2012,15(5):662-679.

[3] 項(xiàng) 凱.面向海量高并發(fā)數(shù)據(jù)庫(kù)中間件的研究與應(yīng)用[D].上海:上海交通大學(xué),2015.

[4] 邱 碩.Cobar的架構(gòu)與實(shí)踐[J].程序員,2012(9):90-93.

[5] 祝雄鋒.數(shù)據(jù)庫(kù)集群中間件MySQL Proxy研究與分析[D].武漢:武漢理工大學(xué),2011.

[6] 王 蔥.基于MyCAT的分布式數(shù)據(jù)存儲(chǔ)研究與應(yīng)用[D].上海:東華大學(xué),2016.

[7] HAYES B.Cloud computing[J].Communications of the ACM,2008,51(7):9-11.

[8] 安延文.數(shù)據(jù)庫(kù)審計(jì)系統(tǒng)中MySQL協(xié)議的研究與解析[D].北京:華北電力大學(xué),2016.

[9] 楊 晶,劉天時(shí),馬 剛.分布式數(shù)據(jù)庫(kù)數(shù)據(jù)分片與分配[J].現(xiàn)代電子技術(shù),2006,29(18):119-121.

[10] 趙 艷,李 鈞.異構(gòu)數(shù)據(jù)源分布式事務(wù)處理研究[J].計(jì)算機(jī)工程,2009,35(4):69-71.

[11] 胡百敬,陳俊宇,楊先民,等.SQL Server 2005 T-SQL數(shù)據(jù)庫(kù)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008.

[12] 黃雅萍,劉曉強(qiáng),吳成義.基于MySQL和PHP的分布式事務(wù)處理[J].東華大學(xué)學(xué)報(bào):自然科學(xué)版,2011,37(1):81-85.

[13] 張旭剛,李東輝,俞 俊,等.基于zookeeper和強(qiáng)一致性復(fù)制實(shí)現(xiàn)MySQL分布式數(shù)據(jù)庫(kù)集群[J].微型電腦應(yīng)用,2016,32(1):77-80.

[14] 徐 恪,劉亞霄,劉衛(wèi)東.數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中的安全訪問(wèn)代理的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2000,36(1):105-107.

[15] 李曙強(qiáng),蔣樹(shù)春,呂 兵.一種基于mysql數(shù)據(jù)庫(kù)的sql信息采集審計(jì)系統(tǒng):CN,CN103488797A[P].2013-10-14.

[16] 黃春華.常用數(shù)據(jù)庫(kù)的比較[J].科技信息,2011(14):200.

[17] 李占波,李 娜.XML數(shù)據(jù)在關(guān)系數(shù)據(jù)庫(kù)中的存儲(chǔ)[J].微計(jì)算機(jī)信息,2007,23(27):192-194.

猜你喜歡
數(shù)據(jù)庫(kù)機(jī)制
構(gòu)建“不敢腐、不能腐、不想腐”機(jī)制的思考
自制力是一種很好的篩選機(jī)制
文苑(2018年21期)2018-11-09 01:23:06
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
定向培養(yǎng) 還需完善安置機(jī)制
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
破除舊機(jī)制要分步推進(jìn)
注重機(jī)制的相互配合
主站蜘蛛池模板: 色国产视频| 日本免费新一区视频| 一本无码在线观看| 免费看久久精品99| 五月激激激综合网色播免费| 亚洲IV视频免费在线光看| 色综合成人| 欧美亚洲国产精品久久蜜芽 | 东京热高清无码精品| 国产精品综合色区在线观看| 欧美日韩国产在线人| 亚洲欧美在线综合一区二区三区| 丁香综合在线| 国产精品部在线观看| 老熟妇喷水一区二区三区| 国产精品漂亮美女在线观看| 这里只有精品免费视频| 国产欧美一区二区三区视频在线观看| 国产粉嫩粉嫩的18在线播放91| 国产成人精彩在线视频50| 无码国产偷倩在线播放老年人| 久久精品人人做人人| 无码日韩视频| 亚洲欧美日韩色图| 亚洲精品中文字幕无乱码| 日韩A∨精品日韩精品无码| 最新国产高清在线| 日本一本正道综合久久dvd| 国产成人综合日韩精品无码首页 | 九九热视频精品在线| 国产区免费| 在线日韩日本国产亚洲| 欧美中文字幕一区| 中文字幕亚洲综久久2021| 欧美在线黄| 特级做a爰片毛片免费69| 中文字幕人成人乱码亚洲电影| 久久综合干| 综合色88| 91福利一区二区三区| 伊人网址在线| 亚洲视频无码| 欧美日韩精品一区二区在线线| 亚洲AV成人一区二区三区AV| AV不卡国产在线观看| 视频国产精品丝袜第一页| 97超爽成人免费视频在线播放| 中文无码精品a∨在线观看| 国产女人爽到高潮的免费视频 | 国产XXXX做受性欧美88| 一级毛片中文字幕| 色综合热无码热国产| 久无码久无码av无码| 青青草综合网| 国产va免费精品观看| 思思热在线视频精品| 乱系列中文字幕在线视频| 国产成人高清精品免费5388| 国产精品三区四区| 日本一区高清| 国产精品自拍合集| 91无码国产视频| 国产chinese男男gay视频网| 亚洲国产成人麻豆精品| 中文字幕波多野不卡一区| 欧美a√在线| 麻豆精品视频在线原创| 亚洲精品你懂的| 国产嫩草在线观看| 激情无码字幕综合| 欧美国产菊爆免费观看| 亚洲大尺码专区影院| 亚洲丝袜第一页| 久久精品丝袜高跟鞋| 欧美午夜在线视频| 欧美成人手机在线观看网址| 超碰免费91| 久久女人网| 久久亚洲天堂| 久久青草精品一区二区三区| 在线观看免费人成视频色快速| 91国内外精品自在线播放|