幾年前,經歷過NoSQL數據庫革命的人也許還記得,web 2.0效應曾引起大批互聯網企業競相上線NoSQL,甚至有一部分企業完全拋棄傳統關係型數據庫,將數據所有遷移至NoSQL。NoSQL以其易擴展、高 性能、靈活的數據模型和高可用等產品特點,捕獲了互聯網企業的心。 程序員
幾年後的今天,大數據的熱潮開始影響傳統行業。隨着企業信息化、社交化和移動化的水平不斷提高,傳統數據庫的瓶頸日益顯現。對於這些企業而言,他們 開始從一個新的角度從新審視數據戰略。近日,記者採訪到SequoiaDB巨杉軟件公司CTO及總架構師王濤,向咱們分享了他的創業歷程,以及企業級 NoSQL的發展之路。 web
從DB2工程師轉身NoSQL創業者 數據庫
王濤曾經是DB2領域的專家,做爲IBM DB2全球最高技術專家小組的成員,參與了IBM下一代大數據平臺的架構規劃,精通數據庫內核及體系結構。在IBM多倫多實驗室工做了八年後,王濤選擇了 回國創業,目前擔任巨杉軟件公司CTO及總架構師,成功研發了自主產權的NoSQL數據庫——SequoiaDB(巨杉數據庫)。 架構
SequoiaDB巨杉軟件公司CTO及總架構師 王濤 分佈式
據瞭解,SequoiaDB是一款徹底自主研發的文檔型NoSQL分佈式數據庫。SequoiaDB 1.0發佈於2013年4月,主要向政府、電信、金融、電力和互聯網等擁有海量業務數據的行業提供大數據解決方案,目前客戶已包括國內知名銀行、電信及互聯網企業。 oop
談到爲什麼從DB2轉至NoSQL,王濤認爲主要有兩個緣由,一是關係型數據庫的沒落,二是企業級NoSQL潛力巨大。在不少程序員和DBA的眼中, 關係型數據庫纔是王道。事實並不是如此,在與全球財富500強的用戶交流中王濤發現,傳統數據庫並不是適合全部場景,也存在諸多技術侷限性,如數據模型僵硬、 可擴展性差、處理海量數據時存在性能瓶頸、缺少處理半結構和非結構化數據的能力等。關係型數據庫稱霸市場的時代已通過去了。 性能
另外一方面,NoSQL通過這幾年的發展已經日趨成熟,應用場景也已再也不侷限於互聯網企業,而逐漸蔓延至傳統企業。有預測稱,NoSQL特別是文檔型NoSQL在將來2-5年內將會規模進入傳統企業。企業級NoSQL將成爲將來數據庫市場的發展趨勢。 大數據
SequoiaDB——企業級NoSQL 設計
預見到NoSQL在傳統企業的發展潛力後,王濤開始了SequoiaDB的研發。與其餘NoSQL不一樣,SequoiaDB主打企業級,即可以適應 傳統企業中的IT環境。他在與傳統行業用戶的交流中發現,現有的文檔型NoSQL產品中忽略了不少企業級需求,如事務、SQL支持、與Hadoop系統的 整合等。 索引
因而在年初發布的SequoiaDB 1.0中加入了以上企業級功能,並將在下一個版本中(SequoiaDB 1.2預計在9月底發佈)增長數據壓縮功能,同時索引和數據能夠在文件系統中分離以提升讀寫性能,還能夠運行在IBM power機器上,這都是其餘NoSQL所沒有的獨特優點。除了傳統企業,企業級NoSQL在廣大中小互聯網企業中也有強烈需求。
另外,SequoiaDB還能夠根據企業的需求進行定製化開發,這是國外NoSQL廠商沒法比擬的優點。即便企業具備較強的研發實力,開源數據庫引 擎的定製化改動也只有廠商研發團隊才能徹底駕馭。這也是SequoiaDB爲何沒有使用任何開源數據庫引擎和代碼的緣由之一。
SequoiaDB是一款文檔型NoSQL,被認爲是最接近傳統關係型數據庫的NoSQL。文檔數據庫的核心是數據嵌套,將本來一些星形模式 (Star Schema)的數據嵌套在同一條記錄中以減小表之間關聯的需求。這種設計能夠從某種程度上大大簡化傳統數據庫複雜的關聯問題,同時因爲擺脫了關係模型裏 面的強一致性的限制,文檔型數據庫還能夠作到水平擴張與高可用。所以王濤認爲,文檔型NoSQL的應用範圍要比其餘NoSQL普遍許多。
NoSQL取代關係型數據庫?
談到NoSQL與傳統數據庫的關係,王濤表示,NoSQL不會取代關係型數據庫,而會與關係型數據庫長期並存。NoSQL相對於傳統數據庫的發展歷程而言還很年輕,目前NoSQL主要用於對關係型數據庫的補充,在其不適用的領域填補進去。
關係型數據庫的核心是強一致性的關係模型,當初的設計理念是將ACID放在首位,其次考慮性能與可擴展性。而當人們發現並非全部的數據都要求那麼強的一致性,同時對於性能和數據量的需求愈來愈高時,NoSQL應用而生。
NoSQL主要將可擴展性放在首位,而高可用或一致性則放到了第二位,這種設計與本來的關係模型產生了極大的差別。尤爲在當今大數據時代影響 下,NoSQL勢頭漸強。大數據領域強調的是分佈式計算,而關係型數據庫爲了維持強一致性須要在實體間進行大量數據交互。所以分佈式計算是關係模型的一個 不能適用的領域。
對此,王濤總結到,企業在須要強一致性的場景時,最好使用關係型數據庫。在須要分佈式計算和高性能存儲的場景時,考慮使用NoSQL。其他的場景大 多數人依然會選擇關係型數據庫,但有超過70%的現有關係型數據庫場景實際上是能夠用NoSQL替代的。隨着NoSQL的發展,從成本和易用性角度出發,相 信愈來愈多的用戶會開始使用NoSQL。
小結
SequoiaDB的出現將NoSQL從互聯網推向企業級,彌補企業中關係型數據庫的應用盲點,幫助企業從非結構化數據中得到價值。中國是自然的大數據搖籃,相信會有愈來愈多的創業企業關注大數據,關注NoSQL。