引跑科技副總裁張曉東:引跑DBone資料庫助力大資料建設

張曉東發表於2015-07-19

原文請見: http://mp.weixin.qq.com/s?__biz=MzA5MTE3Mjg2OA==&mid=208770946&idx=1&sn=2367765548c20e42546793d0927316c1#rd

今天正好接受了一個媒體訪談,也趁這個契機把雲端計算洞察領域的內容擴充一下,以後會花些精力給大家介紹一下大資料領域的東西。

以下摘自CSDN媒體訪談稿件,過兩天大家就會看到上線,今天我就先發了。

大資料經過幾年的市場預熱,目前應用案例已經逐步豐富起來,熱度逐步上升。今天有幸我們請到了引跑資訊科技有限公司(以下簡稱引跑科技)的副總裁,張曉東先生做一個訪談。張總在資料領域從業多年,以前在 IBM、Oracle、華為等公司工作多年,擔任了資料庫技術專家、資深雲架構師、戰略部高階總監等職位。從業經歷豐富,今天有幸能與張總交流,非常難得。

下面我們以問答的形式來了解一下引跑科技公司在大資料的成功經驗。

  1. 張總,請先自我介紹下、所在公司以及負責領域。

    大家好,我是張曉東,在引跑資訊科技有限公司負責解決方案銷售和市場營銷相關的工作,今天很高興能有機會給大家介紹一下引跑公司的大資料平臺及相關產品,並分享一下個人對這個領域的一些看法。大資料很火,未來幾年還將繼續火下去,就像3年前的雲端計算一樣,我們都知道雲端計算現在已經從炒作概念,到了實際落地階段,誰幹的怎麼樣市場已經給出了初步的答案。

    大資料處在概念炒作的晚期,市場應用預熱的早期,所以未來幾年對於大資料我們應該投入更多的關注。

    引跑公司在2008年成立,是由我們的創始人楊素東整合了一些來自國外Google、HP實驗室的一些人才和力量構建的,楊總也獲得了國家千人計劃、中國雲端計算專家委員會等一系列榮譽。公司主要專注於做技術,以前和EMC、HP等公司有一些合作,並沒有特意的在國內宣傳,所以大家對我們不是很熟悉。目前我們擁有近300人的團隊,其中75%是研發人員。

    引跑科技是全球領先的雲端計算技術與服務提供商,擁有大資料平臺(EngineOne)、虛擬化平臺(ScaleOne)、雲應用平臺(AppOne)、雲管理平臺(MasterOne)四大平臺產品及不同行業雲解決方案,並擁有多項核心發明專利與軟體著作權。

    一下子說這麼多名詞大家可能有點暈,簡單來說,我覺得引跑科技最核心的競爭力就是我們的並行分散式資料庫產品DBone和分散式儲存Storeone。在這兩塊領域,我們有信心和全球最頂尖的企業競爭。

  2. 你們是基於什麼樣的機緣開發出引跑DBone的?

    DBone是在我們老闆楊素東的帶領下開發出來的產品,他在美國留學和工作期間,和一些Google的朋友一起想做一些音訊、視訊分析的專案,結果資料量很大的時候傳統的資料庫無法支撐,不得已只好借鑑Google的分散式資料庫架構,開始了分散式資料庫的探索和實踐。

    2008年楊總帶領一些核心的團隊成員回國創業,並專注在分散式資料庫、分散式儲存方面。經過這些年的打磨,已經成為一個完全自主產權的分散式資料庫商業產品,可以作為國內自主可控的大資料基礎平臺。

  3. DBone是款什麼樣的資料庫?具有哪些特性?與其他同類資料庫相比有哪些優勢?

    總體而言,DBone是一款MPP架構的分散式資料庫,按照傳統的資料庫分類來說是一款基於ShareNothing架構的資料庫產品。

    MPP架構是一種無共享架構設計,MPP無共享架構是最易於擴充套件的架構,是雲資料庫和資料分析的最佳選擇;通過MPP共享架構可以提供自動化的並行處理機制,使資料分佈在所有的並行節點上,每個節點只處理其中一部分資料;MPP無共享架構是當前最優化的I/O處理架構,所有的節點同時進行並行處理,節點之間完全無共享,無I/O衝突;MPP無共享架構增加節點實現線性擴充套件,增加節點可線性增加儲存、查詢和載入效能。

    DBOne分散式資料庫系統的高效能得益於其良好的體系結構。在DBOne系統中,每個分散式資料儲存節點也可以執行自己的作業系統、資料庫等。換言之,每個節點內的 CPU 不能訪問另一個節點的記憶體。 DBOne與傳統的SMP架構資料庫明顯不同,通常情況下,DBOne系統中不存在共享資源,因此對它而言,可以使用的資源比傳統SMP資料庫系統要多,當需要處理的事務或資料達到一定規模時,DBOne的效率要比傳統資料庫高几倍甚至幾十倍。

    我給大家提供幾個圖吧,更容易理解。DBOne分散式資料庫通過MPP無共享架構把資料庫表內資料行儘可能的均勻分佈到每個節點。 wKioL1WriIOj9lECAAO8-im26BU456.jpg

    下圖說明了DBOne分散式資料庫系統大規模資料儲存的基本原理和方法。 wKiom1WrhrDjncaHAAJK_aSfEUI516.jpg

    引跑的分散式資料庫產品競爭對手主要是以Oracle Exadata、SAP HANA等產品為目標。適合的應用場景也主要以大資料分析為主,這種架構能夠很好的解決超大表的查詢、以及PB級別資料處理的效能問題,並能兼顧分散式事務處理的需求,當然強分散式事務的能力可不是哪個MPP資料庫都具備的,引跑的DBone在這個領域還是很有核心能力的。

    相對於Hadoop等開源大資料處理解決方案,引跑的EnginOne大資料整體解決方案,能夠很好的支援上億級大表的巢狀查詢,3-4層的巢狀查詢能夠很好的支援,通過兩階段提交的方式, 能很好的支援強事物。下面的表格列出了我們的大資料平臺和Hadoop2.0為核心的解決方案對比。 640?wx_fmt=png&tp=webp&wxfrom=5

  4. 該資料庫其架構是怎樣的?有開源技術嗎?

    DBOne分散式資料庫是一個彈性的、高效能、高可靠性,支援多應用、事務處理的分散式關係型資料庫系統,支援熱遷移、熱備份、熱恢復,提供標準的JDBC,ODBC, JSON, OGC等介面,或查詢伺服器(QueryServer)模式,支援所有主流應用開發語言如Java, C#, C, C++, Python, Perl等。 DBOne分散式資料庫提供一站式資料庫管理工具,方便客戶對資料庫的部署、遷移、備份、恢復、容災等常用操作。同時可用於OLTP、OLAP型別的應用,可管理海量的結構化、半結構化、地理空間資料,同時擁有彈性擴充套件的能力。

    架構如下圖所示,大體上講就是一個引擎層進行統一管理和排程,其負責SQL解析、優化、路由、分發、合併等操作, 同時將底層的眾多儲存節點管理起來。分散式儲存節點使用引跑自行設計和完全自主可控的IDB(Intple DB)關係型資料庫產品,每個資料服務節點處理具體的資料相關操作。 640?wx_fmt=png&tp=webp&wxfrom=5

    早期我們藉助了一些開源資料庫產品的實現架構和部分功能程式碼,例如PostgreSQL、MySQL資料庫等。分散式儲存方面對於谷歌的GFS架構也有一定的參考,但是程式碼都是我們經過幾年的不斷改進積累下來的,目前已經完全實現的自主可控,在某些軍方專案上都嚴格的做過和開源軟體的程式碼比對,這對我們是最好的肯定。

  5. 在開發DBone過程中有沒有遇到難點?是如何解決的?

    資料庫作為一個基礎平臺,需要適配上層的應用,底層需要和作業系統、儲存、硬體等進行適配,所以DBone的開發過程中有很多繁瑣的工作要去做,需要不斷的試驗和修訂才能更好的適配上下兩層。最終我們提供了對業界開放標準的完全支援,例如:JDBC,ODBC,JSON, OGC等介面,或查詢伺服器(QueryServer)模式,支援所有主流應用開發語言如Java, C#, C, C++, Python, Perl等。

    另外一個問題就是效能問題,DBone是通過一個引擎層作為上層的核心,客戶的請求通過智慧路由轉發,自動的傳送到相應的資料處理節點上。原理上雖然簡單,但是涉及到高負載、大資料量的時候,處理效率的高低是最關鍵的技術難點,這其中涉及到很多的演算法實現、優選以及通過發現問題,而解決問題的痛苦過程。

    我們的研發團隊對於這些問題的解決,主要是兩個方式:1、學習和參考業界最新的演算法實踐、技術和解決方案,內部研討適合我們的最佳方案,以改進效能問題。2、通過系統性思考解決實際問題,而不是僅僅為了攻克一個技術難關花費太多寶貴的時間和精力。對於我們這樣一家300人的小公司而言,如何最高效的解決客戶的問題才是最關鍵的。

    我舉個簡單例子,在並行分散式資料庫架構中擴充套件性是非常重要的功能,當新新增物理節點後,Shard資料重分佈的效率問題一直是非常頭疼的問題。我們在演算法上做了優化,能夠保證可移動的資料量最小,從而減少了時間。但是,這對高併發、負載很高的某些使用者場景而言,還是不夠。所以我們又從整體出發,在例項級別做了優化,通過整體拷貝的方式,優化一般演算法情況下大量Shard中資料都需要重分佈引起的效能問題。

  6. DBone在國內外使用場景如何?可否列舉一二。

    目前DBone主要應用於大資料分析場景,例如電信公司的歷史話單和網後設資料分析,從而識別使用者畫像,為精準營銷服務。銀行系統的徵信分析和使用者欺詐等風險分析都會需要DBone這樣的大資料平臺做支撐。

    對於某些使用者業務系統構建在Oracle多節點RAC之上的應用場景,我們會通過DBone的分散式資料庫和使用者生產系統進行連線,搭建雙活叢集,主要分擔其中的分析型任務,甚至在外地城市構建非同步雙活容災系統,這樣使得客戶的業務系統能夠比較平滑的進行遷移。

    近兩年,政府大資料的分析應用逐步熱鬧起來,我們也在廣東核高基專案、杭州政務雲、氣象局等領域有專案實踐。預計未來的1年內大資料應用的熱潮將更加繁榮,會給類似於引跑科技公司這樣的大資料廠商提供更多的機會。

  7. 公司未來有什麼規劃嗎?

    公司的核心產品是並行分散式資料庫和分散式儲存,在這個基礎上構建整體的大資料競爭力,這幾年通過客戶專案的積累,逐步發展了一些應用層面的產品,例如日誌管理、輿情分析、企業安全網盤、內容管理等。在底層我們也有相應的硬體虛擬化產品和雲端計算解決方案。

    未來公司主要聚焦點還是在大資料基礎架構解決方案層面,會緊密的團結很多ISV合作伙伴,共同做大資料市場。在硬體方面我們也是以合作為核心,2015年初,基於H3C的伺服器推出了引跑大資料一體機,將來這仍然是我們的市場擴充重要方式,目前曙光、浪潮等國內知名伺服器廠商都是我們重要的合作伙伴。

  8. 很多會人說資料庫分久必合,合久必分,對此你是怎麼看待的?

    合久必分、分久必合貌似來源於國家和社會的變動規律。對於具體技術領域而言,這麼說也不一定適合。就拿資料庫領域資料的構建方式ShareNothing和Share Everything來說,以前一直是並行發展的兩種架構,分別適用於OLAP和OLTP場景,然而現在隨著硬體的進步,原有的架構模式也需要與時俱進,這涇渭分明的兩種實現方式,目前也在融合。對,就是融合。

    以OracleRAC為例,以前一直是共享儲存的模式,比較適合於OLTP的場景。而Exadata在原有RAC基礎上做了一些革新,其儲存採用了半分散式架構,其儲存的伺服器和MPP儲存實現模式很像,計算式分開的,最終彙總對上層RAC提供看似統一的共享儲存。

    我個人的觀點來看,我覺得未來ShareNothing的架構將會發展的更加快速,並會逐步侵蝕OLTP的領域,這主要得益於硬體處理能力的進步,而成本降低很多。另外一個就是大資料浪潮使得傳統的資料庫實現架構無法滿足大資料量的處理要求,無法滿足客戶的業務需求。需求是推動技術進步的最佳驅動力

    所以從集中式和分散式這兩個角度來看,我認為未來分散式的發展機遇更加大。它們之間會有一些相互借鑑和融合,但是未來3-5年不會有分久必合的狀況。分散式架構具有更好的可擴充套件性,對基礎軟硬體的可靠性、可用性依賴度更低,可以採用更加開放、廉價的產品構建。但我們也要看到其給應用設計、研發、運維管理所帶來的挑戰。

    最後,我想說,越來越多的公司在大資料領域尋找發展的機會或是提升運營的效率,這說明企業有著向資料驅動的商業模式轉型的需要。所以,大資料時代的企業應該採取以下的公式:新技術+新觀念+商業轉型=大資料策略。大資料技術和商業的結合剛剛開始,未來的發展非常值得期待。

640?tp=webp&wxfrom=5掃描二維碼關注【東方雲洞察】公眾號
實時瞭解深度的公有云市場分析和洞察結果!點選右上角,在彈出的選單中傳送給朋友、分享到朋友圈。請在公眾號搜尋並關注:DongCloudInsight 或 東方雲洞察。需要點對點交流請加微信:jackyzhang523
幫助您瞭解公有云相關的深度洞察結果。帶來極具深度和最新鮮的:雲市場分析、雲機會洞察分析、雲重大事件快評、雲雜談、雲論壇資訊,以及公有云領域最高階的CEO面對面深度研討。
--- 最專注、專業的“公有云洞察”分享;關注全球,聚焦中國。

相關文章