巨杉數(shù)據(jù)庫(kù)高訪問(wèn)量、海量數(shù)據(jù)業(yè)務(wù)背后的基礎(chǔ)系統(tǒng)架構(gòu)是如何設(shè)計(jì)和優(yōu)化的?分布式數(shù)據(jù)庫(kù)是如何做到數(shù)據(jù)的透明水平、垂直拆分,實(shí)現(xiàn)海量數(shù)據(jù)實(shí)時(shí)查詢(xún)的? 1.巨杉數(shù)據(jù)庫(kù)作為國(guó)內(nèi)第一款自主研發(fā)的NewSQL數(shù)據(jù)庫(kù),在發(fā)展過(guò)程中是否遇到困難或質(zhì)疑?與海外產(chǎn)品如MongoDB有什么區(qū)別? 巨杉數(shù)據(jù)庫(kù)是巨杉團(tuán)隊(duì)從零開(kāi)始研發(fā)的,數(shù)據(jù)庫(kù)內(nèi)核是沒(méi)有基于任何的開(kāi)源數(shù)據(jù)庫(kù)產(chǎn)品的。這一點(diǎn)也是我們團(tuán)隊(duì)非常自豪的一個(gè)成績(jī)。 在發(fā)展過(guò)程中,自然也是有一些人對(duì)我們表示質(zhì)疑,或者是認(rèn)為國(guó)內(nèi)團(tuán)隊(duì)不可能從零開(kāi)始開(kāi)發(fā)數(shù)據(jù)庫(kù),或者即使是國(guó)內(nèi)開(kāi)發(fā)的,性能和穩(wěn)定性也一定不如海外產(chǎn)品。不過(guò)如今,巨杉經(jīng)過(guò)了企業(yè)市場(chǎng)的考驗(yàn),也真正用產(chǎn)品和技術(shù)服務(wù)證明了自己。我們超過(guò)百家的企業(yè)用戶(hù),特別是銀行這樣客戶(hù)的認(rèn)可和大規(guī)模使用,也是對(duì)我們最好的褒獎(jiǎng)吧。 對(duì)于海外產(chǎn)品的對(duì)比,我們的性能通過(guò)第三方的測(cè)試,與MongoDB、Cassandra 等都在統(tǒng)一水平,部分性能甚至大大優(yōu)于海外的產(chǎn)品。同時(shí),上面提到的多個(gè)企業(yè)應(yīng)用場(chǎng)景,我們也是實(shí)打?qū)嵉哪挸鰜?lái)的,許多企業(yè)級(jí)應(yīng)用場(chǎng)景,比硅谷的NoSQL/NewSQL產(chǎn)品都要領(lǐng)先。 2.巨杉數(shù)據(jù)庫(kù)在企業(yè)的應(yīng)用場(chǎng)景有哪些?在解決用戶(hù)需求方面有什么心得? 巨杉數(shù)據(jù)庫(kù)發(fā)布5年以來(lái),在企業(yè)級(jí)大數(shù)據(jù)應(yīng)用中積累了豐富的經(jīng)驗(yàn),也打磨出我們的主要場(chǎng)景。 企業(yè)對(duì)于數(shù)據(jù)庫(kù)的新需求主要包括海量數(shù)據(jù)的管理、非結(jié)構(gòu)化數(shù)據(jù)的管理、歷史數(shù)據(jù)在線(xiàn)化以及數(shù)據(jù)全維度展現(xiàn)等等。因此巨杉也培育了幾大解決方案,包括:海量歷史數(shù)據(jù)平臺(tái),企業(yè)內(nèi)容管理平臺(tái),大數(shù)據(jù)湖,全量數(shù)據(jù)視圖等等。 3.能否談?wù)劸奚紨?shù)據(jù)庫(kù)在海量數(shù)據(jù)存儲(chǔ)以及高性能的查詢(xún)這塊技術(shù)上有什么亮點(diǎn)? 首先,由于巨杉數(shù)據(jù)庫(kù)是天生的分布式架構(gòu),因此能方便快捷地在X86架構(gòu)下實(shí)現(xiàn)集群規(guī)模和存儲(chǔ)容量的水平擴(kuò)展,這使得海量數(shù)據(jù)的存儲(chǔ)不僅變得簡(jiǎn)單易行,而且和傳統(tǒng)方式相比成本大幅下降。 而在數(shù)據(jù)的錄入和使用方面,巨杉數(shù)據(jù)庫(kù)更是充分發(fā)揮分布式架構(gòu)的優(yōu)勢(shì),提供了一系列的技術(shù)手段以實(shí)現(xiàn)最佳效率,比如垂直分區(qū)、水平分區(qū)、自動(dòng)讀寫(xiě)分離、自定義存儲(chǔ)分布策略等。除此之外,我們并沒(méi)有丟棄現(xiàn)有的技術(shù),而是充分利用了已經(jīng)在數(shù)據(jù)庫(kù)領(lǐng)域中廣泛使用的一些技術(shù)手段,比如靈活高效的索引機(jī)制、高效數(shù)據(jù)壓縮等,進(jìn)一步提高了數(shù)據(jù)操作時(shí)的效率。最后,為了方便傳統(tǒng)的數(shù)據(jù)庫(kù)使用者,我們還特意提供了 SQL 引擎,并結(jié)合巨杉數(shù)據(jù)庫(kù)的技術(shù)特點(diǎn)對(duì) SQL 引擎做了優(yōu)化,讓 SQL 使用者在巨杉數(shù)據(jù)庫(kù)上也能有最佳體驗(yàn)。 綜合以上特點(diǎn)可以看出,對(duì)于有海量數(shù)據(jù)存儲(chǔ)和高效查詢(xún)要求的用戶(hù)來(lái)說(shuō),巨杉數(shù)據(jù)庫(kù)是非常好的選擇! 4、當(dāng)數(shù)據(jù)達(dá)到億級(jí)或者百億級(jí)以上,數(shù)據(jù)庫(kù)平臺(tái)構(gòu)架如何設(shè)計(jì)和優(yōu)化?在這個(gè)領(lǐng)域有什么坑是開(kāi)發(fā)者可以避免的? 在銀行這樣的企業(yè)級(jí)應(yīng)用中,億級(jí)的數(shù)據(jù)基本是比較小兒科。通常數(shù)據(jù)量都是百億級(jí)別,超過(guò)百TB。 對(duì)于這樣的海量數(shù)據(jù)來(lái)說(shuō),“分布式“技術(shù)幾乎是不二之選!以巨杉數(shù)據(jù)庫(kù)為例,可利用垂直分區(qū)、水平分區(qū)等功能,充分結(jié)合業(yè)務(wù)數(shù)據(jù)的特點(diǎn)(這一點(diǎn)很重要),在數(shù)據(jù)庫(kù)層面做好架構(gòu)設(shè)計(jì),這樣就能將海量數(shù)據(jù)均勻分布到分布式集群的各個(gè)節(jié)點(diǎn)上,同時(shí)又不會(huì)增加應(yīng)用的復(fù)雜度。一旦做好了這樣的架構(gòu)設(shè)計(jì),應(yīng)用層無(wú)論是數(shù)據(jù)的錄入操作還是查詢(xún)操作,在數(shù)據(jù)底層都能自動(dòng)定位成部分節(jié)點(diǎn)內(nèi)甚至單節(jié)點(diǎn)內(nèi)的操作,從而將針對(duì)海量數(shù)據(jù)的操作轉(zhuǎn)化成了小批量的操作,必然實(shí)現(xiàn)效率上的極大提升。 但是,也必須要意識(shí)到在“大數(shù)據(jù)“時(shí)代,數(shù)據(jù)量的膨脹速度是超乎人們想象的,局部節(jié)點(diǎn)內(nèi)的數(shù)據(jù)也可能會(huì)達(dá)到一個(gè)不小的數(shù)量級(jí),這幾乎是難以避免的情況。在這種情況下,除了在現(xiàn)有集群上繼續(xù)做水平擴(kuò)展之外,也要充分利用高效索引及數(shù)據(jù)壓縮等傳統(tǒng)技術(shù)以提高單節(jié)點(diǎn)內(nèi)的效率。 最后,不要忘記巨杉數(shù)據(jù)庫(kù)的讀寫(xiě)分離和自定義數(shù)據(jù)分布策略等機(jī)制,它們可以幫助你將負(fù)載均勻分散到不同的節(jié)點(diǎn)上,從而最大程度上避免“熱點(diǎn)“競(jìng)爭(zhēng)的出現(xiàn),這也是分布式技術(shù)所具有的天然優(yōu)勢(shì)。 5、如何評(píng)價(jià)現(xiàn)有的分布式大數(shù)據(jù)處理開(kāi)源架構(gòu)?它們中有何需要改進(jìn)或者值得借鑒的地方? 第一,Hadoop 不代表大數(shù)據(jù)的全部,現(xiàn)在國(guó)內(nèi)好像行成了一種風(fēng)氣,Hadoop 就代表了大數(shù)據(jù)。但事實(shí) Hadoop 能解決的也只是一部分的需求,特別在大數(shù)據(jù)的在線(xiàn)實(shí)時(shí)交互這一塊,NewSQL/NoSQL也是不錯(cuò)的選擇。而這一點(diǎn)近一年多來(lái),我們也在眾多的企業(yè)級(jí)用戶(hù)身上證實(shí)了。 第二,對(duì)于分布式數(shù)據(jù)庫(kù)本身。NoSQL和關(guān)系型數(shù)據(jù)庫(kù)這兩者肯定是逐漸融合的過(guò)程,NoSQL數(shù)據(jù)庫(kù)會(huì)不斷注重企業(yè)級(jí)功能如 SQL 支持的提升,也是因此現(xiàn)在衍生出了NewSQL的概念。數(shù)據(jù)庫(kù)未來(lái)將會(huì)是一個(gè)分布式、高性能的立足實(shí)時(shí)處理和在線(xiàn)服務(wù)同時(shí)作為數(shù)據(jù)源支持上層的數(shù)據(jù)分析應(yīng)用的定位。 6.為什么很多分布式的數(shù)據(jù)庫(kù)都采用開(kāi)源的模式?這種形式有什么優(yōu)劣勢(shì)? 我們很認(rèn)同一種劃分就是 “開(kāi)源軟件商業(yè)化“和“商業(yè)軟件開(kāi)源化“。巨杉走的是“商業(yè)軟件開(kāi)源化“的路線(xiàn)。 我們堅(jiān)持以商業(yè)化軟件為核心,向企業(yè)用戶(hù)提供為企業(yè)用戶(hù)提供高質(zhì)量、穩(wěn)定可靠的商業(yè)化產(chǎn)品與標(biāo)準(zhǔn)化專(zhuān)業(yè)化的技術(shù)服務(wù),這也是企業(yè)市場(chǎng)不變的需求。 可以說(shuō)是一種技術(shù)上的情懷,讓我們也和硅谷的前輩們一樣選擇開(kāi)源,我們自己開(kāi)發(fā)的數(shù)據(jù)庫(kù)產(chǎn)品,我們也希望和更多的開(kāi)發(fā)者分享我們的技術(shù)。 同時(shí)我們也在商業(yè)化經(jīng)營(yíng)同時(shí),通過(guò)產(chǎn)品的開(kāi)源和開(kāi)源生態(tài)建立,快速推進(jìn)產(chǎn)品技術(shù)的品牌和用戶(hù),同時(shí)能幫助構(gòu)建自己的技術(shù)生態(tài)。 此外,開(kāi)源也有出于我們團(tuán)隊(duì)的技術(shù)自信,也是一種程度回應(yīng)對(duì)于我們自己研發(fā)的質(zhì)疑吧。 而對(duì)于“開(kāi)源軟件商業(yè)化“,如果完全開(kāi)放開(kāi)源,對(duì)于商業(yè)化運(yùn)營(yíng)會(huì)有不小的影響。主要也就是商業(yè)化與社區(qū)版發(fā)展的關(guān)系,社區(qū)的需求與企業(yè)用戶(hù)的需求不一定一直,商業(yè)版本與社區(qū)版本的發(fā)展方向也可能互相沖突,甚至于商業(yè)化團(tuán)隊(duì)無(wú)法完全掌握核心技術(shù),這對(duì)于用戶(hù)來(lái)說(shuō)可不是好消息。 7.對(duì)于想踏入或剛剛進(jìn)入這個(gè)領(lǐng)域的新人來(lái)說(shuō),有沒(méi)有什么心得建議? 對(duì)于在這個(gè)領(lǐng)域經(jīng)驗(yàn)尚不夠豐富的朋友們來(lái)說(shuō),我個(gè)人認(rèn)為最重要的兩點(diǎn)建議就是: 1)充分了解你想使用的分布式技術(shù)有哪些特點(diǎn),并且一定要充分結(jié)合你的業(yè)務(wù)特點(diǎn),這樣你才有可能做出最佳選擇。記住,絕沒(méi)有哪一項(xiàng)技術(shù)在所有的業(yè)務(wù)場(chǎng)景下都是最佳選擇,最適合業(yè)務(wù)場(chǎng)景的才是最佳選擇! 2)理論分析固然重要,但實(shí)測(cè)更有說(shuō)服力!不要嫌麻煩,一定要用全面的測(cè)試結(jié)果來(lái)支持(或者推翻)你的方案。 上面這兩點(diǎn)看上去都是很樸素的道理,但實(shí)際操作中卻經(jīng)常被忽略,也是極容易掉進(jìn)去的坑。
«
互聯(lián)網(wǎng)金融風(fēng)險(xiǎn)專(zhuān)項(xiàng)整治工作答記者問(wèn):對(duì)重點(diǎn)領(lǐng)域進(jìn)行整治
|
冠群馳騁緊把安全關(guān) 打造靠譜網(wǎng)貸平臺(tái)
»