1、敏捷數據中臺建設實踐分享主題v ADX頂層設計v ADX中間件工具層v ADX平臺服務層v ADX數據產品層v ADX應用案例敏捷數據中臺:ADX(Agile Data X Platform)ADX頂層設計定位與價值架構維度能力維度用戶與場景定位與價值:什么是數據中臺根據數據咨詢公司Thoughtworks首席咨詢師王健給出的9字定義,中臺就是:企業級能力復用平臺企業級劃定了中臺的范圍,區分開了單系統的服務化與微服務;能力指定了中臺的主要承載對象,能力的抽象解釋了各種各樣中臺的存在;復用定義了中臺的核心價值,過去的平臺化對于易復用性并沒有給予足夠關注,中臺的興起,使得人們的目光更多的從平臺內部
2、,轉換到平臺對于前臺業務的支撐上;平臺說明了中臺的主要形式,區別于應用系統拼湊的方式,通過對于更細粒度能力的識別與平臺化沉淀,實現企業能力的柔性復用,對于前臺業務更好的支撐;定位與價值:白話數據中臺中臺就是公共服務平臺,數據中臺就是將數據加工以后封裝成一個公共的數據產品或服務。家里廚房有油/鹽/醬油/醋/料酒/生抽很多種調料(數據),你(業務部門)特別喜歡吃糖醋排骨/糖醋魚/糖醋里脊/糖醋豬蹄(各種業務應用),你老媽(IT部門)覺得每天都按照比例調制糖醋汁很麻煩很浪費時間還每次都有偏差(每次數據有誤差)。于是你老媽決定按照“1料酒;2醬油;3白糖;4醋;5水”的比例(數據算法)調制好一大桶糖醋
3、汁(數據產品),以后每天倒一點糖醋汁就可以很快做出一盤糖醋XX(業務應用)。這個調制糖醋汁的過程就相當于構建了一個數據中臺,糖醋汁就是數據產品。數據產品往往不是直接提供給用戶使用的,而是提供給業務應用使用的(類似于糖醋汁不是用來直接喝的,而是用來做糖醋XX的)。另外,為了調制更快更準確,可能還需要買一些密封大桶/漏斗/量杯(ETL/BI 等數據工具)。當然,如果你家十天半個月才做一次糖醋XX(低頻),那就沒有必要調制一大桶糖醋汁放那兒(不需要構建這個數據產品)。類似這個邏輯,如果你家每天都做八寶粥,則可以把八種糧食(數據)混合好放一個大桶里做成八寶粥混料(數據產品)。如果你老媽的糖醋XX做的特
4、別好開了個餐館,每天做給幾百個人吃(需求量變大),就需要調制更多糖醋汁買個冰箱存起來(數據倉庫),這也解決了隨用隨挑(實時取數)的效率瓶頸。所以,在做數據中臺之前,先自問一下:q有沒有糖醋汁、八寶粥混料的需求?(有沒有數據產品的需求?)q有多少人吃?(使用這個數據產品的需求量大不大?)q多久吃一次?(需要這個數據產品的頻率高不高?)如果以上都合理,就可以開始規劃數據中臺了。數據中臺的核心理念在于“數據取之于業務,用之于業務”,即它相比于數據平臺注重的是對業務的積累和沉淀,構建了從數據生產到消費,消費后產生的數據再回流到生產流程的閉環過程。業務積累和沉淀的過程體現在數據中臺對外提供的數據服務,數
5、據中臺作為整個企業組織所有業務的數據消費需求的提供方,通過業務對數據服務的不斷滋養,會形成一系列穩健的數據服務,這樣當出現新的市場機會需要構建新的前臺應用時,數據中臺可以無差別的進行數據服務供給,從而保證了企業組織的創新火種。定位與價值:敏捷數據中臺的定義數據平臺引擎(技術維度)數據產品服務(業務維度)數據資產體系(數據維度)數據運營機制(管理維度)定位與價值:敏捷數據中臺的定位敏捷數據中臺定位敏捷數據中臺ADX(by 數據中臺團隊)自助化 實時化 統一化 服務化 管理化 可溯化業務前臺數據團隊業務前臺數據團隊業務前臺數據團隊業務前臺數據團隊數據安全團隊數據運營團隊數據管理委員會數據集群(by
6、 集群運維團隊)從數據技術和計算能力復用,到數據資產和數據服務復用數據中臺會以更大價值帶寬,快準精讓數據直接賦能業務定位與價值:敏捷數據中臺的需求 業務條線眾多:眾多業務板塊,眾多業務條線 技術選型眾多:適配RMDBS/NoSQL/NewSQL;多種語言;多種存儲等 數據需求多樣:報表、可視化、服務、推送、遷移、同步、數據應用等 數據需求多變:經常有需要周級產出的數據需求和數據應用 數據管理考慮:數據元信息可查,數據定義和流程標準化,數據管理可控等 數據安全考慮:多級數據安全策略,數據鏈路可追溯,敏感數據不可泄露等 數據權限考慮:表/列/行級數據權限,組織架構、角色、權限策略自動化 數據成本考
7、慮:集群成本、運維成本、人力成本、時間成本、風險成本等定位與價值:敏捷數據中臺的價值快省準q 定制化需求造成重復開發q 內包實施團隊需排期q T+1延時滿足不了精細化運營平臺化,透明封裝復用技術組件自助化,簡單配置,月=天實時化,驅動業務增長,天=分ADXq 取數方式各異,清洗邏輯各異q 數據孤島未打通整合q 需求驅動實施,無法沉淀數據資產統一化,統一數據湖歸集和出口管理化,元數據、數據地圖、血緣資產化,模型管理讓數據可信賴q 時間成本,需求排期和重復開發q 人力成本,重復開發和缺少復用q 硬件成本,集群資源濫用造成浪費自助化,節省時間就是節省成本平臺化,成熟技術組件高復用度精細化,集群資源可
8、估可查可量化架構維度業務前臺數據來源內部數據 外部數據數據集群存儲資源 計算資源 網絡資源敏捷數據中臺ADX數據湖層統一化 實時化 邏輯化 標準化 安全化數據應用層BI應用 AI應用 數據產品數據資產層數倉 指標 標簽 特征 主數據DataHub 數據樞紐自助數據申請、發布、脫敏、清洗、服務等(基于DBus/Wormhole/Moonbox/Triangle)DataWorks數據工坊自助查詢、批量作業、流式作業等(基于Wormhole/Moonbox/Triangle/DataAction)DataStar數據模型模型管理、指標自動化DataMon數據監控ADXMgt 中臺管理統一項目管理、
9、資源管理、權限管理等DataMgt 數據管理統一元數據管理、數據地圖、數據血緣等Davinci可視應用DataInsight數據洞察DataBehavr行為分析DataProfile標簽畫像數據維度平臺維度能力維度分析挖掘能力(datainsight)算法模型能力(datainsight)算法服務能力(aihub)算法應用能力(dataprofile|databehavr)報表看板能力(davinci)透視分析能力(davinci)實時處理能力(dataworks)批量處理能力(dataworks)即席查詢能力(dataworks)多維分析能力(dataworks)數據權限能力(datahub
10、|davinci)數據安全能力(datahub|davinci)數據管理能力(datamgt)數據資產能力(datastar)租戶管理能力(adxmgt)項目管理能力(adxmgt)作業管理能力(adxmgt)資源管理能力(adxmgt)集群運維能力集群云化能力AI智能業務BI業務智能Computation數據處理Governance數據治理Management平臺管理Operation集群管理數據服務能力(datahub)集群優化能力用戶與場景自助探索發現數據(元數據)自助SQL即席查詢數據自助Py/R/SAS分析數據自助將結果可視化并共享通過邏輯沙箱獲取所需敏感數據快速拿到所需歷史數據自助
11、SQL清洗準備數據自助Py/R/SAS訓練驗證算法模型協作式制作報表/看板/大屏自助定義報表/看板/大屏樣式安全分享報表/看板/大屏與報表/看板靈活交互查詢ADX平臺服務層ADX數據管理層ADX中間件工具層ADX數據產品層數據擁有方數據需求方數據工程師數倉工程師業務用戶方數據分析師數據科學家業務系統數據標準管理者數據運營管理者數據規劃決策者數據安全管理者將報表整合到業務系統調用發布的數據服務自助創建項目、組建團隊申請數據資源、計算資源敏捷自助實施編排批/流作業查看數據血緣以排查問題在線設計并發布數據模型可發布數據資產以數據共享靈活整合中間件搭積木式架構配置化SQL化可視化開發體驗開箱即用權限/
12、監控/預警能力無需專業數據工程背景經驗提供敏感數據檢測算法配置敏感數據脫敏策略調研數據血緣以追蹤數據調取審計日志以排查漏洞維護各類命名規范維護數據備份刪檔規則配置標準定義編碼維護ID Mapping字典了解數據資產地圖分布現狀了解各業務線資源成本分攤了解各業務線數據賦能程度進行日常權限審批工作維護更新元數據信息監督數據資產生命周期評估并推進有效數據資產共享線下審批數據需求方數據申請發布自有數據以共享了解自有數據被使用情況提供并維護自有元數據查找所需數據信息和擁有方線下申請并得到擁有方審批申請并上傳憑證以獲得使用權自助查詢或進行其他數據實踐ADX中間件工具層ADX中間件工具概述數據總線工具 DB
13、us流式處理工具 Wormhole計算服務工具 MoonboxADX中間件工具概述:開源v DBus:https:/ Wormhole:https:/ Moonbox:https:/ Davinci:https:/ DBus:功能介紹DB2MongoDBdbuskafkaOracleMySQL日志文件UMSDBus(數據總線平臺),是一個DBaaS(Data Bus as a Service)平臺解決方案。DBus面向大數據項目開發和管理運維人員,致力于提供數據實時采集和分發解決方案。平臺采用高可用流式計算框架,提供海量數據實時傳輸,可靠多路消息訂閱分發,通過簡單靈活的配置,無侵入接入源端數據
14、,對各個IT系統在業務流程中產生的數據進行匯集,并統一處理轉換成通過JSON描述的UMS格式,提供給不同下游客戶訂閱和消費。DBus可充當數倉平臺、大數據分析平臺、實時報表和實時營銷等業務的數據源。功能特性無侵入方式接入多種數據源海量數據實時傳輸自動感知數據源Schema變更數據實時脫敏初始加載和獨立加載可靠多路消息訂閱分發實時監控&預警可視化后臺管理系統支持分表數據匯集多租戶支持數據總線工具 DBus:模塊架構SinkSourceRDBMSFileESRedisMQTCPUDPZooKeeperKAFKAHeartbeat 心跳預警&監控模塊Extractor日志抽取模塊Full Split
15、ter分片模塊Router多租戶分發模塊Dispatcher分發預處理模塊Full Puller全量拉取模塊Stream流式轉換模塊Log processor算子處理模塊DBus-Web 部署&配置&管理DBus Manager數據總線工具 DBus:核心設計 數據鏈路MasterSlavebinlogRouter多租戶分發(Storm)Heartbeat心跳預警監控DBus-Web部署/配置/管理Log Agent(Logstash/Flume/Filebeat/)Processor算子處理(Storm)FileExtractor日志抽取(Storm)Stream流式轉換(Storm)Dis
16、patcher分發預處理(Storm)Kafka Topic(Schema 1)Kafka Topic(Schema 2)Kafka Topic(Schema N)Full Puller全量拉取(Storm)Full Splitter分片(Storm)Kafka Topics(Tenant 1)Kafka Topics(Tenant 2)Kafka Topics(Tenant N)UMS通知告警監控展示元數據變更通知數據總線工具 DBus:核心設計 UMSprotocol:type:data_increment_data,version:1.3”,schema:namespace:mysql.
17、testdb.schema1.table1.2.0.0,fields:encoded:false,name:ums_id_,type:long,nullable:false,encoded:false,name:ums_ts_,type:datetime,nullable:false,encoded:false,name:ums_op_,type:string,nullable:false,encoded:false,name:ums_uid_,type:string,nullable:false,encoded:false,name:key,type:int,nullable:false,e
18、ncoded:false,name:value1,type:string,nullable:true,encoded:false,name:value2,type:long,nullable:false,payload:tuple:1,2016-04-11 12:23:34.345123,i,4324511,23,aa,45888 ,tuple:2,2016-04-11 15:23:34.345123,u,4324511,33,null,43222 ,tuple:3,2016-04-11 16:23:34.345123,d,4324511,53,cc,73897 ums_id_:數據源唯一遞增
19、tuple事件idums_ts_:tuple事件時間戳ums_op_:tuple事件類型(增/改/刪,i/u/d)ums_uid_:數據源唯一遞增ums消息idSchema Evolution 模式演變dbus提供元數據查詢服務ums消息元數據自描述ums消息解析去中心化元數據變更版本號支持在線支持兼容性變更線下支持非兼容性變更解耦邏輯表與物理Topic通過payload降低元數據overhead自動維護元數據變更,無需人工介入流式處理工具 Wormhole:功能介紹Wormhole(流式處理平臺),是一個SPaaS(Stream Processing as a Service)平臺解決方案。
20、Wormhole面向大數據項目開發和管理運維人員,致力于提供數據流式處理解決方案。平臺專注于簡化和統一開發管理流程,提供可視化的操作界面,基于配置和SQL的業務開發方式,屏蔽底層技術實現細節,極大降低了開發門檻,使得大數據流式處理項目的開發和管理變得更加輕量敏捷、可控可靠。kafkawormholedb2/oracle/mysqlkudu/cass/hbasehdfs/hive/clickhousedruid/kylin/es/mongoUMSbackfill功能特性支持可視化配置和SQL開發流式應用支持響應式動態流處理交互管控支持處理增刪改三種類型消息流支持流上跨數據系統下推雙向混算支持多目
21、標數據系統冪等入庫支持雙級基于日志數據質量管理支持單物理流并行處理多邏輯流支持基于事件時間戳策略流式處理支持多流式計算引擎融合處理支持多用戶多項目權限管理和資源分配支持與三方系統集成交互服務支持數據流式處理實時監控預警支持數據流式CEP規則引擎流式處理工具 Wormhole:模塊架構流式處理Directive指令解析UDF動態加載Topic動態加載Flow動態加載統一緩存SourceSource擴展自定義JSON解析UMS協議解析SinkSink擴展多種寫入方式異構Sink冪等TransformETP流上JoinSQLSparkSQLJDBC適配Transform擴展FlinkSQL處理邏輯解
22、析CEPLookupSQLWormhole統一流式執行框架數據安全脫敏加密多租戶數據權限管理認證鑒權UDF權限控制運維監控性能監控實時動態管控硬件資源隔離異常監控Backfill平臺管理Namespace管理Job管理用戶管理數據源管理Topic管理處理邏輯編排Flow管理Stream管理Project管理UDF配置管理訪問方式REST APIWEB UI計算引擎統一資源管理YARN分布式配置ZooKeeperSparkFlinkSinkMySQLOracleHBaseKafkaESMongoDBCassandraKuduVerticaPhoenixSourceKAFKA流式處理工具 Worm
23、hole:核心設計 flow特性Kafka Topic(UMS1N)(source ns)Kafka Topic(UMS1N)(source ns)Kafka Topic(UMS1N)(source ns)Data Store(sink ns)HDFS(sink ns)ESWormholeRiderLookup(lookup ns)HDFS(state store)SparkWormhole StreamWormhole FlowWormhole FlowWormhole FlowWormhole Job(backfill)Wormhole JobWormhole Stream(Spark S
24、treaming App)SinkSpark ExecutorsParserSinksSwiftsReceiver動態添加/刪除Topic動態調整Offset動態調整Topic RateUMSCustom JSONSparkSqlCustom ClassStreaming Join動態UDFLookupSqlStatsOffsetWhRider冪等Sink通過id判斷是否寫入通過op決定寫入方式寫入前合并行快照寫入采用批量方式支持數據最終一致性HDFS小文件分片直接落txt/csv文件設置大小閾值,小則append,大則新建設置時間閾值,超出則新建文件Flow漂移可以控制flow從一個stre
25、am中漂移到另一個stream中會自動調整合適的offset為自動化運維提供接口服務多Flow支持一個source ns和一個sink ns唯一定義flowflow關注從哪到哪做什么flow是一種虛擬化邏輯概念,支持單物理stream同時跑多flow動態指令flow實時感應zk指令并動態生效,無需重啟stream根據zk配置動態加載topic業務時間策略可以設置時間對齊timeout和處理策略通過hdfs parquet維護中間state數據Spark DriverDirective ProcessorMemoryStore冪等(ums_id_,ums_op_)Custom Class計算服務
26、工具 Moonbox:功能介紹Moonbox(計算服務平臺),是一個DaaS(Data Virtualization as a Service)平臺解決方案。Moonbox面向數據倉庫工程師/數據分析師/數據科學家等,致力于提供數據虛擬化解決方案。既可作為數據應用底層數據查詢計算統一入口,也可作為邏輯數據倉庫與現有數據倉庫互補。用戶只需通過統一SQL服務調用和Moonbox交互,即可透明屏蔽異構數據系統異構交互方式,輕松實現跨異構數據系統透明混算。虛擬化能力支持多源異構系統無縫混算(目前支持 MySQL、Oracle、Kudu、HBase、Cassandra、MongoDB、Elasticse
27、arch、HDFS、Hive等)語言交互支持統一擴展SQL語法查詢操作支持兩種寫出模式:Merge、Replace支持兩種交互模式:Batch模式、Adhoc模式支持多形式注冊UDF/UDAF支持三種調用方式:REST服務、JDBC連接、ODBC連接元數據支持導入動態元數據支持統一元數據獲取服務db2/oracle/mysqlkudu/cass/hbasehdfs/hive/clickhousemoonboxdruid/kylin/es/mongoREST APIJDBC/ODBC功能特性優化策略支持查詢替換支持復雜算子下推支持整體快速下推支持臨時表緩存用戶體系支持多租戶用戶體系支持靈活多角色
28、定義數據安全支持認證登錄支持表/列權限、讀/寫權限和UDF/UDAF權限支持加載安全策略其他功能支持CLI工具和Zeppelin支持YARN調度器資源管理支持Crontab表達式注冊定時任務計算服務工具 Moonbox:模塊架構rest clijdbc driverodbc driverauthenticationhttp servertcp serverthrift servermasterworker mgtstatus mgtschedulertimerdata sourcedata sourcedata sourceclientmasternodesappnodescatalog(my
29、sql)workerapp mgtworkernodesmbapp(spark context)mbsessionsuser contextcatalog contextspark datasource apimb datasystem apispark connectorss1s2s3data adapterss1s2s3spark session計算服務工具 Moonbox:核心設計 mql執行mbcatalogDDLDCLmbexecutesparkplan(dist)PPsparkexecute(cli/clu)DFsparkcollectsinksparksaveDML(ins)mb
30、privilegechecksparkparsemboptimizesparkoptimizesparkresolveDRL(sel)ULPRLPOLPmbparseMQLOLPmbprivilegecheckmbprivilegecheckListmbexecuteDML(iud)mbprivilegechecksparkplan(local)PPsparkexecute(local)ListLogicalRDD(mbXxRDD)mbXxDataSystem.buildscan(LP)spark datasource api:buildscan(project,filter)mb datas
31、ystem api:buildscan(logicalplan)ADX平臺服務層ADX平臺服務概述數據樞紐模塊 DataHub/DataLake數據工坊模塊 DataWorksADX平臺服務概述:一站式數據中臺菜單可視應用數據洞察行為分析標簽畫像ADX平臺項目一級菜單項目看板項目管理數據管理數據申請數據發布即席查詢批量作業流式作業數據模型應用市場監控預警ADXMgt中臺管理DataMgt數據管理DataHub數據樞紐DataWorks數據工坊DataStar數據模型自助項目管理自助資源管理自助權限管理審批管理流程元數據管理數據字典數據地圖數據血緣自助數據申請、發布自助數據標準化清洗自助數據安全
32、脫敏自助數據服務自助即席查詢自助批量作業自助流式作業對接數據模型作業自助數據模型管理共享數據模型流程自助配置數據集市層聯動數據工坊部署DataMon數據監控批量作業監控查看批量作業預警配置流式作業監控查看流式作業預警配置ADX平臺服務概述:架構數據源數據源DataLake實時數據湖DataHub數據樞紐模塊自助式數據申請、發布、脫敏、標準化DataWorks數據工坊模塊自助式數據查詢、處理、編排、可視化ADXMgt中臺管理模塊自助式中臺租戶管理、項目管理、資源管理、權限管理、審批管理等DataStar數據模型模塊自助式數據建模、模型管理、自動部署DataMgt數據管理模塊統一元數據管理、數據字
33、典、數據地圖DBusWormholeMoonboxTriangleAPP數據應用DavinciAPP數據應用DataActionDataMon數據監控模塊批量作業監控預警、流式作業監控預警數據樞紐模塊 DataHub/DataLake:數據鏈路sas/r/zeppjupyterdataworksdvDE-數據工程師DU-數據用戶appadxmgtdatamgtdatahubdbuswhmbkafkahdfslogkafkawhkuduwhmbmb數據源數據源數據源tria實時歷史實時增量實時快照批量快照mb邏輯快照數據源數據源DO-數據擁有方DA-數據分析師AU-APP用戶parquet數據樞
34、紐模塊 DataHub/DataLake:實時數據湖dbuswhmbkafkahdfslog數據源實時數據湖實時歷史dbus對接dbus接入wh落湖所有結構化數據源,通過實時增量方式寫入HDFS存儲,稱為UbiLog(Ubiquitous Log)通過UbiLog,可以計算出某張表任意歷史時刻精確快照(Snapshot)UbiLog存儲格式為TXT,并且會定期做merge和壓縮如果存儲空間允許,UbiLog會至少保存2年歷史數據UbiLog在HDFS上一式三份防止壞節點造成數據丟失UbiLog的訪問和使用只能通過ADX提供的能力輸出,因此確保了多租戶、安全、權限管控所有結構化數據源會統一實時匯
35、總為UbiLog,并由ADX-DataHub統一對外提供訪問非結構化數據源中,自然語言文本也會實時(或定期)匯總到UbiLog其他非結構化數據源,如音頻、視頻等,暫不考慮納入ADX-DataLake中數據樞紐模塊 DataHub/DataLake:模塊架構DataMgt數據管理DataHub數據樞紐脫敏&標準化層流式采集層批量采集層數據源層輸出訂閱層MySQLOracleSQL serverftp文件類日志網絡類日志MQ類日志數據庫配置管理DBus公共脫敏數據源管理抽取歷史管理自定義標準化自定義拉取元數據dataHub元數據JDBC接口Restful接口Kafka隊列ODBC接口實時快照ADX
36、Mgt平臺管理數據權限多租戶用戶管理項目管理審批管理資源管理數據源庫對接抽取任務對接表結構變更對接拉取結果對接功能權限數據庫元數據dataWS元數據脫敏元數據標準化元數據表結構變更&版本數據安全數據質量TriangleMoonbox抽取任務編排管理Triangle自定義脫敏公共標準化自定義字段輸出MoonboxWormhole歷史快照脫敏和標準化對接歷史增量自定義輸出DataWorks 數據工坊數據標準化數據脫敏DataHub:核心設計 百億ods每日快照(首次)DataHub:核心設計 百億ods每日快照(后續)DataHub:核心設計 ods如何應對schema變更批量快照批量快照(物理或
37、邏輯),采用老快照+新增量=新快照算法在計算批量快照時,需要外部指定一個需要的表結構(目標schema)新增量,可能會有多個不同schema版本,需要按不同schema分別讀出,并處理成目標schema(多刪少補)同理,老快照也需要根據目標schema進行處理最后,應用新快照算法進行合并計算實時快照、增量實時快照和實時增量,都是需要用戶指定表目標schema當schema變更,采取“多忽略少報錯”的策略(因此盡量做兼容性schema變更)對于出現“少報錯”,可進行手動或自動“少補償”進行目標表和流上SQL維護DataHub:核心設計 數據湖穩定性dbus-kafka-wormhole-hdfs
38、log鏈路高可用設計dbus-kafka-wormhole-hdfslog鏈路監控預警批流集群隔離,避免IO搶占數據湖文件(hdfslog)流上不做邏輯處理數據湖文件(hdfslog)文件切片策略(避免小文件)wormhole stream pool(stream池)wormhole vip stream(獨占stream)DataHub:核心設計 數據湖數據質量端到端黑盒比對算法E(Expected)端是源庫表,A(Actual)端是數據湖hdfslog由于E端和A端都是不斷在變化中的,因此精確比對兩端是否匹配有一定挑戰利用Moonbox,快速讀取兩端數據,進行一次快照比對,得到不匹配key
39、列表D110分鐘后,基于D1 key列表,讀取兩端對應key的數據,進行第二次比對,得到D2同理,10分鐘后,得到D3三次比對之后,如D3內仍有不匹配key,則預警,人工介入進行調查當數據湖出現數據質量問題處理方案DBus對表升版本,重新拉全量拉增量DataHub:核心設計 數據安全審批流程目前方式(半線上化),線下審批,在DataHub上申請數據、上傳審批截圖、數據運營進行人工審核后,DataHub自動開放數據給需求方使用DataHub統一并控制了ADX所有數據入口和出口批量數據通過Moonbox發布mb view,進行邏輯字段脫敏、加密、限列、限行數據安全團隊配置敏感字段和脫敏策略,Dat
40、aHub感知并自動生成mb view邏輯所有通過Moonbox交互和sql都會落審計日志留痕流式數據通過Wormhole落Kafka,進行物理脫敏、加密、限列、限行數據安全團隊配置敏感字段和脫敏策略,DataHub感知并自動生成wh flow邏輯所有通過Wormhole交互和sql都會落審計日志留痕DataHub:核心設計 數據服務對接方式Pull:JDBC、ODBC、RESTfulPush:寫庫(Append、ReplaceAll、Upsert)、寫隊列服務語言:MQL數據工坊模塊 DataWorks:數據鏈路datastar數據源datahubdatahubdataworkswhmbkud
41、ukafkawhkuduwhdvmbmbhivehivembmysqldvtriambadxmgtdatamgtDE-數據工程師DM-數據建模師DU-數據用戶數據工坊模塊 DataWorks:模塊架構DataWorksDataMgtWormhole流式處理Davinci報表分析Triangle任務調度統一存儲DataAction事件觸發元數據數據安全Moonbox認證接口接口層組件層服務層鑒權接口批量調度接口多租戶接口數據查詢接口事件觸發接口元數據接口展示層用戶接口流式調度接口DV前端接口批量作業編排流式作業編排Dashboard編排Widget編排Display編排批量作業調度用戶體系封裝流
42、式作業調度作業監控作業告警資源監控報表/分析封裝血緣分析數據鑒權SQL事件Flow頁面SQLJob讀寫讀寫ADXMgt多租戶用戶體系功能權限數據權限用戶認證功能鑒權數據鑒權數據分析/報表數據查詢流式作業數據策略批量作業SQLSQL數據工坊模塊 DataWorks:核心設計 簡單一致DataWorks專注于作業編輯編排,是數據項目的IDE,具體執行提交到對應中間件工具上執行。簡單一致的IDE體驗批量作業、流式作業拖拽式編排批量作業、流式作業SQL式開發全局唯一表名,屏蔽異構數據系統開發期可驗證SQL和數據正確性未來計劃 批量作業智能調度策略(基于Triangle)流式作業智能平衡策略(基于Wor
43、mhole)ADX數據應用層ADX數據產品概述可視應用產品 DavinciADX數據產品概述:數據項目基本類別大BI實施項目類(基于ADX、Davinci、DataInsight)報表、看板、大屏即席查詢多維分析數據挖掘通用數據產品類(基于DataProfile、DataBehavr、ConvoAI)標簽畫像行為分析聊天機器人業務定制項目類(基于DBus、Wormhole、Moonbox)業務類運營推薦風控運維類智能運維導數取數異構系統同步項目遷移可視應用產品 Davinci:功能介紹Davinci(可視應用平臺),是一個DVaaS(Data Visualization as a Servic
44、e)平臺解決方案。Davinci面向業務人員/數據工程師/數據分析師/數據科學家,致力于提供一站式數據可視化解決方案。既可作為公有云/私有云獨立部署使用,也可作為可視化插件集成到三方系統。用戶只需在可視化UI上簡單配置即可服務多種數據可視化應用,并支持高級交互/行業分析/模式探索/社交智能等可視化功能??梢暬M件支持基于數據模型拖拽智能生成可視化組件支持各種可視化組件樣式配置支持自由分析能力數據大屏支持可視化組件自由布局支持圖層、透明度設置、邊框、背景色、對齊、標簽等更豐富大屏美化功能支持多種屏幕自適應方式用戶體系支持多租戶用戶體系支持每個用戶自建一整套組織架構層級結構支持淺社交能力安全權限支
45、持LDAP登錄認證支持動態Token鑒權支持細粒度操作權限矩陣配置支持數據列權限、行權限集成能力支持安全URL嵌入式集成支持JS融入式集成moonboxdavinciJDBC數據源支持多種JDBC數據源支持CSV數據文件上傳數據模型支持友好SQL編輯器進行數據處理和轉換支持自動和自定義數據模型設計和共享數據門戶支持基于可視化組件創建可視化儀表板支持可視化組件自動布局支持可視化組件全屏顯示、本地控制器、高級過濾器、組件間聯動、群控控制器可視組件支持可視化組件大數據量展示分頁和滑塊支持可視化組件CSV數據下載、公共分享授權分享以及可視化儀表板的公共分享和授權分享支持基于可視化儀表板創建數據門戶多屏
46、適應支持大屏、PC、Pad、手機移動端等多屏自適應功能特性可視應用產品 Davinci:模塊架構SourceViewVisualizationWidgetModelSQL EditorLineBarPieScatterMapPlotPivotDashboardDisplayJDBCCSVMoonboxMySQLOracleHiveESPrestoClickHousePostgreSQL可視應用產品 Davinci:核心設計 兩種制圖方式可視應用產品 Davinci:核心設計 兩種viz應用可視應用產品 Davinci:核心設計 用戶權限體系可視應用產品 Davinci:核心設計 系統集成ADX
47、應用案例自助實時報表智能數據應用一、自助實時報表:場景挑戰場景需求業務數據團隊需要制作一批報表,時間要求較緊迫,需要一至兩周產出【敏捷度需求】有T+1時效部分,也有T+0時效部分,并且需要不同時效數據融合計算【時效度需求】因為需求可能會隨時調整,希望可以自助完成全流程實施和后期自助運維【自助化需求】開發實施項目時,可以很快找到所需上游數據,并能對數據有充分理解【數據發現需求】最終產生報表時,可以靈活配置出足夠定制化的報表可視化效果【配置定制化需求】需要報表可以按時輸出,滿足業務SLA要求,有問題可以及時預警【穩定度需求】當數據出問題時,可以快速定位問題,并能快速方便的做補數處理【數據質量需求】
48、數據申請、開發過程,和最終項目上線,符合公司數據安全策略要求【數據安全需求】所需計算資源既可以和其他數據項目隔離,也能盡量用足夠少量資源【計算成本需求】難點挑戰數據團隊人員缺少數據工程開發經驗,但對業務很了解,對SQL較熟悉所需數據來源可能來自異構數據庫,如何快速整合支持不同時效數據需求實時數據處理,一般開發和維護成本較高有些較通用需求,如何可以不重復造輪子,只需配置既可支持如何確保報表滿足SLA需求,并盡量減少業務部門成本分攤項目類別大BI實施項目類一、自助實時報表:解決方案BE-數倉工程師DU-業務用戶方OP-數據運營者1)登錄,創建新項目,申請資源等2)瀏覽、搜索、調研、定位所需表列表3
49、)選擇所需表,配置選項,上傳審批附件,申請ADX首頁(ADXMgt)項目管理(ADXMgt)數據管理(DataMgt)數據申請(DataHub)數據發布(DataHub)即席查詢(DataWorks)批量作業(DataWorks)流式作業(DataWorks)數據模型(DataStar)監控預警(DataMon)可視應用(Davinci)數據洞察(DataInsight)標簽畫像(DataProfile)行為分析(DataBehavr)中臺管理(ADXMgt)4)驗證、審批5)查詢數據,開發作業6)編排批量作業,校驗邏輯,發布作業7)編排流式作業,校驗邏輯,發布作業8)配置批量作業、流式作業預
50、警規則9)配置報表、看板、數據源、視圖、角色權限等10)配置可視化展現,使用報表、看板,分享等一、自助實時報表:要點分析數據處理實踐流式作業,適合做map、filter、project、leftjoin等算子批量作業,適合做全表join、aggregation等算子存儲選型實踐流上存儲,推薦KUDU,有良好的實時增刪改能力,和較快速列scan能力批量存儲,推薦Parquet,有很好列scan能力,有很好壓縮比,具備一定schema演進能力報表前置存儲(結果寬表),小數據量推薦MySQL;大數據量推薦Clickhouse、Es等數據質量可考慮配置日終批量補償機制,可選擇lambda或kappa架
51、構方式建議配置好關鍵數據處理節點預警機制對于關鍵ODS,可配置“端到端比對”機制對于關鍵指標,可配置“關鍵字段校驗”機制關于KUDU的坑KUDU在參數配置合理,tablet配置符合官方推薦時,比較穩定建議給KUDU WAL配置SSD盤,或至少SAS盤,不建議SATA盤KUDU比較吃IO,建議選擇多物理盤服務器,以提高讀寫并發單tablet server內存配置,建議50G以上(和數據量、數據讀寫吞吐相關)建議有KUDU數據定期備份機制建議實現Parquet/KUDU冷熱數據輪切機制(參見https:/ SDK數據總線(DBus)流式處理(Wormhole)標簽特征庫行為日志APP SDK數據總
52、線(DBus)流式處理(Wormhole)kudues計算服務(Moonbox)可視應用(Davinci)數據總線(DBus)流式處理(Wormhole)產品數據庫標簽特征庫產品畫像模型用戶興趣模型推薦模型狀態信息庫實時產品畫像實時產品推薦實時效果監控二、智能數據應用:要點分析具體應用具體分析根據具體業務數據應用需求,選擇合適的ADX層次進行支持,既支持開箱即用,也支持DIY數據服務Moonbox可提供基于SQL的多種標準接口服務(JDBC、ODBC、RESTful、Kafka等)算法調用流上調用算法,可通過定義Wormhole UDF或自定義Class方式支持批量調用算法,可通過定義Moonbox UDF支持定制整合ADX中間件工具棧,均提供RESTful接口,可當數據應用系統引擎整合使用,拼接系統鏈路跟蹤基于ADX各層打造的數據應用,可直接查看和跟蹤數據鏈路,定制監控預警實現