在大數(shù)據(jù)時代,“多種架構(gòu)支持多類應用”成為數(shù)據(jù)庫行業(yè)應對大數(shù)據(jù)的基本思路,數(shù)據(jù)庫行業(yè)出現(xiàn)互為補充的三大陣營,適用于事務處理應用的OldSQL、適用于數(shù)據(jù)分析應用的NewSQL和適用于互聯(lián)網(wǎng)應用的NoSQL。但在一些復雜的應用場景中,單一數(shù)據(jù)庫架構(gòu)都不能完全滿足應用場景對海量結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的存儲管理、復雜分析、關(guān)聯(lián)查詢、實時性處理和控制建設成本等多方面的需要,因此不同架構(gòu)數(shù)據(jù)庫混合部署應用成為滿足復雜應用的必然選擇。不同架構(gòu)數(shù)據(jù)庫混合使用的模式可以概括為:OldSQL+NewSQL、OldSQL+NoSQL、NewSQL+NoSQL三種主要模式。下面通過三個案例對不同架構(gòu)數(shù)據(jù)庫的混合應用部署進行介紹。
創(chuàng)新互聯(lián)專注于洛寧企業(yè)網(wǎng)站建設,成都響應式網(wǎng)站建設,成都做商城網(wǎng)站。洛寧網(wǎng)站建設公司,為洛寧等地區(qū)提供建站服務。全流程按需求定制網(wǎng)站,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
OldSQL+NewSQL 在數(shù)據(jù)中心類應用中混合部署
采用OldSQL+NewSQL模式構(gòu)建數(shù)據(jù)中心,在充分發(fā)揮OldSQL數(shù)據(jù)庫的事務處理能力的同時,借助NewSQL在實時性、復雜分析、即席查詢等方面的獨特優(yōu)勢,以及面對海量數(shù)據(jù)時較強的擴展能力,滿足數(shù)據(jù)中心對當前“熱”數(shù)據(jù)事務型處理和海量歷史“冷”數(shù)據(jù)分析兩方面的需求。OldSQL+NewSQL模式在數(shù)據(jù)中心類應用中的互補作用體現(xiàn)在,OldSQL彌補了NewSQL不適合事務處理的不足,NewSQL彌補了OldSQL在海量數(shù)據(jù)存儲能力和處理性能方面的缺陷。
商業(yè)銀行數(shù)據(jù)中心采用OldSQL+NewSQL混合部署方式搭建,OldSQL數(shù)據(jù)庫滿足各業(yè)務系統(tǒng)數(shù)據(jù)的歸檔備份和事務型應用,NewSQL MPP數(shù)據(jù)庫集群對即席查詢、多維分析等應用提供高性能支持,并且通過MPP集群架構(gòu)實現(xiàn)應對海量數(shù)據(jù)存儲的擴展能力。
商業(yè)銀行數(shù)據(jù)中心存儲架構(gòu)
與傳統(tǒng)的OldSQL模式相比,商業(yè)銀行數(shù)據(jù)中心采用OldSQL+NewSQL混合搭建模式,數(shù)據(jù)加載性能提升3倍以上,即席查詢和統(tǒng)計分析性能提升6倍以上。NewSQL MPP的高可擴展性能夠應對新的業(yè)務需求,可隨著數(shù)據(jù)量的增長采用集群方式構(gòu)建存儲容量更大的數(shù)據(jù)中心。
OldSQL+NoSQL 在互聯(lián)網(wǎng)大數(shù)據(jù)應用中混合部署
在互聯(lián)網(wǎng)大數(shù)據(jù)應用中采用OldSQL+NoSQL混合模式,能夠很好的解決互聯(lián)網(wǎng)大數(shù)據(jù)應用對海量結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)進行存儲和快速處理的需求。在諸如大型電子商務平臺、大型SNS平臺等互聯(lián)網(wǎng)大數(shù)據(jù)應用場景中,OldSQL在應用中負責高價值密度結(jié)構(gòu)化數(shù)據(jù)的存儲和事務型處理,NoSQL在應用中負責存儲和處理海量非結(jié)構(gòu)化的數(shù)據(jù)和低價值密度結(jié)構(gòu)化數(shù)據(jù)。OldSQL+NoSQL模式在互聯(lián)網(wǎng)大數(shù)據(jù)應用中的互補作用體現(xiàn)在,OldSQL彌補了NoSQL在ACID特性和復雜關(guān)聯(lián)運算方面的不足,NoSQL彌補了OldSQL在海量數(shù)據(jù)存儲和非結(jié)構(gòu)化數(shù)據(jù)處理方面的缺陷。
數(shù)據(jù)魔方是淘寶網(wǎng)的一款數(shù)據(jù)產(chǎn)品,主要提供行業(yè)數(shù)據(jù)分析、店鋪數(shù)據(jù)分析。淘寶數(shù)據(jù)產(chǎn)品在存儲層采用OldSQL+NoSQL混合模式,由基于MySQL的分布式關(guān)系型數(shù)據(jù)庫集群MyFOX和基于HBase的NoSQL存儲集群Prom組成。由于OldSQL強大的語義和關(guān)系表達能力,在應用中仍然占據(jù)著重要地位,目前存儲在MyFOX中的統(tǒng)計結(jié)果數(shù)據(jù)已經(jīng)達到10TB,占據(jù)著數(shù)據(jù)魔方總數(shù)據(jù)量的95%以上。另一方面,NoSQL作為SQL的有益補充,解決了OldSQL數(shù)據(jù)庫無法解決的全屬性選擇器等問題。
淘寶海量數(shù)據(jù)產(chǎn)品技術(shù)架構(gòu)
基于OldSQL+NoSQL混合架構(gòu)的特點,數(shù)據(jù)魔方目前已經(jīng)能夠提供壓縮前80TB的數(shù)據(jù)存儲空間,支持每天4000萬的查詢請求,平均響應時間在28毫秒,足以滿足未來一段時間內(nèi)的業(yè)務增長需求。
NewSQL+NoSQL 在行業(yè)大數(shù)據(jù)應用中混合部署
行業(yè)大數(shù)據(jù)與互聯(lián)網(wǎng)大數(shù)據(jù)的區(qū)別在于行業(yè)大數(shù)據(jù)的價值密度更高,并且對結(jié)構(gòu)化數(shù)據(jù)的實時處理、復雜的多表關(guān)聯(lián)分析、即席查詢、數(shù)據(jù)強一致性等都比互聯(lián)網(wǎng)大數(shù)據(jù)有更高的要求。行業(yè)大數(shù)據(jù)應用場景主要是分析類應用,如:電信、金融、政務、能源等行業(yè)的決策輔助、預測預警、統(tǒng)計分析、經(jīng)營分析等。
在行業(yè)大數(shù)據(jù)應用中采用NewSQL+NoSQL混合模式,充分利用NewSQL在結(jié)構(gòu)化數(shù)據(jù)分析處理方面的優(yōu)勢,以及NoSQL在非結(jié)構(gòu)數(shù)據(jù)處理方面的優(yōu)勢,實現(xiàn)NewSQL與NoSQL的功能互補,解決行業(yè)大數(shù)據(jù)應用對高價值結(jié)構(gòu)化數(shù)據(jù)的實時處理、復雜的多表關(guān)聯(lián)分析、即席查詢、數(shù)據(jù)強一致性等要求,以及對海量非結(jié)構(gòu)化數(shù)據(jù)存儲和精確查詢的要求。在應用中,NewSQL承擔高價值密度結(jié)構(gòu)化數(shù)據(jù)的存儲和分析處理工作,NoSQL承擔存儲和處理海量非結(jié)構(gòu)化數(shù)據(jù)和不需要關(guān)聯(lián)分析、Ad-hoc查詢較少的低價值密度結(jié)構(gòu)化數(shù)據(jù)的工作。
當前電信運營商在集中化BI系統(tǒng)建設過程中面臨著數(shù)據(jù)規(guī)模大、數(shù)據(jù)處理類型多等問題,并且需要應對大量的固定應用,以及占統(tǒng)計總數(shù)80%以上的突發(fā)性臨時統(tǒng)計(ad-hoc)需求。在集中化BI系統(tǒng)的建設中采用NewSQL+NoSQL混搭的模式,充分利用NewSQL在復雜分析、即席查詢等方面處理性能的優(yōu)勢,及NoSQL在非結(jié)構(gòu)化數(shù)據(jù)處理和海量數(shù)據(jù)存儲方面的優(yōu)勢,實現(xiàn)高效低成本。
集中化BI系統(tǒng)數(shù)據(jù)存儲架構(gòu)
集中化BI系統(tǒng)按照數(shù)據(jù)類型和處理方式的不同,將結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)分別存儲在不同的系統(tǒng)中:非結(jié)構(gòu)化數(shù)據(jù)在Hadoop平臺上存儲與處理;結(jié)構(gòu)化、不需要關(guān)聯(lián)分析、Ad-hoc查詢較少的數(shù)據(jù)保存在NoSQL數(shù)據(jù)庫或Hadoop平臺;結(jié)構(gòu)化、需要關(guān)聯(lián)分析或經(jīng)常ad-hoc查詢的數(shù)據(jù),保存在NewSQL MPP數(shù)據(jù)庫中,短期高價值數(shù)據(jù)放在高性能平臺,中長期放在低成本產(chǎn)品中。
結(jié)語
當前信息化應用的多樣性、復雜性,以及三種數(shù)據(jù)庫架構(gòu)各自所具有的優(yōu)勢和局限性,造成任何一種架構(gòu)的數(shù)據(jù)庫都不能完全滿足應用需求,因此不同架構(gòu)數(shù)據(jù)庫混合使用,從而彌補其他架構(gòu)的不足成為必然選擇。根據(jù)應用場景采用不同架構(gòu)數(shù)據(jù)庫進行組合搭配,充分發(fā)揮每種架構(gòu)數(shù)據(jù)庫的特點和優(yōu)勢,并且與其他架構(gòu)數(shù)據(jù)庫形成互補,完全涵蓋應用需求,保證數(shù)據(jù)資源的最優(yōu)化利用,將成為未來一段時期內(nèi)信息化應用主要采用的解決方式。
目前在國內(nèi)市場上,OldSQL主要為Oracle、IBM等國外數(shù)據(jù)庫廠商所壟斷,達夢、金倉等國產(chǎn)廠商仍處于追趕狀態(tài);南大通用憑借國產(chǎn)新型數(shù)據(jù)庫GBase 8a異軍突起,與EMC的Greenplum和HP的Vertica躋身NewSQL市場三強;NoSQL方面用戶則大多采用Hadoop開源方案。
NoSQL,泛指非關(guān)系型的數(shù)據(jù)庫。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關(guān)系數(shù)據(jù)庫在應付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題,而非關(guān)系型的數(shù)據(jù)庫則由于其本身的特點得到了非常迅速的發(fā)展。NoSQL數(shù)據(jù)庫的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重數(shù)據(jù)種類帶來的挑戰(zhàn),尤其是大數(shù)據(jù)應用難題。
雖然NoSQL流行語火起來才短短一年的時間,但是不可否認,現(xiàn)在已經(jīng)開始了第二代運動。盡管早期的堆棧代碼只能算是一種實驗,然而現(xiàn)在的系統(tǒng)已經(jīng)更加的成熟、穩(wěn)定。不過現(xiàn)在也面臨著一個嚴酷的事實:技術(shù)越來越成熟——以至于原來很好的NoSQL數(shù)據(jù)存儲不得不進行重寫,也有少數(shù)人認為這就是所謂的2.0版本。這里列出一些比較知名的工具,可以為大數(shù)據(jù)建立快速、可擴展的存儲庫。
NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,是一項全新的數(shù)據(jù)庫革命性運動,早期就有人提出,發(fā)展至2009年趨勢越發(fā)高漲。NoSQL的擁護者們提倡運用非關(guān)系型的數(shù)據(jù)存儲,相對于鋪天蓋地的關(guān)系型數(shù)據(jù)庫運用,這一概念無疑是一種全新的思維的注入。
對于NoSQL并沒有一個明確的范圍和定義,但是他們都普遍存在下面一些共同特征:
不需要預定義模式:不需要事先定義數(shù)據(jù)模式,預定義表結(jié)構(gòu)。數(shù)據(jù)中的每條記錄都可能有不同的屬性和格式。當插入數(shù)據(jù)時,并不需要預先定義它們的模式。
無共享架構(gòu):相對于將所有數(shù)據(jù)存儲的存儲區(qū)域網(wǎng)絡中的全共享架構(gòu)。NoSQL往往將數(shù)據(jù)劃分后存儲在各個本地服務器上。因為從本地磁盤讀取數(shù)據(jù)的性能往往好于通過網(wǎng)絡傳輸讀取數(shù)據(jù)的性能,從而提高了系統(tǒng)的性能。
彈性可擴展:可以在系統(tǒng)運行的時候,動態(tài)增加或者刪除結(jié)點。不需要停機維護,數(shù)據(jù)可以自動遷移。
分區(qū):相對于將數(shù)據(jù)存放于同一個節(jié)點,NoSQL數(shù)據(jù)庫需要將數(shù)據(jù)進行分區(qū),將記錄分散在多個節(jié)點上面。并且通常分區(qū)的同時還要做復制。這樣既提高了并行性能,又能保證沒有單點失效的問題。
異步復制:和RAID存儲系統(tǒng)不同的是,NoSQL中的復制,往往是基于日志的異步復制。這樣,數(shù)據(jù)就可以盡快地寫入一個節(jié)點,而不會被網(wǎng)絡傳輸引起遲延。缺點是并不總是能保證一致性,這樣的方式在出現(xiàn)故障的時候,可能會丟失少量的數(shù)據(jù)。
BASE:相對于事務嚴格的ACID特性,NoSQL數(shù)據(jù)庫保證的是BASE特性。BASE是最終一致性和軟事務。
NoSQL數(shù)據(jù)庫并沒有一個統(tǒng)一的架構(gòu),兩種NoSQL數(shù)據(jù)庫之間的不同,甚至遠遠超過兩種關(guān)系型數(shù)據(jù)庫的不同??梢哉f,NoSQL各有所長,成功的NoSQL必然特別適用于某些場合或者某些應用,在這些場合中會遠遠勝過關(guān)系型數(shù)據(jù)庫和其他的NoSQL。
淘寶技術(shù)架構(gòu)演進
1、單機架構(gòu)
2、第一次演進:Tomcat與數(shù)據(jù)庫分開部署
3、第二次演進:引入本地緩存和分布式緩存
4、第三次演進:引入反向代理實現(xiàn)負載均衡
5、第四次演進:數(shù)據(jù)庫讀寫分離
6、第五次演進:數(shù)據(jù)庫按業(yè)務分庫
7、第六次演進:把大表拆分為小表
8、第七次演進:使用LVS或F5來使多個Nginx負載均衡
9、第八次演進:通過DNS輪詢實現(xiàn)機房間的負載均衡
10、第九次演進:引入NoSQL數(shù)據(jù)庫和搜索引擎等技術(shù)
11、第十次演進:大應用拆分為小應用
12、第十一次演進:復用的功能抽離成微服務
13、第十二次演進:引入企業(yè)服務總線ESB屏蔽服務接口的訪問差異
14、第十三次演進:引入容器化技術(shù)實現(xiàn)運行環(huán)境隔離與動態(tài)服務管理
15、第十四次演進:以云平臺承載系統(tǒng)
所謂的云平臺,就是把海量機器資源,通過統(tǒng)一的資源管理,抽象為一個資源整體,在之上可按需動態(tài)申請硬件資源(如CPU、內(nèi)存、網(wǎng)絡等),并且之上提供通用的操作系統(tǒng),提供常用的技術(shù)組件(如Hadoop技術(shù)棧,MPP數(shù)據(jù)庫等)供用戶使用,甚至提供開發(fā)好的應用,用戶不需要關(guān)系應用內(nèi)部使用了什么技術(shù),就能夠解決需求(如音視頻轉(zhuǎn)碼服務、郵件服務、個人博客等)。在云平臺中會涉及如下幾個概念:
IaaS:基礎(chǔ)設施即服務。對應于上面所說的機器資源統(tǒng)一為資源整體,可動態(tài)申請硬件資源的層面;
PaaS:平臺即服務。對應于上面所說的提供常用的技術(shù)組件方便系統(tǒng)的開發(fā)和維護;
SaaS:軟件即服務。對應于上面所說的提供開發(fā)好的應用或服務,按功能或性能要求付費。
中國,不會。
1、中國阿里云數(shù)據(jù)庫HBase是面向大數(shù)據(jù)領(lǐng)域的一站式NoSQL服務。
2、適用于GB至PB級的大規(guī)模吞吐、檢索、分析工作負載,是為淘寶推薦、支付寶賬單、花唄風控、監(jiān)控、廣告投放、物流軌跡以及其他數(shù)據(jù)存放使用的,是不會被刪除的。