溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

巨杉Talk | 拒絕數(shù)據(jù)碎片化,原生分布式數(shù)據(jù)庫(kù)靈活應(yīng)對(duì)數(shù)

發(fā)布時(shí)間:2020-02-29 04:54:53 來源:網(wǎng)絡(luò) 閱讀:535 作者:OliverFinn 欄目:數(shù)據(jù)庫(kù)

2019年7月19-20日,以“運(yùn)籌帷幄,數(shù)攬未來”為主題的DAMS中國(guó)數(shù)據(jù)智能管理峰會(huì)在上海青浦區(qū)成功舉辦。在DAMS峰會(huì)上,巨杉數(shù)據(jù)庫(kù)為大家?guī)砹祟}為“云架構(gòu)下的分布式數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)踐”的主題分享。

微服務(wù)下數(shù)據(jù)庫(kù)架構(gòu)的演進(jìn)

應(yīng)用開發(fā)從傳統(tǒng)架構(gòu)向分布式轉(zhuǎn)型,最先面臨改造的自然就是應(yīng)用程序框架。如今的微服務(wù)框架已經(jīng)非常成熟,其代表性架構(gòu)往往包括協(xié)議處理、服務(wù)拼裝、原子服務(wù)、以及底層持久化四層。業(yè)務(wù)邏輯從傳統(tǒng)的單一中間件被拆解成眾多微服務(wù)模塊,每個(gè)微服務(wù)模塊由完全對(duì)等的一系列容器構(gòu)成,可以簡(jiǎn)單通過增加容器的方式實(shí)現(xiàn)對(duì)該服務(wù)吞吐處理能力的擴(kuò)容。

但是微服務(wù)的拆分即意味著每個(gè)服務(wù)都擁有自己獨(dú)立的執(zhí)行邏輯與存儲(chǔ)。從數(shù)據(jù)庫(kù)的角度來看,微服務(wù)體系的拆分對(duì)數(shù)據(jù)庫(kù)存儲(chǔ)提出了極大的挑戰(zhàn)。如果每個(gè)微服務(wù)依然將數(shù)據(jù)存放在傳統(tǒng)的單點(diǎn)數(shù)據(jù)庫(kù)中,其存儲(chǔ)與處理能力均無法隨著微服務(wù)容器數(shù)量的上升提供同樣的擴(kuò)展能力。在這種情況下,數(shù)據(jù)庫(kù)將會(huì)成為微服務(wù)體系框架中性能與擴(kuò)展性的最大制約瓶頸。

而如果每個(gè)微服務(wù)使用獨(dú)立的數(shù)據(jù)庫(kù)進(jìn)行存放,整個(gè)企業(yè)IT的數(shù)據(jù)架構(gòu)將會(huì)變得支離破碎。數(shù)據(jù)庫(kù)的數(shù)量從過去的幾百被拆分為上萬個(gè)數(shù)據(jù)庫(kù),整個(gè)運(yùn)維團(tuán)隊(duì)的管理成本與數(shù)據(jù)庫(kù)采購(gòu)成本面臨幾何級(jí)數(shù)的提升。

因此,分布式數(shù)據(jù)庫(kù)的目標(biāo)不僅僅作為傳統(tǒng)Oracle或DB2的單一替代,將一個(gè)數(shù)據(jù)庫(kù)存放不下的數(shù)據(jù)放到多個(gè)物理機(jī)存放。在實(shí)際環(huán)境中,大部分銀行都有著較為完善的數(shù)據(jù)生命周期管理策略,一般不會(huì)在生產(chǎn)環(huán)境中堆積大量的歷史數(shù)據(jù),因此數(shù)據(jù)量一般來說不會(huì)是使用分布式數(shù)據(jù)庫(kù)的最重要原因。

新一代分布式數(shù)據(jù)庫(kù)技術(shù)特性

為了支撐未來IT微服務(wù)框架,分布式交易型數(shù)據(jù)庫(kù)的引入需要從傳統(tǒng)技術(shù)兼容性、以及新技術(shù)前瞻性兩個(gè)維度進(jìn)行評(píng)估。

“當(dāng)應(yīng)對(duì)微服務(wù)應(yīng)用框架,原生分布式數(shù)據(jù)庫(kù)架構(gòu)優(yōu)勢(shì)在于兩點(diǎn)。第一,是解決數(shù)據(jù)的彈性擴(kuò)張,使每個(gè)微服務(wù)不受底層數(shù)據(jù)存儲(chǔ)限制。第二,解決微服務(wù)應(yīng)用架構(gòu)中數(shù)據(jù)嚴(yán)重碎片化的問題。”

ACID的支持與SQL完整性的支持是評(píng)估一款新型分布式數(shù)據(jù)庫(kù)是否能夠提供與傳統(tǒng)數(shù)據(jù)庫(kù)技術(shù)兼容的兩大關(guān)鍵指標(biāo)。

ACID的支持

從安全性上來看,不論采用新技術(shù)或傳統(tǒng)技術(shù),數(shù)據(jù)不錯(cuò)不丟是所有數(shù)據(jù)庫(kù)的必備基礎(chǔ)。在分布式數(shù)據(jù)庫(kù)業(yè)界中,一些針對(duì)互聯(lián)網(wǎng)技術(shù)設(shè)計(jì)的產(chǎn)品以分布式(Partition Tolerance)加高可用(Availability)作為目標(biāo),在安全一致性(Consistence)上無法保證數(shù)據(jù)的正確,很難在金融業(yè)務(wù)中被廣泛使用。因此,銀行所關(guān)注的新型分布式數(shù)據(jù)庫(kù)必須首先保證數(shù)據(jù)的安全和一致性,其中分布式事務(wù)、分布式鎖、四種隔離級(jí)別的支持等都是該指標(biāo)中的關(guān)鍵技術(shù)點(diǎn)。

SQL完整性支持

SQL完整性指的是新型分布式數(shù)據(jù)庫(kù)與傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的開發(fā)友好性。越是成熟的分布式數(shù)據(jù)庫(kù),其SQL語法越能做到與傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)兼容,同時(shí)其數(shù)據(jù)切分對(duì)應(yīng)用程序則越發(fā)透明。如今大部分分布式數(shù)據(jù)庫(kù)技術(shù)都號(hào)稱支持MySQL語法,而主流新型應(yīng)用程序也都將MySQL作為其默認(rèn)支持的數(shù)據(jù)庫(kù)選項(xiàng)。因此,對(duì)MySQL語法協(xié)議支持的強(qiáng)弱則成為分布式數(shù)據(jù)庫(kù)SQL完整性支持的評(píng)判關(guān)鍵。

新技術(shù)前瞻性指的是分布式數(shù)據(jù)庫(kù)與未來開發(fā)方式和IT架構(gòu)是否吻合。

分布式與彈性擴(kuò)展能力

作為數(shù)據(jù)服務(wù)資源池,分布式數(shù)據(jù)庫(kù)必須做到可彈性擴(kuò)張,才能在服務(wù)于上層不斷增加微服務(wù)類型與數(shù)量。同時(shí)對(duì)于每個(gè)微服務(wù)來說,其數(shù)據(jù)存放在一臺(tái)物理設(shè)備還是多臺(tái)物理設(shè)備,必須對(duì)其中的應(yīng)用代碼完全透明。

多模式引擎

服務(wù)于上層來自不同開發(fā)商、不同業(yè)務(wù)場(chǎng)景、不同數(shù)據(jù)類型的微服務(wù),分布式數(shù)據(jù)庫(kù)必然需要支持多種SQL協(xié)議與計(jì)算引擎。從存儲(chǔ)引擎來看,結(jié)構(gòu)化與半結(jié)構(gòu)化數(shù)據(jù)都可能將會(huì)在應(yīng)用中同時(shí)使用。因此,新一代分布式數(shù)據(jù)庫(kù)需要從訪問接口到存儲(chǔ)結(jié)構(gòu)均支持多模(Multi-Model)引擎。

HTAP(Hybrid Transactional/Analytical Processing)

HTAP即混合交易分析處理能力。在傳統(tǒng)銀行IT架構(gòu)中,聯(lián)機(jī)交易與統(tǒng)計(jì)分析系統(tǒng)往往采用不同的技術(shù)與物理設(shè)備,通過定期執(zhí)行的ETL將聯(lián)機(jī)交易數(shù)據(jù)向分析系統(tǒng)中遷移。而作為數(shù)據(jù)服務(wù)資源池,同一份數(shù)據(jù)可能被不同類型的微服務(wù)共享訪問。當(dāng)一些聯(lián)機(jī)交易與審計(jì)類業(yè)務(wù)針對(duì)同一份數(shù)據(jù)同時(shí)運(yùn)行時(shí),必須保證請(qǐng)求在完全隔離的物理環(huán)境中執(zhí)行,做到交易分析業(yè)務(wù)無干擾。

總體來說,分布式數(shù)據(jù)庫(kù)技術(shù)趨勢(shì)需要從傳統(tǒng)技術(shù)兼容性以及新技術(shù)前瞻性兩個(gè)維度進(jìn)行評(píng)判,其中ACID數(shù)據(jù)安全與SQL完整性是傳統(tǒng)技術(shù)兼容性的重要指標(biāo),而彈性擴(kuò)展能力、多模式引擎、以及HTAP則是新技術(shù)前瞻性的幾個(gè)重要衡量標(biāo)準(zhǔn)。

SequoiaDB巨杉數(shù)據(jù)庫(kù)技術(shù)優(yōu)勢(shì)

微服務(wù)架構(gòu)下云化的管理

在未來微服務(wù)化應(yīng)用開發(fā)以及云化平臺(tái)的趨勢(shì)下,應(yīng)用不再以“煙囪式”的中間件加數(shù)據(jù)庫(kù)模式進(jìn)行構(gòu)建,而是采用數(shù)千甚至上萬的微服務(wù)程序構(gòu)建成的復(fù)雜網(wǎng)狀模型。

新一代分布式數(shù)據(jù)庫(kù)針對(duì)微服務(wù)架構(gòu),將會(huì)提供數(shù)據(jù)庫(kù)的實(shí)例化部署,幫助數(shù)據(jù)庫(kù)與上層微服務(wù)實(shí)現(xiàn)更好的對(duì)接,數(shù)據(jù)庫(kù)也將提供云化管理方式,保證龐大復(fù)雜的微服務(wù)能夠?qū)崿F(xiàn)更細(xì)粒度管理。

針對(duì)微服務(wù)應(yīng)用架構(gòu),用戶可以在同一個(gè)集群中創(chuàng)建成百上千個(gè)不同的關(guān)系型數(shù)據(jù)庫(kù)實(shí)例。數(shù)據(jù)庫(kù)實(shí)例的訪問與使用方式和傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)100%兼容,同時(shí)其底層所使用的數(shù)據(jù)從邏輯上完全獨(dú)立,每個(gè)實(shí)例擁有自己獨(dú)立的權(quán)限管理、數(shù)據(jù)管控、甚至可以選擇部署在獨(dú)立的硬件環(huán)境或共享設(shè)備中。

SequoiaDB巨杉數(shù)據(jù)庫(kù)支持?jǐn)?shù)據(jù)庫(kù)服務(wù)實(shí)例化。從應(yīng)用程序開發(fā)者與DBA的角度看,SequoiaDB巨杉數(shù)據(jù)庫(kù)所提供的關(guān)系型數(shù)據(jù)庫(kù)實(shí)例,與傳統(tǒng)MySQL、PostgreSQL和SparkSQL保持全兼容。

存儲(chǔ)資源池化,彈性擴(kuò)展

隨著海量數(shù)據(jù)管理需求不斷增加,數(shù)據(jù)庫(kù)存儲(chǔ)的擴(kuò)展性也成為支撐整個(gè)數(shù)據(jù)平臺(tái)的重要核心能力。SequoiaDB采用分片技術(shù)為系統(tǒng)提供了彈性的橫向擴(kuò)展機(jī)制,可以根據(jù)應(yīng)用需求調(diào)整存儲(chǔ);實(shí)現(xiàn)了存儲(chǔ)引擎的多模數(shù)據(jù)管理,支持非結(jié)構(gòu)化、結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)全覆蓋并統(tǒng)一管理,讓數(shù)據(jù)庫(kù)平臺(tái)場(chǎng)景更多樣,也能符合云數(shù)據(jù)架構(gòu)下對(duì)于多樣化業(yè)務(wù)數(shù)據(jù)的統(tǒng)一管理與運(yùn)維要求。

SequoiaDB的分片過程對(duì)于應(yīng)用程序來說完全透明。該機(jī)制解決了單臺(tái)服務(wù)器硬件資源(如內(nèi)存、CPU、磁盤 I/O)受限的問題,并不會(huì)增加應(yīng)用程序開發(fā)的復(fù)雜性。巨杉數(shù)據(jù)庫(kù)通過原生分布式架構(gòu),可以輕松實(shí)現(xiàn)PB級(jí)別數(shù)據(jù)管理,目前生產(chǎn)環(huán)境最大支持超過1500個(gè)節(jié)點(diǎn)集群,實(shí)現(xiàn)全量數(shù)據(jù)全生命周期管理。

同時(shí),在一個(gè)大型集群中,SequoiaDB提供了多維度、多層級(jí)的邏輯與物理隔離能力。在一個(gè)典型的數(shù)據(jù)資源池類型基礎(chǔ)數(shù)據(jù)服務(wù)平臺(tái)(DBaas,DataBase As A Service)中,SequoiaDB巨杉數(shù)據(jù)庫(kù)能夠同時(shí)服務(wù)于成百上千個(gè)不同SLA服務(wù)級(jí)別、優(yōu)先級(jí)、業(yè)務(wù)特性、與數(shù)據(jù)量的應(yīng)用程序,并保證應(yīng)用程序之間的數(shù)據(jù)邏輯與物理隔離。

分布式交易與事務(wù)

從安全性上來看,不論采用新技術(shù)或傳統(tǒng)技術(shù),數(shù)據(jù)不錯(cuò)不丟是所有數(shù)據(jù)庫(kù)的必備基礎(chǔ)。在分布式數(shù)據(jù)庫(kù)業(yè)界中,一些針對(duì)互聯(lián)網(wǎng)技術(shù)設(shè)計(jì)的產(chǎn)品以分布式(Partition Tolerance)加高可用(Availability)作為目標(biāo),在安全一致性(Consistence)上無法保證數(shù)據(jù)的正確,很難在銀行業(yè)務(wù)中被廣泛使用。因此,大型企業(yè)用戶會(huì)所關(guān)注的新型分布式數(shù)據(jù)庫(kù)必須首先保證數(shù)據(jù)的安全和一致性,其中分布式事務(wù)、分布式鎖、四種隔離級(jí)別的支持等都是該指標(biāo)中的關(guān)鍵技術(shù)點(diǎn)。

云化和微服務(wù)架構(gòu)下,SequoiaDB分布式架構(gòu)下,提供完整的ACID支持,完整的事務(wù)支持和一致性保障,充分保證數(shù)據(jù)安全,滿足核心交易業(yè)務(wù)的嚴(yán)苛要求。

傳統(tǒng)應(yīng)用兼容

作為新一代分布式數(shù)據(jù)庫(kù),其架構(gòu)與功能特性需要保證在與傳統(tǒng)數(shù)據(jù)庫(kù)全兼容的基礎(chǔ)上,擁抱微服務(wù)與云計(jì)算框架。因此,分布式數(shù)據(jù)庫(kù)對(duì)于分布式交易與ACID必須保證與傳統(tǒng)技術(shù)完全兼容。同時(shí),在面向微服務(wù)應(yīng)用開發(fā)與云計(jì)算基礎(chǔ)架構(gòu)時(shí),新一代分布式數(shù)據(jù)庫(kù)必須支持彈性擴(kuò)張、資源隔離、多租戶、可配置一致性、多模式(支持各類SQL協(xié)議)、集群內(nèi)可配置容災(zāi)策略等一系列功能。

其中,SQL的支撐是數(shù)據(jù)庫(kù)產(chǎn)品最為重要的技術(shù)特性。SequoiaDB提供了原生的完整SQL支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI