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