複製鏈接
請複製以下鏈接發送給好友

SequoiaDB

鎖定
SequoiaDB 巨杉數據庫是一款金融級分佈式關係型數據庫,其自研的原生分佈式存儲引擎支持完整 ACID,具備彈性擴展、高併發和高可用特性,支持 MySQL、PostgreSQL 和 SparkSQL 等多種 SQL 訪問形式,同時支持MongoDB引擎。適用於核心交易、數據中台、內容管理等應用場景。 [1] 
2018年,SequoiaDB巨杉數據庫入選Gartner數據庫2017報告。 [2] 
中文名
巨杉數據庫
外文名
SequoiaDB
全    稱
SequoiaDB巨杉數據庫
性    質
金融級分佈式關係型數據庫

SequoiaDB技術特點

SequoiaDB數據庫的主要技術特點:
(1)標準SQL支持,MySQL協議級兼容
SequoiaDB目前支持標準SQL的訪問,同時還在協議級別完整兼容了MySQL/PostgreSQL的語法。SequoiaDB除了100%兼容行業標準的MySQL、PostgreSQL、MongoDB以及SparkSQL語法及協議外,還提供了類S3對象訪問以及Posix文件系統接口、MongoDB兼容的原生JSON引擎以及深度數據壓縮等多項全新功能,滿足傳統應用開發人員對於新一代分佈式數據庫的結構化、半結構化以及非結構化訪問方式的需求。
(2)金融級分佈式OLTP
作為一款金融級多模分佈式數據庫,SequoiaDB 全面支持MySQL與PostgreSQL語法協議兼容的OLTP在線交易業務。SequoiaDB使用其自研的開源數據庫存儲引擎,全面支持ACID(原子性、一致性、隔離性與持久性)、分佈式跨表跨節點事務能力、可配置強一致與最終一致性保證、同時在優化器端支持CBO(Cost-Based Optimization)、多維度數據分區、以及HTAP等多種技術特性。
(3)分佈式架構
SequoiaDB數據存儲引擎採用原生分佈式架構,數據完全打散在分佈式節點間存儲,自動化數據分佈和管理,數據可以按需擴展。巨杉數據庫通過原生分佈式架構,可以輕鬆實現PB級別數據管理,目前生產環境實測支持超過1000個節點集羣。
(4)Multi-Model多模數據引擎
SequoiaDB靈活的數據存儲類型,支持非結構化、結構化和半結構化數據全覆蓋,實現多模(Multi-Model)數據統一管理。SequoiaDB採取了多引擎的設計,除了記錄引擎還提供了對象存儲引擎。多模引擎設計讓數據庫平台場景更多樣,也能符合雲數據架構下對於多樣化業務數據的統一管理、運維要求。
(5)HTAP混合事務/分析處理
SequoiaDB通過SQL的完全支持以及Spark的整合,實現HTAP混合事務、分析處理,快速實現業務應用的彈性開發,應對更多複雜應用場景。同時,通過分佈式數據庫多副本機制,可以將在線交易和離線分析業務劃分隔離,實現同一組數據在應對不同類型業務時互不干擾。
(6)數據安全與多活容災
數據安全保障是金融和其他大型企業用户關心的技術功能之一,“兩地三中心”甚至“三地五中心”正在成為金融級數據庫的基本要求。
巨杉數據庫原生支持數據庫內核級別的高可用以及跨數據中心災備能力,目前已經實現異地容災備份,可滿足“三地五中心”的容災支持。同時,巨杉數據庫在異地容災基礎上,實現了數據異地多活。 [1] 

SequoiaDB功能特性

(1)SequoiaDB為所有受歡迎的編程語言提供了原生驅動程序,為營造自然的開發環境而提供了框架。支持的驅動程序包括C、C++Java.NETPHPPython等。
(2)SequoiaDB命令行是一個交互式的JavaScript執行環境,幾乎所有SequoiaDB支持的命令都通過命令行執行
(3)SequoiaDB提供了與PostgreSQL關係型數據庫連接的外部表驅動,使用户可以通過標準SQL訪問SequoiaDB。
(4)SequoiaDB支持很多類型的查詢。包括了鍵值對查詢、範圍查詢和聚合框架查詢。此外,SequoiaDB還配備了查詢優化器,自動優化查詢。
(5)SequoiaDB包括文檔中任何字段多種類型的索引,包括唯一索引、複合索引以數組索引。

SequoiaDB應用場景

分佈式在線交易業務
SequoiaDB 巨杉數據庫支持 MySQL 協議級兼容與完整分佈式事務,原生支持集羣彈性水平擴張,並且能夠在分佈式架構下靈活調整數據一致性,適合用户提供分佈式聯機交易業務。 [1] 
企業級數據中台
數據中台主要提供全量數據的實時在線服務,同時提供對數據進行採集、計算、存儲、加工以及基於全量數據的數據價值發掘和數據科學工程等。 [1] 
內容管理平台
SequoiaDB 分佈式內容管理解決方案提供了可彈性擴張的非結構化數據存儲平台,以及包含批次管理、版本管理、生命週期管理、標籤管理、模糊檢索、斷點續傳等豐富的元數據管理機制。 [1] 

SequoiaDB數據庫架構

如圖《SequoiaDB系統架構圖》所示提供了對SequoiaDB體系結構的一般概述。
SequoiaDB系統架構圖 SequoiaDB系統架構圖
在客户機端(或應用程序端),本地或/和遠程應用程序都與SequoiaDB客户機庫鏈接。協調節點不保存任何用户數據,僅作為請求分發節點將用户請求分發至相應的數據節點。
編目節點保存系統的元數據信息,協調節點通過與編目節點通訊從而瞭解數據在數據節點中的實際分佈。數據節點保存用户的數據信息。一個或多個數據節點構成一個數據分片(Shard),不同的分片中保存的數據無重複。當存在多個數據節點時,節點間數據進行異步複製。分片中可以存在最多一個主節點與若干從節點。其中主節點可以進行讀寫操作,從節點進行只讀操作。從節點離線不影響主節點的正常工作。主節點離線後會在從節點中自動選舉出新的主節點處理寫請求。節點恢復後,或新的節點加入分片後會進行自動同步,保障數據在同步完成時與主節點一致。

SequoiaDB大數據架構的集成

SequoiaDB巨杉數據庫與Hadoop/Spark均有深度集成,可以作為分析架構的底層存儲使用,保證了系統既可以進行實時查詢、又可以通過讀寫分離機制,實現數據的離線分析 [3-4] 

SequoiaDB版本發佈

2013年02月20日,SequoiaDBV1.0產品開發完成併發布,該版本採用全新分佈式架構
2013年04月06日,SequoiaDBV1.3發佈,該版本完善了分佈式特性,支持節點間數據複製、可配置的一致性級別與跨節點跨集合的事務功能,並可與Hadoop進行對接。
2013年10月23日,SequoiaDBV1.5發佈,此版本包括了一些性能優化,功能增強以及bug修復。
2014年03月14日,SequoiaDBV1.6發佈,此版本包括了新版圖形化管理界面與一些功能性修復,且能夠與Storm進行對接。
2014年07月04日,SequoiaDBV1.8發佈,此版本包括了邏輯域的概念,與PostgreSQL對接並有大幅度性能提升,能夠與Spark進行對接。
2014年11月,SequoiaDB V1.10發佈,此版本增加了LOB大對象功能,自動化安裝功能以及python驅動等。
2014年12月19日,文檔型 NoSQL 數據庫 SequoiaDB 宣佈開源 [5] 
2015年3月發佈 SequoiaDB V1.12 穩定版本 [6] 
2016年,發佈SequoiaDB V2.0穩定版本。 [7] 
2016年下半年,SequoiaDB V2.8.4穩定版推出 [8] 
2018年,SequoiaDB V3.0 正式發佈,實現了MySQL協議級100%兼容,金融級分佈式OLTP,全文檢索等眾多新特性。 [1] 
2020年10月22日,SequoiaDB v5.0.1 GA 正式發佈!增加三大“黑科技”: 跨引擎事務一致性,原生分佈式金融級容災,多雲多平台支持。
2021年,巨杉數據庫發佈基於「湖倉一體」架構,針對不同的業務需求場景細分出全新的產品線。
參考資料