SequoiaDB 巨杉資料庫是一款金融級分散式關係型資料庫,其自研的原生分散式存儲引擎支持完整 ACID,具備彈性擴展、高並發和高可用特性,支持 MySQL、PostgreSQL 和 SparkSQL 等多種 SQL 訪問形式,適用於核心交易、數據中台、內容管理等套用場景。
2018年,SequoiaDB巨杉資料庫入選Gartner資料庫2017報告。
基本介紹
- 中文名:巨杉資料庫
- 外文名:SequoiaDB
- 全稱:SequoiaDB巨杉資料庫
技術特點,功能特性,套用場景,資料庫架構,大數據架構的集成,版本發布,
技術特點
SequoiaDB資料庫的主要技術特點:
1)標準SQL支持,MySQL協定級兼容
SequoiaDB目前支持標準SQL的訪問,同時還在協定級別完整兼容了MySQL/PostgreSQL的語法。SequoiaDB除了100%兼容行業標準的MySQL、PostgreSQL以及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)數據安全與多活容災
數據安全保障是金融和其他大型企業用戶關心的技術功能之一,“兩地三中心”甚至“三地五中心”正在成為金融級資料庫的基本要求。
巨杉資料庫原生支持資料庫核心級別的高可用以及跨數據中心災備能力,目前已經實現異地容災備份,可滿足“三地五中心”的容災支持。同時,巨杉資料庫在異地容災基礎上,實現了數據異地多活。
功能特性
2)SequoiaDB命令行是一個互動式的JavaScript執行環境,幾乎所有SequoiaDB支持的命令都通過命令行執行
3)SequoiaDB提供了與PostgreSQL關係型資料庫連線的外部表驅動,使用戶可以通過標準SQL訪問SequoiaDB。
4)SequoiaDB支持很多類型的查詢。包括了鍵值對查詢、範圍查詢和聚合框架查詢。此外,SequoiaDB還配備了查詢最佳化器,自動最佳化查詢。
5)SequoiaDB包括文檔中任何欄位多種類型的索引,包括唯一索引、複合索引以數組索引。
套用場景
分散式線上交易業務
SequoiaDB 巨杉資料庫支持 MySQL 協定級兼容與完整分散式事務,原生支持集群彈性水平擴張,並且能夠在分散式架構下靈活調整數據一致性,適合用戶提供分散式在線上交易業務。
企業級數據中台
數據中台主要提供全量數據的實時線上服務,同時提供對數據進行採集、計算、存儲、加工以及基於全量數據的數據價值發掘和數據科學工程等。
內容管理平台
SequoiaDB 分散式內容管理解決方案提供了可彈性擴張的非結構化數據存儲平台,以及包含批次管理、版本管理、生命周期管理、標籤管理、模糊檢索、斷點續傳等豐富的元數據管理機制。
資料庫架構
SequoiaDB使用分散式架構,下圖提供了對SequoiaDB體系結構的一般概述。
在客戶機端(或應用程式端),本地或/和遠程應用程式都與SequoiaDB客戶機庫連結。協調節點不保存任何用戶數據,僅作為請求分發節點將用戶請求分發至相應的數據節點。
編目節點保存系統的元數據信息,協調節點通過與編目節點通訊從而了解數據在數據節點中的實際分布。數據節點保存用戶的數據信息。一個或多個數據節點構成一個數據分片(Shard),不同的分片中保存的數據無重複。當存在多個數據節點時,節點間數據進行異步複製。分片中可以存在最多一個主節點與若干從節點。其中主節點可以進行讀寫操作,從節點進行唯讀操作。從節點離線不影響主節點的正常工作。主節點離線後會在從節點中自動選舉出新的主節點處理寫請求。節點恢復後,或新的節點加入分片後會進行自動同步,保障數據在同步完成時與主節點一致。
大數據架構的集成
SequoiaDB巨杉資料庫與Hadoop/Spark均有深度集成,可以作為分析架構的底層存儲使用,保證了系統既可以進行實時查詢、又可以通過讀寫分離機制,實現數據的離線分析。
版本發布
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 宣布開源。
2015年3月發布 SequoiaDB V1.12 穩定版本
2016年,發布SequoiaDB V2.0穩定版本。
2016年下半年,SequoiaDB V2.8.4穩定版推出。
2018年,SequoiaDB V3.0 正式發布,實現了MySQL協定級100%兼容,金融級分散式OLTP,全文檢索等眾多新特性。