亚洲免费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)用程序下載商店
        女人被狂躁c到高潮视频| 北岛玲亚洲一区二区三区| 国产不卡视频在线观看| 肉色欧美久久久久久久免费看| 精品久久人人爽天天玩人人妻| 国产资源在线视频| 日本熟妇裸体视频在线| 99视频在线精品免费观看6| 麻豆久久久9性大片| 五月丁香六月综合激情在线观看| 亚洲女同恋中文一区二区| 中文字幕亚洲熟女av| 女邻居的大乳中文字幕| 亚洲国产成人无码影院| 女同视频网站一区二区| 手机在线亚洲精品网站| 国产麻豆md传媒视频| 国产在线视频国产永久视频| 中文字幕一区二区三区6| 亚洲 日韩 激情 无码 中出| 精品无码中文视频在线观看| 欧美综合图区亚洲综合图区| 久久精品免费视频亚洲| 亚洲色大成网站www永久网站| 99久久综合狠狠综合久久| 国产av大片在线观看| 日韩中文字幕一区二区二区 | 香港三级精品三级在线专区| 亚洲一区视频在线| 一区二区三区人妻在线| 成人欧美一区二区三区黑人| 中文人妻av久久人妻18| 亚洲中出视频| 日本一区二区三区四区啪啪啪| 国产无吗一区二区三区在线欢| 国产在线观看入口| 亚洲中文字幕乱码免费看| 成 人色 网 站 欧美大片在线观看| 日韩无套内射视频6| 国产精品一区成人亚洲| 精品女同一区二区三区免费战|