亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于數(shù)據(jù)庫(kù)代理實(shí)現(xiàn)數(shù)據(jù)庫(kù)分表、分庫(kù)訪問(wèn)的方案研究

        2019-02-14 16:20:28姬渭孟于雪蓮
        數(shù)字通信世界 2019年9期
        關(guān)鍵詞:存儲(chǔ)模塊語(yǔ)句應(yīng)用程序

        姬渭孟,于雪蓮

        (1.吉林移動(dòng)業(yè)務(wù)支撐中心,長(zhǎng)春 130000 ;2.中國(guó)聯(lián)通吉林省公司,長(zhǎng)春 130000)

        1 方案提出的背景

        隨著MySQL 開源軟件的發(fā)展,由于其使用方便、安全維護(hù)簡(jiǎn)單,越來(lái)越多的IT 系統(tǒng)開始采用MySQL 作為自己的數(shù)據(jù)庫(kù),存儲(chǔ)系統(tǒng)數(shù)據(jù)。但此數(shù)據(jù)庫(kù)產(chǎn)品由于性能、安全等方面限制,一般來(lái)說(shuō)建議單個(gè)數(shù)據(jù)庫(kù)容量不能過(guò)大(一般在1-2T 左右),單個(gè)數(shù)據(jù)庫(kù)表記錄數(shù)不能過(guò)多(建議單表數(shù)量不高于500萬(wàn)),而在IT 系統(tǒng)中,往往有大量的數(shù)據(jù),常常單個(gè)數(shù)據(jù)庫(kù)達(dá)到10T 以上,單表超過(guò)一億條。目前通用的方法是采用分庫(kù)、分表的方式,通過(guò)對(duì)數(shù)據(jù)進(jìn)行分區(qū),將一個(gè)大數(shù)據(jù)庫(kù)分為多個(gè)小的數(shù)據(jù)庫(kù),對(duì)于分表的方式,多通過(guò)表字段取模等方法,將一個(gè)數(shù)據(jù)庫(kù)表拆分成多個(gè)數(shù)據(jù)庫(kù)表。業(yè)務(wù)系統(tǒng)應(yīng)用程序在訪問(wèn)和操作數(shù)據(jù)時(shí),在應(yīng)用程序側(cè)進(jìn)行判斷,確定要訪問(wèn)和操作的數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)表,然后進(jìn)行訪問(wèn)和操作。此方案的問(wèn)題是應(yīng)用和數(shù)據(jù)耦合度高,應(yīng)用需要清楚了解自己所操作數(shù)據(jù)的位置(哪個(gè)分庫(kù)、哪個(gè)分表),當(dāng)數(shù)據(jù)量增加,數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)表進(jìn)行擴(kuò)展時(shí),如增加新數(shù)據(jù)庫(kù)、增加新數(shù)據(jù)庫(kù)表,都需要對(duì)應(yīng)用程序進(jìn)行改造,以訪問(wèn)和操作新增加的數(shù)據(jù)庫(kù)、新的數(shù)據(jù)庫(kù)表,改造的工作量較大、工期長(zhǎng)、風(fēng)險(xiǎn)較高。

        2 具體方案介紹

        本方案提出一種數(shù)據(jù)庫(kù)代理裝置,它由幾部分組成:(1)數(shù)據(jù)庫(kù)掃描模塊;(2)分庫(kù)分表策略存儲(chǔ)模塊;(3)SQL 語(yǔ)句接收和解析模塊;(4)SQL 語(yǔ)句執(zhí)行模塊;(5)結(jié)果返回模塊。

        數(shù)據(jù)庫(kù)掃描模塊通過(guò)數(shù)據(jù)庫(kù)連接池訪問(wèn)底層的多個(gè)數(shù)據(jù)庫(kù),將掃描結(jié)果進(jìn)行分析處理,形成數(shù)據(jù)庫(kù)分庫(kù)、分表信息,將這些信息存儲(chǔ)到分庫(kù)分表策略存儲(chǔ)模塊。前端應(yīng)用需要進(jìn)行SQL 語(yǔ)句執(zhí)行時(shí),首先訪問(wèn)數(shù)據(jù)庫(kù)代理裝置的SQL 語(yǔ)句接收和解析模塊,提供需要執(zhí)行的SQL 語(yǔ)句,此模塊通過(guò)對(duì)SQL 語(yǔ)句進(jìn)行解析,獲取要訪問(wèn)的數(shù)據(jù)庫(kù)對(duì)象信息,通過(guò)與分庫(kù)分表策略存儲(chǔ)模塊進(jìn)行交互,轉(zhuǎn)化成具體要訪問(wèn)的實(shí)體數(shù)據(jù)庫(kù)和表,將解析結(jié)果傳遞給SQL 語(yǔ)句執(zhí)行模塊,通過(guò)數(shù)據(jù)庫(kù)連接池,連接到具體的分?jǐn)?shù)據(jù)庫(kù),完成SQL 的執(zhí)行,將執(zhí)行結(jié)果記錄,并通過(guò)結(jié)果返回模塊與前端應(yīng)用進(jìn)行交互,將SQL 語(yǔ)句執(zhí)行結(jié)果返回給前端應(yīng)用。

        詳細(xì)處理步驟如下:

        步驟101:為數(shù)據(jù)庫(kù)代理裝置中數(shù)據(jù)庫(kù)掃描模塊創(chuàng)建連接池,與底層多個(gè)小的分?jǐn)?shù)據(jù)庫(kù)進(jìn)行鏈接,能否進(jìn)行訪問(wèn)。

        步驟102:數(shù)據(jù)庫(kù)掃描模塊通過(guò)連接池,能夠訪問(wèn)底層的各個(gè)小的數(shù)據(jù)庫(kù),并可以訪問(wèn)各個(gè)小的數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)對(duì)象(如數(shù)據(jù)庫(kù)表)。

        步驟103:數(shù)據(jù)庫(kù)掃描模塊掃描底層數(shù)據(jù)庫(kù),獲取分庫(kù)分表信息。

        如一個(gè)完整的數(shù)據(jù)庫(kù)對(duì)象,通過(guò)之前人為定義的分庫(kù)分表路由策略,數(shù)據(jù)庫(kù)掃描模塊按照策略進(jìn)行掃描,最終確定每一個(gè)數(shù)據(jù)庫(kù)對(duì)象保存在哪幾個(gè)數(shù)據(jù)庫(kù),或者保存在哪些分表中,包括數(shù)據(jù)庫(kù)名稱、分表的名稱。

        步驟104:數(shù)據(jù)庫(kù)掃描模塊掃描的結(jié)果與上次相比是否發(fā)生了變化?如新增數(shù)據(jù)庫(kù)、新增數(shù)據(jù)庫(kù)對(duì)象等。

        步驟105:如果發(fā)生了變化,則由數(shù)據(jù)庫(kù)掃描模塊更新分庫(kù)、分表信息到分庫(kù)分表策略存儲(chǔ)模塊。同時(shí)也提供手工訪問(wèn)更新的功能。

        步驟106:如未發(fā)生變化,則記錄掃描日志記錄后,不再進(jìn)行處理。

        步驟107:當(dāng)應(yīng)用程序需要訪問(wèn)數(shù)據(jù)庫(kù)執(zhí)行SQL 語(yǔ)句時(shí),首先訪問(wèn)數(shù)據(jù)庫(kù)代理層的SQL 語(yǔ)句接收和解析模塊。

        步驟108:SQL 語(yǔ)句接收和解析模塊接收SQL 語(yǔ)句,應(yīng)用程序不再需要指明要訪問(wèn)哪個(gè)分庫(kù)、哪個(gè)分表,只要指明訪問(wèn)的數(shù)據(jù)即可。

        步驟109:SQL 語(yǔ)句接收和解析模塊與分庫(kù)分表策略存儲(chǔ)模塊通信,獲取實(shí)時(shí)的數(shù)據(jù)庫(kù)分庫(kù)、分表策略信息。

        步驟110:SQL 語(yǔ)句接收和解析模塊對(duì)SQL 訪問(wèn)數(shù)據(jù)庫(kù)及表進(jìn)行解析匹配,將訪問(wèn)對(duì)象轉(zhuǎn)換成具體訪問(wèn)的數(shù)據(jù)庫(kù)名、數(shù)據(jù)庫(kù)分表名稱等信息。

        步驟111:SQL 語(yǔ)句接收和解析模塊將SQL 解析結(jié)果傳遞給SQL 執(zhí)行模塊。

        步驟112:SQL 執(zhí)行模塊通過(guò)數(shù)據(jù)庫(kù)連接池,訪問(wèn)具體的分?jǐn)?shù)據(jù)庫(kù)和分表,將SQL 語(yǔ)句完整執(zhí)行,獲取最終執(zhí)行結(jié)果。

        并將執(zhí)行結(jié)果傳遞給結(jié)果返回模塊,由結(jié)果返回模塊與應(yīng)用進(jìn)行通信,并將具體的SQL 執(zhí)行結(jié)果返回給前端應(yīng)用,由應(yīng)用進(jìn)行處理。

        本方案的優(yōu)點(diǎn):應(yīng)用程序側(cè)不再需要指定要訪問(wèn)的哪個(gè)數(shù)據(jù)庫(kù),哪個(gè)具體的表,只需要明確訪問(wèn)的數(shù)據(jù)內(nèi)容,由數(shù)據(jù)庫(kù)代理層通過(guò)內(nèi)部的相關(guān)模塊,獲取訪問(wèn)數(shù)據(jù)庫(kù)、表的策略,獲取訪問(wèn)路徑,這樣當(dāng)分?jǐn)?shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)分表發(fā)生變化時(shí),也不再需要通知應(yīng)用程序,由策略存儲(chǔ)模塊提供訪問(wèn)策略,進(jìn)行訪問(wèn)及操作。

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

        在IT 軟件系統(tǒng)中,針對(duì)某些數(shù)據(jù)庫(kù)表數(shù)據(jù)量過(guò)大的情況,分散存儲(chǔ)在不同的數(shù)據(jù)庫(kù),不同的表中。本方法通過(guò)提出一套數(shù)據(jù)庫(kù)代理裝置,有效解決了應(yīng)用軟件與數(shù)據(jù)庫(kù)耦合性高的問(wèn)題。

        猜你喜歡
        存儲(chǔ)模塊語(yǔ)句應(yīng)用程序
        基于MinI0分布式存儲(chǔ)的微服務(wù)模塊開發(fā)應(yīng)用
        重點(diǎn):語(yǔ)句銜接
        Burden of Cirrhosis and Other Chronic Liver Diseases Caused by Specific Etiologies in China, 1990?2016:Findings from the Global Burden of Disease Study 2016
        刪除Win10中自帶的應(yīng)用程序
        精彩語(yǔ)句
        MiR-125a-5p is Upregulated in Plasma of Residents from An Electronic Waste Recycling Site
        數(shù)據(jù)采集系統(tǒng)在環(huán)保工程中的應(yīng)用研究
        如何搞定語(yǔ)句銜接題
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        三星電子將開設(shè)應(yīng)用程序下載商店
        正在播放国产多p交换视频| 在线免费观看黄色国产强暴av| 国产av熟女一区二区三区| 少妇无码吹潮| 狠狠狠色丁香婷婷综合激情 | 亚洲av纯肉无码精品动漫| 91超碰在线观看免费| 亚洲精品综合久久中文字幕 | 一本久久伊人热热精品中文| 国产日产久久高清ww| 国产男女免费完整视频| 欧美日本亚洲国产一区二区| 亚洲一道一本快点视频| 日本黑人亚洲一区二区| 少妇高潮惨叫久久久久久电影 | 色噜噜精品一区二区三区| 娇小女人被黑人插免费视频| 国产免费人成视频在线观看| 国产av成人精品播放| 好看的国内自拍三级网站| 国产av无码专区亚洲av麻豆| 中文成人无字幕乱码精品区| 中文字幕精品久久天堂一区 | 亚洲最大中文字幕在线| 亚洲国色天香卡2卡3卡4| 国产日韩久久久精品影院首页| 91青青草视频在线播放| 日韩在线永久免费播放| 高中生粉嫩无套第一次| 亚洲AV无码国产精品色午夜软件| 青青草手机免费播放视频| 日韩精品一区二区三区中文| 国产精品第1页在线观看| 日韩中文字幕乱码在线| 日本饥渴人妻欲求不满| 欧美成人一区二区三区| 免费视频成人 国产精品网站| 青青草视频是针对华人| 亚洲人成色7777在线观看| 亚洲视频1区| 日本在线无乱码中文字幕 |