我們?cè)谧霾樵円鏁r(shí),遇到的問題就是客戶需要進(jìn)行行與列同時(shí)的訪問控制,但目前很多引擎也只能做到按列訪問。為更好地解決客戶的這個(gè)問題,我們研究出了行和列同時(shí)訪問的引擎,并申請(qǐng)了三個(gè)專利,我們這也是全球第一家可以做出來的行和列同時(shí)訪問的大數(shù)據(jù)企業(yè)。就是你如果在訪問一個(gè)數(shù)據(jù)的時(shí)候,我們自動(dòng)地加上行訪問的控制,我們把查詢引擎改掉了。在開發(fā)人員,不知道需要知道背后的權(quán)限管理是什么樣的。比如說一個(gè)機(jī)構(gòu)很大,幾萬人,可以自動(dòng)通過LDAP加入權(quán)限管理。這樣,不管是銀行普通的辦事人員還是行長(zhǎng),還是總行的人,每一次數(shù)據(jù)訪問,都可以做到行和列的同時(shí)控制。
對(duì)于大數(shù)據(jù)我們做了一個(gè)安全的審計(jì),對(duì)于任何一個(gè)數(shù)據(jù),只要做了增加、刪除、修改操作,甚至是訪問,我們都可以記住日志。數(shù)據(jù)一旦出現(xiàn)問題,我們可以做非常方便地審計(jì)。這里面可以看到,我們?cè)跀?shù)據(jù)審計(jì),包括文件系統(tǒng),包括所有的部署運(yùn)維,比如啟動(dòng)一個(gè)服務(wù),停掉一個(gè)服務(wù),增加一條信息,刪除一條信息,上面跑的硬件、軟件、數(shù)據(jù)、服務(wù),這四個(gè)方面我們?nèi)慷甲隽巳罩?,都可以隨時(shí)審計(jì)。就是你只要做了任何一個(gè)操作,一旦做過,一定會(huì)留下痕跡,很多要求苛刻的客戶都非常愿意購買這個(gè)特性。
明略MDP特性之高可用性
軟件現(xiàn)在分為兩類,一類是運(yùn)營(yíng)商級(jí)別的軟件,一類是非運(yùn)營(yíng)商級(jí)別。運(yùn)營(yíng)商對(duì)于高可用性是非??量痰?,因?yàn)樗竽?×24小時(shí),我任何時(shí)候訪問這個(gè)系統(tǒng)不會(huì)有任何問題。比如一個(gè)1集群有100個(gè)節(jié)點(diǎn),其中有一個(gè)節(jié)點(diǎn)因?yàn)楣收蠑嗟袅?,過一段時(shí)間把那個(gè)節(jié)點(diǎn)的故障排除了,重新啟動(dòng),上面跑的服務(wù)都可以自動(dòng)恢復(fù),數(shù)據(jù)也都可以保持一致,這個(gè)要求是非??量痰?。大家知道,在開源社區(qū)里面有比較常見的一些服務(wù),比如說Hbase、Hive等等都已經(jīng)做了高可用性。但是對(duì)于右邊的這些服務(wù)基本上都沒有,比如Impala、Kerberos、LDAP、Flume等等,這個(gè)里面就面臨一個(gè)很常見的場(chǎng)景,就是如果發(fā)現(xiàn)100個(gè)節(jié)點(diǎn)的集群里面,其中2個(gè)節(jié)點(diǎn)停掉了,不能因?yàn)?個(gè)節(jié)點(diǎn)影響到整個(gè)機(jī)群的服務(wù)。還有,比如把這個(gè)機(jī)器下面的網(wǎng)線拔掉,過一會(huì)兒再插上去,能保證插上去之后,數(shù)據(jù)能夠自動(dòng)恢復(fù)。還有一個(gè)就是對(duì)于硬盤,如果這個(gè)硬盤壞掉了,操作系統(tǒng)一定會(huì)收到這個(gè)故障信號(hào)。但是運(yùn)營(yíng)商測(cè)我們系統(tǒng)的時(shí)候是怎么測(cè)的呢?他就在硬盤正常運(yùn)轉(zhuǎn)的時(shí)候把硬盤拔掉,這個(gè)時(shí)候操作系統(tǒng)是沒有收到故障信號(hào)的,過一會(huì)兒再插上去。還要求硬盤上的數(shù)據(jù)還是一致的,這些非常嚴(yán)苛的要求都是高可用性。除了常見的Hive、Hbase,我們把自己做的各種服務(wù),全部都做了高可用性,從而保證我們的服務(wù)是高可用的。
我們?cè)谧龇?wù)調(diào)度的時(shí)候,我們用了一個(gè)Everything On Yarn的特性,任何一個(gè)用戶使用一個(gè)服務(wù)的時(shí)候,他可能調(diào)動(dòng)了很多的服務(wù),可能把所有的資源都消耗掉,這個(gè)時(shí)候就非常危險(xiǎn),會(huì)導(dǎo)致后起的服務(wù)因?yàn)榉峙洳坏劫Y源而被餓死。我們這樣做了以后,就可以保證其中任何一個(gè)服務(wù)都可以通過這個(gè)來調(diào)度資源,就會(huì)保證一個(gè)太重服務(wù)不把其他的服務(wù)給餓死了。
明略MDP特性之易用性
我們所有的運(yùn)維都是不需要任何腳本,也不需要任何代碼。還有我們有一個(gè)模塊是Dataone,這個(gè)跟我們剛才講的那個(gè)運(yùn)維平臺(tái)NoahArk差不多,非常類似,都是可視化的。我們所有的數(shù)據(jù)遷移都是模板化、向?qū)Щ?,你只需不停地點(diǎn)下一步就可以了,所有的數(shù)據(jù)遷移就可以完成了。
明略MDP特性之開放性
我們所有的組件都可以修改,所有的開源組件都是來自于開源社區(qū),這就保證了客戶不會(huì)被某一個(gè)廠家綁定,隨時(shí)可以自主地升級(jí)系統(tǒng),自主地添加組件,這樣就是一個(gè)開放性,我們不是一個(gè)閉環(huán)的產(chǎn)品。
明略MDP特性之高性能
高性能是我們非常自豪的,我們當(dāng)時(shí)有一個(gè)客戶,他當(dāng)時(shí)說有5千億的話單,要求在秒級(jí)查出來,他考察了很多廠商,最后是我們給他解決掉了。大家可以隨便估算一下,這5千億條的記錄,秒級(jí)響應(yīng)得,需要什么樣的技術(shù),當(dāng)然只有懂技術(shù)的才知道這個(gè)難度。
因?yàn)闀r(shí)間的關(guān)系,大概給大家簡(jiǎn)單介紹了一下我們MDP高性能、高可用、高安全、易用性、開放性等特性,謝謝大家!