SequoiaDB從「多模數(shù)據(jù)湖」、「實時數(shù)據(jù)湖」發(fā)展到「湖倉一體」架構(gòu),為客戶提供「數(shù)據(jù)核心」所需的全量數(shù)據(jù)存儲,實時對客服務,及基于統(tǒng)一數(shù)據(jù)源的分析能力,充分激活客戶的離線數(shù)據(jù)。當中,數(shù)據(jù)入湖的時效性直接影響整體數(shù)據(jù)應用效果,巨杉數(shù)據(jù)庫通過對接業(yè)界主流的Flink,Spark和Storm等主流的流式框架,實現(xiàn)實時生產(chǎn)數(shù)據(jù)的高速入湖,原汁原味的將數(shù)據(jù)保留在巨杉數(shù)據(jù)庫中。SequoiaDB是巨杉數(shù)據(jù)庫通過10年的不斷迭代,從多模數(shù)據(jù)湖架構(gòu)演進出來的“湖倉一體”架構(gòu)產(chǎn)品。SequoiaDB的“湖倉一體”結(jié)合了數(shù)據(jù)湖與數(shù)據(jù)倉庫,是一個融合的基礎設施環(huán)境,支持從原始數(shù)據(jù)到精煉數(shù)據(jù)的整個過程,并最終提供優(yōu)化后的數(shù)據(jù)以供消費。
秒級數(shù)據(jù)入湖
從客戶的結(jié)構(gòu)化數(shù)據(jù)需求出發(fā),巨杉眾多的金融客戶著眼于盤活海量的歷史存量數(shù)據(jù),并同時卸載發(fā)生在傳統(tǒng)Oracle/DB2上的業(yè)務。因此,巨杉依托自研的SequoiaDB分布式數(shù)據(jù)庫,形成了歷史數(shù)據(jù)平臺的方案。從業(yè)務的角度出發(fā),SequoiaDB通過高性能的連接器,對接包括Flink,Spark和Storm等主流的流式框架,實現(xiàn)實時生產(chǎn)數(shù)據(jù)的高速入湖,原汁原味的將數(shù)據(jù)保留在巨杉數(shù)據(jù)庫中。這里起到的作用有點像數(shù)倉模型中的ODS層,但巨杉又利用其分布式數(shù)據(jù)庫高并發(fā)訪問的能力,可以直接對外提供實時數(shù)據(jù)訪問服務。
鑒于SequoiaDB多副本高可用的特性,很多用戶實際上把巨杉數(shù)據(jù)庫作為全系統(tǒng)數(shù)據(jù)的全量最終存儲。在部署實踐里,前端操作型數(shù)據(jù)庫產(chǎn)生的數(shù)據(jù)變更在通過ogg/CDC等工具抽取后,通過批量的方式load到巨杉數(shù)據(jù)庫中;或是加載到以kafka為代表的各類消息隊列,再通過流式引擎寫入巨杉數(shù)據(jù)庫中。流式和批量數(shù)據(jù)匯總加工整合即可對外提供服務,根據(jù)業(yè)務需要,實時入湖的數(shù)據(jù)從業(yè)務實際發(fā)生到在巨杉中提供訪問服務時延在秒級。
上圖有兩個核心技術(shù)點需要關注。一是數(shù)據(jù)入庫鏈路,從架構(gòu)中可以很清晰的看到通過流和批兩條數(shù)據(jù)鏈路,這是當前比較成熟的一個典型的Lambda架構(gòu)。為了盡可能的高效接收來自不同數(shù)據(jù)源的數(shù)據(jù),SequoiaDB開發(fā)了Spark connector和Flink connector等多種通用數(shù)據(jù)格式的解析器,打通實現(xiàn)了高可靠的數(shù)據(jù)鏈路,支持增刪改各類操作,并在客戶場景中解決exactly once數(shù)據(jù)入庫問題。
其次是隨著巨杉數(shù)據(jù)庫在業(yè)務系統(tǒng)的深入,很多用戶發(fā)現(xiàn)把數(shù)據(jù)從取出,做ETL,加載到DW層再做完各類統(tǒng)計分析匯總時,會存在以下問題:
1.時延較高,無法滿足實時分析的需求
2.搬遷復制數(shù)據(jù)成本高,數(shù)據(jù)要在不同條件下保存多份,還要開發(fā)大量的工具
3.傳統(tǒng)數(shù)倉模型不能很好的適應業(yè)務變更,需要的專業(yè)技能門檻也很高
所以部分客戶開始跟巨杉一起探討直接在海量數(shù)據(jù)湖上做數(shù)據(jù)轉(zhuǎn)換和分析的可能,也就形成了現(xiàn)在巨杉數(shù)據(jù)庫的“湖倉一體”架構(gòu)。
流式數(shù)據(jù)加工
針對客戶提出的流式數(shù)據(jù)加工處理,以及未來越來越多的實時分析場景,SequoiaDB在結(jié)合Spark Streaming和對接Flink后,提供簡單易用的數(shù)據(jù)加載工具和列存的數(shù)據(jù)加載功能。SequoiaDB還開發(fā)了行存數(shù)據(jù)到列存數(shù)據(jù)的自動化轉(zhuǎn)換工具,客戶只需要基于需求簡單配置需要轉(zhuǎn)換分析的表,就可以實現(xiàn)實時增量數(shù)據(jù)同步轉(zhuǎn)換,極大的方便簡化數(shù)據(jù)加工師和分析師的工作??偟膩碚f,客戶可以在一個SequoiaDB平臺實現(xiàn)低延時的數(shù)據(jù)入庫,高并發(fā)的即時數(shù)據(jù)查詢,幾乎透明的行列數(shù)據(jù)轉(zhuǎn)換,以及高性能的數(shù)據(jù)加工分析能力。
結(jié)語
SequoiaDB通過對接業(yè)界主流的流式框架,實現(xiàn)了多源數(shù)據(jù)的快速入湖。未來,巨杉數(shù)據(jù)庫將繼續(xù)不斷創(chuàng)新,打造更加安全、穩(wěn)定、可靠的數(shù)據(jù)庫系統(tǒng),持續(xù)助力金融行業(yè)客戶信息化創(chuàng)新,釋放全量數(shù)據(jù)價值。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!