NoSQL數據庫之國產開源產品:SequoiaDB 分析前言


隨着互聯網技術的發展,面對海量數據的存儲和分析,傳統關系型數據庫已經無法滿足,由此衍生出一種與關系型數據庫區別開的數據庫NoSQL(Not Only SQL)。

國外做的比較成熟的NoSQL有MongoDB,Cassandra,ToKuMX等,不一一列舉。

據我的粗略了解,BAT等巨頭內部基本都有自己的NoSQL項目,有的是基於開源項目自行研發,有的是依托MongoDB等NoSQL為基礎搭建數據分析平台。而近些年迅速成長的各類公有雲服務提供商,在除了SQL Server,MySQL,MariaDB等關系數據庫之外,也在開始嘗試部署的NoSQL(當然,這些NoSQL數據庫是以MongoDB為主)。

BAT等大互聯網公司,財大氣粗,大都養着一群程序員基於開源數據庫做改進,使之更適合他們自己的業務,因此,很少這類產品發布。

值得慶幸的是,國內也有NoSQL研發商。廣州巨杉發布的的企業級NoSQL:SequoiaDB,號稱在功能和研發技術方面,並不輸MongoDB。SequoiaDB之前名字還是很陌生的,但是近幾個月來,經常在各類大數據主題的大會,論壇等場合出現,而且在近期宣布獲得千萬級美元的A輪,同時在ArchSummit峰會(門票太貴了,囧)上宣布開源,聲名鵲起。

目前,SequoiaDB已經開源,據說相關社區也已經開放了,並在OSChina上已經建立了討論組。作為開源愛好者,趕着這個台風和對產品的好奇,也去github上下載了一份代碼業余研究一下。同比與火熱的MongoDB,其相關的技術以及使用,已經在各大技術論壇炒爆了,書籍也出版了不少。因此我就不再借MongoDB來分析,而是借用國產貨SequoiaDB來分析。國產手機已經不輸國外貨了,咱也來深入看看咱國產的NoSQL的質量。

廣州巨杉軟件對其產品SequoiaDB的簡介是:SequoiaDB(巨杉數據庫)是一款分布式文檔型NoSQL數據庫,是業界唯一支持事務和SQL的產品。SequoiaDB既可作為Hadoop與Spark的數據源以滿足實時查詢和分析的混合負載,也可獨立作為高性能、靈活易用的數據庫被應用程序直接使用。SequoiaDB已擁有的客戶包括知名IT互聯網公司和世界五百強企業。

經過這近些天的源碼瀏覽,SequoiaDB大致有以下幾個大模塊:

  • PMD模塊:這塊和下面的EDU模塊關系緊密,是SequoiaDB進程的入口;
  • EDU模塊:其實就是線程控制模塊,把SequoiaDB提供的服務線程框架化了,個人比較喜歡這個玩意兒;
  • OSS模塊:這塊大都是對不同平台的系統調用進行封裝,Linux和windows的接口不盡相同;
  • RTN模塊:這塊是數據庫操作的承載者,是對操作的真正實現;
  • DPS模塊:這塊是對數據庫的日志文件記錄模塊;
  • DMS模塊:這塊是真正的數據存儲服務模塊了;
  • IXM 模塊:這塊是數據索引模塊,保存對數據的索引;

此處可能列的不全,因為我也是大致看了看,后面的模塊的再補上。SequoiaDB的模塊划分還算清晰,代碼風格也比較容易接受。雖然MongoDB的設計和架構很好,但是其代碼風格,我不忍吐槽。說句題外話,最喜歡cocos2d-x的代碼風格了,看起來非常舒服。開源代碼都像cocos2d-x一樣,那看代碼就會和看美女一樣美好哇。

 

依據上面所列,本博客將會陸續撰寫一系列的文章:

我也要上班工作,只能利用閑暇時間分析,盡量保持一周寫一篇。還沒有寫的我先拉上刪除線,等寫完再去掉,並補上鏈接 :)

准備環境:

  • 安裝有Linux操作系統的PC(或遠程虛擬機)一台(ubuntu,centos,suse等皆可,我用的deepin Linux),需要具備root權限;
  • 約 20G的磁盤空間;
  • SequoiaDB的安裝包,可在SequoiaDB官網下載;附下載地址:SequoiaDB v1.10 下載

下一篇將用SequoiaDB的安裝和集群的部署,敬請關注! 

 

才疏學淺,學習過程中,難免認識不足及錯誤之處,為不誤於人,請嚴詞指正,敬謝!

 

=====>THE END<=====


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM