如今,大型企業的應用平臺正在向微服務架構進行轉型。在微服務架構下,應用程序和數據庫等底層平臺的關系將會被重構。
作為新一代分布式數據庫,其架構與功能特性需要保證在與傳統數據庫全兼容的基礎上,擁抱微服務與云計算框架。因此,分布式數據庫對于分布式交易與ACID必須保證與傳統技術完全兼容。同時,在面向微服務應用開發與云計算基礎架構時,新一代分布式數據庫必須支持彈性擴張、資源隔離、多租戶、可配置一致性、多模式(支持各類SQL協議)、集群內可配置容災策略等一系列功能。
傳統單點數據庫的容量瓶頸,僅僅是分布式數據庫所解決的問題之一。更重要的是在未來微服務化應用開發以及云化平臺的趨勢下,應用不再以“煙囪式”的中間件加數據庫模式進行構建,而是采用數千甚至上萬的微服務程序構建成的復雜網狀模型。因此,分布式數據庫需要滿足以下能力,才能夠滿足上層應用的彈性擴展、高并發、高吞吐量、與靈活敏捷的需求。
在這些技術需求驅動下,分布式數據庫核心技術能力分為兩個方面,一方面是對傳統技術的兼容,包括:
完整的ACID支持,事務和一致性保證;
SQL的完整支持,傳統數據庫如MySQL/PostgreSQL的語法完全兼容。
另一方面,則是技術創新,包括:
分布式與擴展性,應對數據量的變化,實現存儲層和計算層的彈性擴展;
多模式訪問接口,支持多類型數據管理和多種模式的訪問接口;
HTAP交易/分析混合處理能力,復雜業務需求下,實現數據的物理隔離,互不干擾。
作為一款金融級分布式關系型數據庫,SequoiaDB巨杉數據庫的分布式數據庫架構和面向微服務的云化產品形態,已經幫助包括民生銀行、恒豐銀行在內的多家大型金融客戶實現了大量業務系統的底層數據庫云化轉型升級。
目前,巨杉數據庫在銀行生產系統單機群最大物理節點數達到135個,單集群最大存儲容量超過2.1 PB,單集群最大管理數據條數1318億條。
SequoiaDB巨杉數據庫作為一款金融級的分布式關系型數據庫,在企業客戶云化架構轉型過程中,提供了多種重要技術能力。
數據存儲資源池化
SequoiaDB數據存儲引擎采用原生分布式架構,數據完全打散在分布式節點間存儲,自動化數據分布和管理,數據可以按需靈活擴展。
SequoiaDB采用分片技術為系統提供了橫向擴展機制,其分片過程對于應用程序來說完全透明。該機制解決了單臺服務器硬件資源(如內存、CPU、磁盤 I/O)受限的問題,并不會增加應用程序開發的復雜性。巨杉數據庫通過原生分布式架構,可以輕松實現PB級別數據管理,目前生產環境最大支持超過1500個節點集群。
SequoiaDB巨杉數據庫存儲引擎也實現了multi-model多模數據管理,支持非結構化、結構化和半結構化數據全覆蓋并統一管理。SequoiaDB的多模引擎設計讓數據庫平臺場景更多樣,也能符合云數據架構下對于多樣化業務數據的統一管理與運維要求。
同時,在一個大型集群中,SequoiaDB提供了多維度、多層級的邏輯與物理隔離能力。在一個典型的數據資源池類型基礎數據服務平臺(DBaas,DataBase As A Service)中,SequoiaDB巨杉數據庫能夠同時服務于成百上千個不同SLA服務級別、優先級、業務特性、與數據量的應用程序,并保證應用程序之間的數據邏輯與物理隔離。
SequoiaDB提供的“數據域(Domain)”特性,能夠將整個集群在物理設備層面進行隔離,確保不同的表、表空間、與數據庫實例坐落于獨立的硬件設備上,保證高優先級的聯機交易應用與后臺統計分析相互隔離互不干擾。
數據庫實例化
SequoiaDB巨杉數據庫支持數據庫服務實例化。
針對微服務應用架構,用戶可以在同一個集群中創建成百上千個不同的關系型數據庫實例。數據庫實例的訪問與使用方式和傳統關系型數據庫100%兼容,同時其底層所使用的數據從邏輯上完全獨立,每個實例擁有自己獨立的權限管理、數據管控、甚至可以選擇部署在獨立的硬件環境或共享設備中。
目前SequoiaDB巨杉數據庫支持用戶創建 MySQL、PostgreSQL 與 SparkSQL 實例,同時還提供了JSON、S3對象存儲以及Posix文件系統實例,充分滿足用戶對于結構化、半結構化、以及非結構化數據的需求。
從應用程序開發者與DBA的角度看,SequoiaDB巨杉數據庫所提供的關系型數據庫實例,與傳統MySQL、PostgreSQL和SparkSQL保持全兼容。例如,在SequoiaDB巨杉數據庫中的MySQL實例中,其所有的增刪改查語法、視圖、觸發器、事務、甚至訪問計劃都與傳統MySQL保持一致。
作為分布式數據庫,SequoiaDB巨杉數據庫的SQL實例用戶不需要關心底層的數據到底被分散在一臺還是多臺設備中。用戶可以簡單創建一個分區表,向其中寫入上億條記錄,其數據將會被自動分散在不同的物理設備中,對于應用程序根本無需關注分庫分表,數據庫自動提供分布式事務以及分布式訪問等能力。
雙活容災與數據安全
雙活容災即災備系統中使主生產端數據庫和備機端數據庫同時在線運行,處于可讀可寫狀態的技術。在銀行的交易系統中,雙活容災能力不僅保證數據不丟失,也保證系統在遭遇事故時能夠短時間內重新上線。在正常情況下,雙活架構的兩個數據中心都能夠同時提供業務的讀寫服務,而當一個中心宕機后,所有前端應用可以立刻切換至依然存活的數據中心繼續使用。
SequoiaDB巨杉數據庫在內核層面實現了多種容災方式,包括同城雙活、同城雙中心、同城三中心、兩地三中心、與三地五中心等容災策略。通過使用SequoiaDB巨杉數據庫的容災與高可用機制,數據中心內的服務器故障可以保證RTO與RPO均為零,而整個數據中心或同城網絡故障也可以做到秒級RTO、RPO=0。
關于SequoiaDB巨杉數據庫
巨杉數據庫專注新一代分布式數據庫技術研發,自2011年成立以來,堅持從零開始打造分布式開源數據庫引擎,是中國首家連續兩年入選 Gartner 數據庫報告的數據庫廠商。
巨杉數據庫的主要產品包括 SequoiaDB 分布式關系型數據庫與 SequoiaCM 企業內容管理軟件,企業級應用場景包括分布式在線交易、數據中臺、分布式內容管理等。
目前巨杉數據庫已在超過50家500強級別的大型商業銀行核心生產業務上線,企業用戶總數超過1000家。
-
SQL
+關注
關注
1文章
762瀏覽量
44117 -
數據庫
+關注
關注
7文章
3794瀏覽量
64362 -
大數據
+關注
關注
64文章
8882瀏覽量
137397
原文標題:微服務架構下,分布式數據庫如何支撐千億級數據?
文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論