為什么要使(shi)用數據(ju)庫
因為(wei)使用(yong)io流文件(jian)存(cun)儲(chu)數據(ju)(ju)(ju)(ju)有很(hen)多弊端(duan)(duan)(duan):1、文件(jian)存(cun)儲(chu)數據(ju)(ju)(ju)(ju)存(cun)儲(chu)效率(lv)低;2、不管存(cun)還取操作比(bi)較麻煩3、一(yi)般只(zhi)能保存(cun)小量字符(fu)串數據(ju)(ju)(ju)(ju)等。為(wei)了解(jie)決這(zhe)些(xie)弊端(duan)(duan)(duan),才有數據(ju)(ju)(ju)(ju)庫的出現,使用(yong)數據(ju)(ju)(ju)(ju)庫存(cun)儲(chu)數據(ju)(ju)(ju)(ju)就可以很(hen)好的解(jie)決這(zhe)些(xie)弊端(duan)(duan)(duan)。
什么是(shi)DB
DB的(de)全稱是data base,即(ji)數(shu)據(ju)庫的(de)意思。數(shu)據(ju)庫實際(ji)上(shang)就是一(yi)(yi)個文件(jian)集合,是一(yi)(yi)個存儲數(shu)據(ju)的(de)倉庫,本質就是一(yi)(yi)個文件(jian)系統,數(shu)據(ju)庫是按照特(te)定的(de)格式把數(shu)據(ju)存儲起來,用(yong)戶可以對(dui)存儲的(de)數(shu)據(ju)進行增刪(shan)改查操作(zuo);
什么是(shi)DBMS
DBMS的(de)全稱是(shi)Database Management System,即數(shu)(shu)據(ju)(ju)庫管理系統的(de)意(yi)思(si),是(shi)一個軟(ruan)件,用(yong)來(lai)管理數(shu)(shu)據(ju)(ju)庫文件的(de)軟(ruan)件,用(yong)戶可(ke)以訪問DBMS對數(shu)(shu)據(ju)(ju)進行增刪(shan)改(gai)查操作,常(chang)見DBMS有: MySQL、oracle、DB2、sqlite、sqlserver等
數據庫(ku)的分類
關系(xi)(xi)型數(shu)據(ju)庫: 經過數(shu)學理論(lun)驗證 可以保(bao)存(cun)現實生活(huo)中的各種關系(xi)(xi)數(shu)據(ju), 數(shu)據(ju)庫中存(cun)儲數(shu)據(ju)以表為單位;
非(fei)關(guan)系型數據庫:通常用來(lai)解決某些(xie)特定的(de)需求如:數據緩存(cun)(cun),高(gao)并發(fa)訪問。 存(cun)(cun)儲(chu)數據的(de)形(xing)式有(you)多(duo)種,舉例:Redis數據庫:通過鍵值對的(de)形(xing)式存(cun)(cun)儲(chu)數據;
主流關系型數據庫簡介(jie)
MySQL: 08年(nian)被sun公司(si)收購09年(nian)sun被oracle收購,開源mf,到(dao)oracle發(fa)布(bu)了5.0版本(使用了oracle核(he)心技術 性能提高30%),因為Oracle數(shu)據(ju)庫地位受到(dao)威脅,計劃把mysql閉源,原(yuan)mysql作者(zhe)(zhe)們不干了,原(yuan)程序員出去(qu)單干,發(fa)布(bu)了MariaDB數(shu)據(ju)庫、名字(zi)是因為作者(zhe)(zhe)女兒叫Maria ,市場(chang)排(pai)名第一;
Oracle:閉源、貴、性能高,市場排名第二(er);
SQLServer:微(wei)軟公司的產品,市場排名第三,主要應用在.net(C#)開發的網站中;
DB2:IBM公司有做網站的(de)完(wan)整解決方案(操(cao)作系(xi)統,we服(fu)務器(如tomcat),數據庫等)主要應用(yong)在銀行等國有大型企(qi)業中(zhong);
sqlite:輕量級數據庫(ku),只有幾十k,一般應用在嵌入式和(he)移動設備中;
開源(yuan)和閉源(yuan)的(de)區別
開源:開發(fa)源代碼,盈利方式(shi)靠賣服務(wu),賺(zhuan)錢慢(man)少),用戶群(qun)大(da),大(da)牛程序員會無償幫著(zhu)升級(ji)維護;
閉(bi)源:不(bu)開放源代碼(ma),盈利方式賣產品+服(fu)務,賺錢快多,大(da)牛(niu)們各種攻擊找漏洞;
什么樣(yang)的數據庫測(ce)試才更具參考價值
數據庫性(xing)能(neng)評測不(bu)能(neng)“跑偏”。
以TPC-C測試(shi)(shi)為例,國際數據庫巨(ju)頭(tou)Oracle的測試(shi)(shi)成績停留在九年前,之(zhi)后并無再參與到(dao)TPC-C的測試(shi)(shi)之(zhi)中。這(zhe)不(bu)禁讓人(ren)思考,什么樣的數據庫測試(shi)(shi)才更會更具實際參考價值?
顯然,對于(yu)各個行業用戶而言,更(geng)加(jia)重(zhong)視的(de)是一(yi)些貼(tie)近行業真實(shi)業務場景的(de)性(xing)能(neng)(neng)和功(gong)能(neng)(neng)測試,而不是各種刷榜的(de)評測。以(yi)金融(rong)行業為例(li),金融(rong)行業為苛(ke)刻的(de)業務需求,決定了數據(ju)(ju)庫產品需要在(zai)功(gong)能(neng)(neng)、性(xing)能(neng)(neng)、高可靠性(xing)、安全性(xing)、兼容性(xing)、生態(tai)等方面需要有足夠的(de)支撐能(neng)(neng)力(li),針對包括金融(rong)行業在(zai)內的(de)數據(ju)(ju)庫測試顯然容易(yi)更(geng)加(jia)獲得(de)用戶的(de)認可。
在國(guo)內金(jin)融(rong)(rong)(rong)行(xing)(xing)業(ye)(ye)(ye)的(de)(de)(de)(de)數(shu)據(ju)庫(ku)相關測(ce)試里,中(zhong)(zhong)(zhong)金(jin)國(guo)盛的(de)(de)(de)(de)金(jin)融(rong)(rong)(rong)行(xing)(xing)業(ye)(ye)(ye)標準(zhun)(zhun)符合(he)性試點測(ce)評(ping)是(shi)金(jin)融(rong)(rong)(rong)行(xing)(xing)業(ye)(ye)(ye)中(zhong)(zhong)(zhong)當之無愧的(de)(de)(de)(de)權威評(ping)測(ce)。中(zhong)(zhong)(zhong)金(jin)國(guo)盛認(ren)證中(zhong)(zhong)(zhong)心是(shi)經(jing)國(guo)家(jia)認(ren)證認(ren)可監(jian)督(du)管(guan)理(li)委(wei)員會批準(zhun)(zhun),國(guo)內首家(jia)從(cong)事境內金(jin)融(rong)(rong)(rong)業(ye)(ye)(ye)服務和產品(pin)的(de)(de)(de)(de)質量安(an)全管(guan)理(li)的(de)(de)(de)(de)專業(ye)(ye)(ye)認(ren)證機(ji)構,其相關評(ping)測(ce)結果和認(ren)證獲(huo)得了國(guo)際(ji)互(hu)認(ren)協議集(ji)團成(cheng)員國(guo)家(jia)和地區的(de)(de)(de)(de)廣泛(fan)認(ren)可。中(zhong)(zhong)(zhong)金(jin)國(guo)盛金(jin)融(rong)(rong)(rong)行(xing)(xing)業(ye)(ye)(ye)標準(zhun)(zhun)符合(he)性試點測(ce)評(ping)涵蓋了數(shu)據(ju)庫(ku)環境搭建(jian)、環境監(jian)測(ce)、語法(fa)支(zhi)(zhi)持、安(an)全支(zhi)(zhi)持、擴展(zhan)、性能,容災等金(jin)融(rong)(rong)(rong)級數(shu)據(ju)庫(ku)要求(qiu)的(de)(de)(de)(de)關鍵能力(li)項目。
例(li)如,中金(jin)國盛(sheng)金(jin)融(rong)行(xing)業(ye)標(biao)準(zhun)符(fu)合性(xing)試(shi)點測評會針對關系型分(fen)布式數(shu)(shu)據(ju)(ju)庫(ku)在(zai)金(jin)融(rong)行(xing)業(ye)業(ye)務(wu)特點下的基本功(gong)能進行(xing)測試(shi),包(bao)括(kuo)分(fen)布式下存(cun)取事務(wu)腳本,滿足對數(shu)(shu)據(ju)(ju)操(cao)作(zuo)的原子性(xing)、數(shu)(shu)據(ju)(ju)對象的隔(ge)離性(xing)、過程(cheng)的一(yi)致性(xing)、全(quan)局一(yi)致性(xing);測試(shi)是否滿足ANSI SQL 99/2003,支持(chi)復雜SQL,函數(shu)(shu)索引(yin),視圖,存(cun)儲過程(cheng),序列,字符(fu)集,模式管理,主鍵約束,觸(chu)發器,分(fen)區(qu)表,JAVA/C UDF,死鎖,故障診斷(duan),災難恢(hui)復,閃回數(shu)(shu)據(ju)(ju),數(shu)(shu)據(ju)(ju)安全(quan),加(jia)密(mi),用戶權限管理等(deng)金(jin)融(rong)核心交易型數(shu)(shu)據(ju)(ju)庫(ku)應該(gai)具(ju)備的功(gong)能等(deng)。
此(ci)外,該測(ce)(ce)評還會針(zhen)對金(jin)融行業(ye)(ye)(ye)為看重的(de)(de)(de)可靠性(xing)進行評測(ce)(ce),包(bao)括在線備(bei)份、離(li)線備(bei)份、全量和(he)增量備(bei)份、磁盤備(bei)份、數(shu)據(ju)定期自動備(bei)份等(deng)備(bei)份功能(neng),同城雙活(huo),兩地三(san)中(zhong)心等(deng)高等(deng)級容災的(de)(de)(de)測(ce)(ce)試。而針(zhen)對國(guo)內金(jin)融機(ji)(ji)構用戶量普遍達到千萬級的(de)(de)(de)情況,中(zhong)金(jin)國(guo)盛認證中(zhong)心重要會針(zhen)對數(shu)據(ju)庫的(de)(de)(de)性(xing)能(neng)進行重點測(ce)(ce)試,包(bao)括數(shu)據(ju)庫的(de)(de)(de)單機(ji)(ji)內核能(neng)力(li)是否足夠強(qiang)勁;分布式環境下,數(shu)據(ju)庫的(de)(de)(de)線性(xing)擴展(zhan)能(neng)力(li)和(he)性(xing)能(neng)擴展(zhan)比(bi),針(zhen)對數(shu)據(ju)庫在高并發(fa)評測(ce)(ce),對于金(jin)融行業(ye)(ye)(ye)秒殺(sha)、搶(qiang)購等(deng)業(ye)(ye)(ye)務場(chang)景(jing)的(de)(de)(de)數(shu)據(ju)訪問極具參考價值。
針對(dui)(dui)目前國(guo)內金(jin)融機構(gou)(gou)因為(wei)歷(li)史原因普遍存在(zai)多數(shu)(shu)據(ju)(ju)庫品牌的情況(kuang),中金(jin)國(guo)盛認證中心(xin)還會針對(dui)(dui)數(shu)(shu)據(ju)(ju)庫的異構(gou)(gou)數(shu)(shu)據(ju)(ju)庫兼(jian)容(rong)和遷移能(neng)(neng)力(li)進行(xing)測(ce)(ce)試,設置被測(ce)(ce)對(dui)(dui)象數(shu)(shu)據(ju)(ju)庫與異構(gou)(gou)數(shu)(shu)據(ju)(ju)庫的同(tong)步關系(xi),然后在(zai)被測(ce)(ce)對(dui)(dui)象中執行(xing)數(shu)(shu)據(ju)(ju)的修改、插入操作(zuo),驗證了相關操作(zuo)可自動同(tong)步至其他異構(gou)(gou)數(shu)(shu)據(ju)(ju)庫的功能(neng)(neng)。
在(zai)近一(yi)期(qi)的評測(ce)(ce)里,華為(wei)(wei)GaussDB成為(wei)(wei)中(zhong)國(guo)數(shu)據(ju)庫品牌(pai)的突出代(dai)表。經中(zhong)金(jin)(jin)國(guo)盛(sheng)認證中(zhong)心檢測(ce)(ce), 根(gen)據(ju)金(jin)(jin)融行業標(biao)準《分(fen)布(bu)式數(shu)據(ju)庫技(ji)術(shu)金(jin)(jin)融應(ying)用(yong)(yong)規(gui)范(草(cao)案稿)》、中(zhong)金(jin)(jin)國(guo)盛(sheng)企業標(biao)準《分(fen)布(bu)式數(shu)據(ju)庫技(ji)術(shu)金(jin)(jin)融應(ying)用(yong)(yong)檢測(ce)(ce)規(gui)范(試行)》,基(ji)于華為(wei)(wei)鯤鵬處(chu)理器和(he)通用(yong)(yong)CPU的華為(wei)(wei)GaussDB數(shu)據(ju)庫率先通過本(ben)次檢測(ce)(ce),82個檢測(ce)(ce)項全部為(wei)(wei)“符(fu)合”,在(zai)功能(neng)性、性能(neng)、安全性、可靠性、穩定性等方面都符(fu)合金(jin)(jin)融行業的規(gui)范要(yao)求。
具體到(dao)詳(xiang)細(xi)的(de)測試結果,GaussDB在(zai)功能性(xing)(xing)、安全性(xing)(xing)、災難恢復及性(xing)(xing)能方面均符合檢(jian)測規范(fan)要(yao)求(qiu)(qiu)。在(zai)銀行批(pi)量結息業(ye)務測試中(zhong),GaussDB功能性(xing)(xing)、穩定性(xing)(xing)等均滿(man)(man)足銀行批(pi)量結息業(ye)務需求(qiu)(qiu),性(xing)(xing)能甚至(zhi)優于(yu)業(ye)界(jie)領(ling)先(xian)數據(ju)庫30%以上。在(zai)銀行信用卡(ka)代授權業(ye)務測試中(zhong),GaussDB的(de)功能性(xing)(xing)、穩定性(xing)(xing)同樣滿(man)(man)足要(yao)求(qiu)(qiu),其(qi)單節點的(de)性(xing)(xing)能與業(ye)界(jie)領(ling)先(xian)數據(ju)庫持平(ping),分布(bu)式環境下,GaussDB性(xing)(xing)能擴展比超過(guo)0.8。
實際上,在性(xing)能評測方面,目前國內一(yi)些銀(yin)行(xing)及華為分別進行(xing)基于(yu)TaiShan服(fu)(fu)務(wu)器(qi)(qi)和通用CPU服(fu)(fu)務(wu)器(qi)(qi)的TPC-C比(bi)拼測試(shi),證明GaussDB在TaiShan服(fu)(fu)務(wu)器(qi)(qi)上性(xing)能表現較同(tong)等通用CPU服(fu)(fu)務(wu)器(qi)(qi)提高(gao)約(yue)20%。在華為基于(yu)TaiShan服(fu)(fu)務(wu)器(qi)(qi)16節點的TPC-C標準測試(shi),性(xing)能達到千萬(wan)級tpmC。
這個(ge)數據說明GaussDB平均的單機內核性(xing)能足夠(gou)強勁,具備線性(xing)擴展突破高TPC-C成績的潛力。
毫無疑(yi)問,以華(hua)為為代表(biao)的(de)(de)中(zhong)國(guo)數據庫品(pin)牌(pai)越來(lai)越敢在(zai)各(ge)種行業(ye)評測機(ji)構亮(liang)成(cheng)績,讓行業(ye)用戶看到(dao)中(zhong)國(guo)數據庫品(pin)牌(pai)與產品(pin)的(de)(de)實際參(can)考價值,也成(cheng)為用戶所欣喜看到(dao)的(de)(de)趨勢(shi)。
數據庫發展沒有捷(jie)徑,業務場景(jing)實(shi)踐是唯一出路(lu)
事(shi)實(shi)上,數(shu)據(ju)(ju)庫作為技(ji)術含量(liang)高(gao)、難度巨大(da)的IT基礎產品,往往需要(yao)大(da)量(liang)的人才、資金進行長(chang)期耐(nai)心投(tou)入。與此同時,數(shu)據(ju)(ju)庫又(you)是一個競爭(zheng)門檻特別高(gao)的領域。國外數(shu)據(ju)(ju)庫巨頭們已經將競爭(zheng)門檻構筑的足夠高(gao),中國的數(shu)據(ju)(ju)庫品牌往往需要(yao)為之付出更大(da)的努力,才能(neng)達到同樣的高(gao)度。
尤(you)其是在像(xiang)金融(rong)、電(dian)信(xin)、制造、交通、能源等(deng)商用(yong)市場,國際(ji)數(shu)據(ju)庫(ku)已經具(ju)備了(le)足夠的(de)(de)產品能力(li)(li)(li)、品牌能力(li)(li)(li)和(he)生態能力(li)(li)(li)。某位數(shu)據(ju)庫(ku)專家就向筆者坦言(yan):“打造一(yi)(yi)款通用(yong)型數(shu)據(ju)庫(ku)絕(jue)非易(yi)事,除了(le)性能之外(wai),易(yi)用(yong)性、可(ke)靠性和(he)可(ke)恢復性是背后隱(yin)藏的(de)(de)能力(li)(li)(li),這(zhe)絕(jue)非一(yi)(yi)朝(chao)一(yi)(yi)夕所能做到的(de)(de)。”因此,中國數(shu)據(ju)庫(ku)品牌的(de)(de)發(fa)展并(bing)沒有任何捷徑(jing),需要牢(lao)(lao)牢(lao)(lao)中國各(ge)個行(xing)業(ye)加(jia)速(su)數(shu)字化轉型的(de)(de)窗(chuang)口期,從實際(ji)業(ye)務場景中的(de)(de)實踐中不斷摸(mo)索與成長,加(jia)速(su)迭代和(he)改(gai)進,走出自(zi)身的(de)(de)價值之路。
比如在對于數(shu)據(ju)庫產品(pin)為苛刻(ke)的(de)金融(rong)(rong)行業(ye),據(ju)筆者所了解的(de)情況,到今年為止,國(guo)內(nei)大(da)部分金融(rong)(rong)行業(ye)客戶依(yi)然以采用國(guo)際(ji)數(shu)據(ju)庫巨頭(tou)產品(pin)為主,不過出于未來長遠發展考慮(lv),很(hen)多(duo)金融(rong)(rong)機(ji)構都(dou)在嘗試在業(ye)務中使用中國(guo)的(de)數(shu)據(ju)庫品(pin)牌。但是(shi)以銀(yin)行、保(bao)險(xian)等(deng)為代表的(de)傳統金融(rong)(rong)機(ji)構,其業(ye)務復雜性遠不是(shi)互聯網金融(rong)(rong)公司(si)單一業(ye)務所能比擬的(de),往(wang)(wang)往(wang)(wang)需(xu)要中國(guo)數(shu)據(ju)庫產品(pin)在多(duo)個方面具備足夠的(de)實力(li)。
以(yi)招商(shang)銀行(xing)(xing)為例,截止2018年(nian)底,光APP注(zhu)冊用(yong)戶就達到(dao)(dao)(dao)1.4億、月活(huo)用(yong)戶達到(dao)(dao)(dao)8000萬以(yi)上,從總行(xing)(xing)到(dao)(dao)(dao)分(fen)行(xing)(xing)、再(zai)到(dao)(dao)(dao)支行(xing)(xing)幾乎每天都通過APP進行(xing)(xing)各(ge)色(se)各(ge)樣的(de)(de)個性(xing)(xing)化推薦、搶(qiang)購、秒(miao)殺等促(cu)銷活(huo)動,在其向金(jin)融(rong)科技的(de)(de)轉型過程中(zhong),海(hai)量(liang)、復(fu)雜的(de)(de)核(he)心業務場(chang)景使得招商(shang)銀行(xing)(xing)仔細評估(gu)了開源(yuan)數(shu)據(ju)(ju)(ju)庫(ku)和商(shang)用(yong)數(shu)據(ju)(ju)(ju)產(chan)品,對數(shu)據(ju)(ju)(ju)庫(ku)有著(zhu)明確和清晰(xi)的(de)(de)需求:高性(xing)(xing)能、高擴(kuo)展、高可用(yong)、對業務開發友(you)好、容易管理運維的(de)(de)金(jin)融(rong)分(fen)布(bu)式數(shu)據(ju)(ju)(ju)庫(ku)產(chan)品。
為(wei)(wei)此,招商(shang)銀行(xing)與(yu)(yu)華為(wei)(wei)進行(xing)聯合創新(xin),招商(shang)銀行(xing)方面提供先進的(de)金融業(ye)務場(chang)(chang)景(jing),根(gen)據(ju)多(duo)年數(shu)(shu)據(ju)庫(ku)使用和(he)運維經驗(yan)(yan)提出分布式數(shu)(shu)據(ju)的(de)具(ju)體要求,以及深入參(can)與(yu)(yu)到數(shu)(shu)據(ju)庫(ku)核(he)(he)心內核(he)(he)和(he)架構的(de)設計、編碼、測試和(he)投產階段。經過雙方聯合創新(xin),華為(wei)(wei)GaussDB已經擁有高(gao)性(xing)(xing)能的(de)數(shu)(shu)據(ju)庫(ku)內核(he)(he)、性(xing)(xing)能與(yu)(yu)容量的(de)高(gao)可擴展能力(li)、數(shu)(shu)據(ju)的(de)兩地(di)多(duo)中心高(gao)可用、故(gu)障快速切換、支持(chi)高(gao)性(xing)(xing)能分布式事務、易(yi)(yi)開發、易(yi)(yi)運維與(yu)(yu)管(guan)理等七大特性(xing)(xing),并且在招商(shang)銀行(xing)實際業(ye)務場(chang)(chang)景(jing)中得到充分的(de)驗(yan)(yan)證與(yu)(yu)落地(di)。(相(xiang)關推薦(jian):)
例如,在(zai)數(shu)據(ju)(ju)庫(ku)的(de)(de)可(ke)擴(kuo)展(zhan)(zhan)(zhan)能(neng)力方面(mian),招商銀行可(ke)以在(zai)實際業務(wu)中做到擴(kuo)展(zhan)(zhan)(zhan)比不低于0.8的(de)(de)準線(xian)性擴(kuo)展(zhan)(zhan)(zhan),節(jie)點擴(kuo)展(zhan)(zhan)(zhan)采用全量+增量的(de)(de)方式,實現(xian)對(dui)(dui)業務(wu)無(wu)感(gan)知的(de)(de)擴(kuo)容(rong),可(ke)以支(zhi)持8000個(ge)以上的(de)(de)數(shu)據(ju)(ju)庫(ku)并發連接,很好地(di)應對(dui)(dui)了招商銀行秒殺(sha)、搶購場(chang)景下突增的(de)(de)數(shu)據(ju)(ju)庫(ku)訪問請求(qiu)。又比如在(zai)數(shu)據(ju)(ju)庫(ku)的(de)(de)主(zhu)備(bei)切換階段(duan),GaussDB實現(xian)了關鍵(jian)故(gu)障恢復(fu)指(zhi)標(biao)上的(de)(de)大(da)幅領(ling)先(xian),RTO<1s ,而其他商業數(shu)據(ju)(ju)庫(ku)產(chan)品通常需要30s以上,這(zhe)讓招商銀行的(de)(de)AZ內故(gu)障恢復(fu)速度提升30倍。