數據大爆炸,業務怎麼辦?
一、第三平台帶來的數據問題
我們知道,在傳統的java架構中,JPA支持ORM映射元數據,將框架據此將實體對象持久化到資料庫表中。以實現應用對後端數據的訪問。
那麼,隨著第三平台的發展,BIG DATA,、CLOUD、MOBILE、社交使各種數據激增,有的是結構化的,有的是非結構化的:
這帶來的問題有:
產生大量數據孤島,而這些數據在需要時很難訪問
點對點數據集成過於簡單,很難做到彈性擴容
數據蔓延導致安全和合規風險
而現有的數據集成方法存在技術上的不足:
提取和移動數據會增加延遲和成本
每個項目都以不同的方式解決數據訪問和集成問題
解決方案與數據源緊密結合
靈活性和敏捷性差
在這種情況下,數據如何抽取和訪問數據?
二、企業數據虛擬化
Enterprise Data Virtualization (EDV)並不是一個新的技術,它已經存在了10多年。但它在這幾年越來越收到重視。
在早些年,數據虛擬化解決方案主要用於金融、電信行業。但是,在過去五年中,EDV在其他行業(如保險,零售,醫療保健,製造業,石油和天然氣以及電子商務)的採用量顯著增加。另外,由於架構師已經意識到EDV對於滿足他們日益增長的數據需求的重要性,因此許多實現已從單一用例部署轉移到支持多個用例的更多企業級策略。
在當下,EDV的主要使用場景有:
客戶的360度視圖
一家公司可能想要了解客戶對產品發布的反應,以便將其與以前的發布進行比較;或想方設法最大限度地減少客戶流失。EDV解決方案可以快速提取、轉換和處理來自社交網路(例如Facebook和Twitter)的數據,然後數據倉庫和CRM應用程序集成,以創建客戶的360度視圖。EDV還可以快速支持新的數據源,並適應不斷變化的業務需求。
處理集成數據的IoT分析。EDV能夠利用來自存儲在Hadoop,Spark或NoSQL存儲庫中的感測器和設備的大量IoT數據以及歷史數據執行分析。 EDV平台上的物聯網分析功能使製造商能夠預測機器故障、最大限度地減少或消除生產放緩,並支持主動重新訂購機器部件。
實時數據共享和協作數據平台。EDV不僅僅是一個數據訪問層 - 它是一個數據平台,支持多行業務(LOB)、業務分析師和技術組織共同協作,實現整個企業的數據共享和協作。數據虛擬化提供了將可信的企業數據無縫地提供給應用程序和分析工具的統一可信視圖的能力。
通過集中訪問保護敏感數據。一些金融服務和醫療機構使用數據虛擬化來保護和控制敏感數據。數據虛擬化有助於他們通過公共數據層集中數據訪問、確保對敏感數據進行有安全控制,特別是當數據來自不同的來源時。
為技術和商業用戶提供自助式數據平台。對於技術組織而言,數據虛擬化使開發人員和架構師能夠快速映射數據源,確保細化的數據安全性和持續可用性,並專註於業務問題而不是應對技術問題。
我們看一下目前主流的EDV廠商:
各個廠商的產品如下:
接下來,我們看看紅帽的JDV產品,以便對EDV的方案有所了解。
三、JDV架構
藉助於JDV,我們可以實現數據即服務:
不同源數據的上下文視圖統一展現
單點訪問
基於標準的介面
可共享的集成和轉換邏輯
可重用的數據服務
我們看一下數據訪問的示意圖,這裡,我們舉兩個例子:ESB訪問數據源和應用訪問數據源
ESB:
1.前端ESB發起REST請求:
2.請求到達JDV:
3.JDV將前端請求分解後訪問後端數據的需求:REST消息、SQL、SOAP消息:
4.分解後的請求到達各自的數據源:
5.JDV向發起請求的ESB返回JSON結果:
BI應用:
前端的BI應用發起SQL請求:
2.請求到JDV
3.後端數據源返回信息給JDV,JDV將SQL結果返回給BI應用:
接下來,我們看一下應用和JDV通訊的具體步驟:
連接:使用不同的訪問方法和存儲模型快速訪問來自不同系統(資料庫,文件,服務,應用程序等)的數據。
組合:通過組合和轉換來自多個來源的數據,輕鬆創建可重用、統一的通用數據模型和虛擬數據視圖。
消費:通過各種開放標準數據訪問方法,實時提供實時可用的統一虛擬數據模型和視圖,以支持不同的工具和應用程序。
我們看一下JDV的業務視圖:
JDV提供了數據訪問的安全策略:
JBoss Data Virtualization使數據防火牆代理可以保持匿名的物理數據源並防止不必要的暴露
除物理來源的安全性外,還將基於角色的數據訪問和審計策略應用於虛擬資料庫
JBoss Data Virtualization可以提供更細粒度的安全控制:
身份驗證:Kerberos,LDAP,WS-UsernameToken,HTTP Basic,SAML
授權:虛擬數據視圖,基於角色的訪問控制
管理:虛擬資料庫許可權的集中管理
審計:集中式審計日誌記錄和儀錶板
保護:行和列掩碼;SSL加密(ODBC和JDBC)
四、JDV的九個應用場景
場景1:虛擬數據集市
數據集市也叫數據市場,是一個從操作的數據和其他的為某個特殊的專業人員團體服務的數據源中收集數據的倉庫。從範圍上來說,數據是從企業範圍的資料庫、數據倉庫,或者是更加專業的數據倉庫中抽取出來的。數據中心的重點就在於它迎合了專業用戶群體的特殊需求,在分析、內容、表現,以及易用方面。數據中心的用戶希望數據是由他們熟悉的術語表現的。
場景2:擴展數據倉庫
並非所有BI所需的數據在數據倉庫中均可用。數據倉庫通常不包括非傳統數據源:如外部數據源、呼叫中心日誌文件、博客文件、來自客戶呼叫的語音記錄以及個人電子表格。這會影響到業務,很簡單,這些數據有分析的價值。
通過JDV,可以將傳統數據倉庫和非傳統數據源統一集成:以便讓外部數據源和數據倉庫將看起來像一個集成資料庫。這個概念被稱為擴展數據倉庫。
場景3:在線生成營運報告
JDV會對生產數據先進行複製,然後對複製的數據進行分析,這樣不會影響到生產。
場景4:管理自服務BI
JDV向下集成多種數據源,向上為多種應用提供服務,並生成各種分析報告:
場景5:大數據
將大數據抽象為關係式視圖
與現有企業來源整合
為大數據添加實時查詢功能
除了JDBC和ODBC之外,還提供對基於標準的介面(如REST和OData)的全面支持。
為大數據基礎架構添加安全性和治理
場景6:將現有數據與大數據集成
通過JDV,將現有數據與大數據集成非常簡單
集成的方式可以用共享的,也可以為客戶獨特的徐秀單獨開發。
場景7:JDV為SOA提供服務
需求場景:
客戶希望有能夠跨所有來源的通用數據模型
應用與物理數據源實現松耦合
更改數據源而不會中斷應用
方案
所有數據都通過數據服務訪問
JDV為企業提供了抽象和邏輯數據模型
將數據公開為Web服務和SQL,以便被應用訪問
優點:
所有應用程序將通過使用通用模型「獲取」相同的數據
更容易將數據公開給新的應用程序
更容易對數據源進行更改
場景8:資料庫遷移
例如,將數據從OracleDB遷移到MySQL:
場景9:微服務
傳統應用對資料庫的訪問:
多個客戶端耦合到單個資料庫模式
全部依賴於一個或多個數據塊
直接與資料庫通話的應用程序使得難以管理模式更改以及容易出錯
針對微服務,我們需要兩步走:
首先,將數據提供一個Owner
- 在客戶端和他們需要的數據之間建立微服務和虛擬資料庫
- 封裝數據並僅通過虛擬DB公開需要的內容
- 在REST + JSON或OData上標準化通信
- 客戶應用使用REST方式訪問數據
第二步:將資料庫進行拆分,因為數據是使用REST和JSON / OData使用虛擬資料庫交換的,應用實際上不知道或關心數據的存儲方式。
參考文獻:
魏新宇
"大魏分享"運營者、紅帽資深解決方案架構師
專註開源雲計算、容器及自動化運維在金融行業的推廣
擁有MBA、ITIL V3、Cobit5、C-STAR、TOGAF9.1(鑒定級)等管理認證。
擁有紅帽RHCE/RHCA、VMware VCP-DCV、VCP-DT、VCP-Network、VCP-Cloud、AIX、HPUX等技術認證。
文章打賞隨意(轉發和讚賞都是對作者原創的鼓勵):


TAG:大魏分享 |