課程簡介
案例背景:
大中型企業(yè)在最近30年的信息化過程中,構(gòu)建了大量基于如Oracle,SQLServer等關(guān)系型數(shù)據(jù)庫業(yè)務(wù)系統(tǒng)。這些數(shù)據(jù)庫在處理更大量或者更高并發(fā)的時候已經(jīng)凸顯了老一代技術(shù)的瓶頸,另外,關(guān)系模型的固定結(jié)構(gòu)在更大程度上也是企業(yè)創(chuàng)新的一大阻力。一種比較主流的解決方案就是實時數(shù)倉,在不改變已有系統(tǒng)的前提下,將數(shù)據(jù)從已有的關(guān)系型數(shù)據(jù)庫實時同步到分布式數(shù)據(jù)倉庫,在一個新的數(shù)據(jù)平臺上為新的業(yè)務(wù)做數(shù)據(jù)支撐。
解決思路:
- 使用MongoDB,一個高性能分布式數(shù)據(jù)庫,而不是性能遲緩,架構(gòu)臃腫的Hadoop大數(shù)據(jù)
- 使用實時的流處理引擎來進行從Oracle/MySQL到MongoDB的數(shù)據(jù)實時同步及處理
- 使用Tapdata的流程可視化工具來降低流處理的使用成本
這個過程中我們遇到的挑戰(zhàn):
Oracle 數(shù)據(jù)庫日志實時采集的一系列坑
MongoDB的邏輯視圖無法有效使用索引
使用這個技術(shù)組合,我們在一個客戶的實時數(shù)據(jù)中臺項目中取得了很大的成功,比較如下:
建設(shè)前:
業(yè)務(wù)數(shù)據(jù)散落在數(shù)十套單獨的系統(tǒng)內(nèi),依賴大量的存儲過程和定制腳本進行數(shù)據(jù)打通
對一個前端業(yè)務(wù)的支撐,后臺團隊需要4-8個星期來提供一個數(shù)據(jù)接口
銷售看板需要通過大量的程序進行匯總來自9個不同系統(tǒng)的訂單數(shù)據(jù),在第2天才能形成
建設(shè)后:
統(tǒng)一的實時數(shù)據(jù)平臺,接入了來自于10多套訂單系統(tǒng)的數(shù)據(jù)及商品庫存數(shù)據(jù)
簡單接口1天,相對復(fù)雜的接口1個星期
秒級更新的全局實時銷售看板
目標(biāo)收益
- 了解一個真實的MongoDB的應(yīng)用場景,及Change Stream 功能的高級用法
- 了解流處理引擎工作機制
- 學(xué)習(xí)一個技術(shù)型數(shù)據(jù)中臺落地方案
培訓(xùn)對象
課程內(nèi)容
案例方向
智能數(shù)據(jù)分析/企業(yè)級大數(shù)據(jù)架構(gòu)演進/流式計算系統(tǒng)設(shè)計/數(shù)據(jù)庫的未來
案例背景
大中型企業(yè)在最近30年的信息化過程中,構(gòu)建了大量基于如Oracle,SQLServer等關(guān)系型數(shù)據(jù)庫業(yè)務(wù)系統(tǒng)。這些數(shù)據(jù)庫在處理更大量或者更高并發(fā)的時候已經(jīng)凸顯了老一代技術(shù)的瓶頸,另外,關(guān)系模型的固定結(jié)構(gòu)在更大程度上也是企業(yè)創(chuàng)新的一大阻力。一種比較主流的解決方案就是實時數(shù)倉,在不改變已有系統(tǒng)的前提下,將數(shù)據(jù)從已有的關(guān)系型數(shù)據(jù)庫實時同步到分布式數(shù)據(jù)倉庫,在一個新的數(shù)據(jù)平臺上為新的業(yè)務(wù)做數(shù)據(jù)支撐。
收益
- 了解一個真實的MongoDB的應(yīng)用場景
- 了解流處理引擎工作機制
- 學(xué)習(xí)一個輕量級數(shù)據(jù)中臺落地方案
解決思路
- 使用MongoDB,一個高性能分布式數(shù)據(jù)庫,而不是性能遲緩,架構(gòu)臃腫的Hadoop大數(shù)據(jù)
- 使用實時的流處理引擎Hazelcast Jet來完成從Oracle/MySQL到MongoDB的數(shù)據(jù)實時同步及處理
- 使用Tapdata的流程可視化工具來降低流處理的使用成本
在流處理引擎的選擇上,我們選擇了Hazelcast Jet而不是主流的Flink,這個考量更多是從數(shù)據(jù)的時效,以及方案的部署成本及維護易用性上。
這里面碰到比較大的坑:
Oracle 日志采集的坑比較多,基本上是一路踩過來
MongoDB 邏輯視圖無法有效使用索引導(dǎo)致性能很低,最后使用固化視圖來解決
結(jié)果
使用這個技術(shù)組合,我們在一個客戶的實時數(shù)據(jù)中臺項目中取得了很大的成功。在有這個平臺之前,對一個前段業(yè)務(wù)的支撐,后臺團隊需要4-8個星期來提供數(shù)據(jù)接口。在我們的實時數(shù)據(jù)平臺啟用后,這個時間可以縮短到2個星期。我希望能夠把這個工具產(chǎn)品化一下,讓更多的用戶可以來用我們的解決方案。