Oracle 云中湖倉一體加速跨境電商數(shù)據(jù)價值探索

作者:劉群策
時間:2022-06-09
2968
企業(yè)運營多年會積累大量的數(shù)據(jù),這些數(shù)據(jù)會存儲在各種應用系統(tǒng)和技術平臺中,例如關系型數(shù)據(jù)庫,Hadoop 分布式文件系統(tǒng)和文件系統(tǒng),也會以各種各樣的格式存儲,例如服務器日志,JSON,Parquet,純文本,數(shù)據(jù)庫導出文件等,如何經(jīng)濟的統(tǒng)一管理這些數(shù)據(jù),并且在數(shù)據(jù)加工和分析需要的時候能夠快速訪問和查詢這些數(shù)據(jù),無需頻繁移動和多份復制,是企業(yè)面臨的挑戰(zhàn)。

企業(yè)運營多年會積累大量的數(shù)據(jù),這些數(shù)據(jù)會存儲在各種應用系統(tǒng)和技術平臺中,例如關系型數(shù)據(jù)庫,Hadoop 分布式文件系統(tǒng)和文件系統(tǒng),也會以各種各樣的格式存儲,例如服務器日志,JSON,Parquet,純文本,數(shù)據(jù)庫導出文件等,如何經(jīng)濟的統(tǒng)一管理這些數(shù)據(jù),并且在數(shù)據(jù)加工和分析需要的時候能夠快速訪問和查詢這些數(shù)據(jù),無需頻繁移動和多份復制,是企業(yè)面臨的挑戰(zhàn)。

業(yè)界十年前提出了數(shù)據(jù)湖的概念,發(fā)展到今天,公有云服務商更多的把低成本,高可用性,安全的對象存儲作為推薦的數(shù)據(jù)湖解決方案,同時為了讓用戶有效使用這些數(shù)據(jù)創(chuàng)造價值,湖(數(shù)據(jù)湖)倉(數(shù)據(jù)倉庫)一體解決方案也在不斷發(fā)展,但現(xiàn)在其他方案存在諸多限制,例如很多的湖倉一體引擎都是基于 Hadoop 或 Spark 技術體系之上,因此:

·技術組件眾多,部署復雜,手工維護工作量較大,

·不同查詢場景下數(shù)據(jù)往往要多份復制,數(shù)據(jù)膨脹比較快,

·支持的 SQL 有限,提供的分析功能過于簡單,

·安全管控能力較弱

·還需要使用其他多種工具再加工等等

這些對于技術人員相對較少的企業(yè)級客戶來說,都會帶來巨大的挑戰(zhàn),也不利于數(shù)據(jù)的快速應用。

Oracle 多年來一直提供基于 Oracle SQL 的融合的企業(yè)級全數(shù)據(jù)管理解決方案,這些技術在公有云中也不斷發(fā)展完善,逐漸形成了基于 SQL 的湖倉一體的數(shù)據(jù)湖倉(Lake House=Data Lake+DataWarehouse)解決方案,幫助企業(yè)實現(xiàn)低成本統(tǒng)一存儲各種類型數(shù)據(jù),并且能夠利用 Oracle SQL 和高效穩(wěn)定安全的企業(yè)級數(shù)據(jù)倉庫引擎來靈活和深度使用這些數(shù)據(jù),從而幫助企業(yè)創(chuàng)造價值,提升數(shù)字化轉(zhuǎn)型的敏捷性。

640.png

Oracle 湖倉一體(LakeHouse)模式結(jié)合了來自數(shù)據(jù)倉庫和數(shù)據(jù)湖的最佳元素。它提供了多個 Oracle 云服務協(xié)同工作的現(xiàn)代化數(shù)據(jù)平臺,可輕松融合訪問數(shù)據(jù),移動數(shù)據(jù)、統(tǒng)一治理,并提供根據(jù)用戶的應用場景和偏好使用最佳的開源和商業(yè)工具的能力。

640 (1).png

Oracle Lakehouse 模式的關鍵元素包括:

1、數(shù)據(jù)倉庫:用于結(jié)構化,高價值的數(shù)據(jù),直接從應用數(shù)據(jù)庫集成過來,也可以存儲其他數(shù)據(jù)技術的處理結(jié)果,以結(jié)構化為主,包括各種數(shù)據(jù)類型,屬性圖,地理,JSON 等,同時可以直接融合訪問數(shù)據(jù)湖中的數(shù)據(jù)。

2、數(shù)據(jù)湖:用于原始的、不易理解的、價值較低的數(shù)據(jù)或歷史數(shù)據(jù)。通常用于加載到數(shù)據(jù)倉庫之前的暫存,歷史冷數(shù)據(jù)的存檔和用于訓練機器學習模型的綜合數(shù)據(jù)的存儲

3、管理的開源服務:支持用于數(shù)據(jù)存儲和數(shù)據(jù)分析的主流開源技術,包括 Apache Hadoop、Apache Spark 和 Redis 等,通過組件也可以直接訪問湖中數(shù)據(jù)。

4、數(shù)據(jù)集成:數(shù)據(jù)湖倉中的數(shù)據(jù)可以根據(jù)需要和使用場景在數(shù)據(jù)湖、數(shù)據(jù)倉庫和開源分析環(huán)境之間移動和靈活處理,批量,實時或基于服務調(diào)用方式。

5、數(shù)據(jù)目錄:維護所有可用數(shù)據(jù)的統(tǒng)一的、完整的視圖,可定義業(yè)務視圖,以便發(fā)現(xiàn)和管理。

如下圖所示,Oracle 提供了一系列云平臺服務,支持數(shù)據(jù)湖倉的卓越實現(xiàn),各組件、數(shù)據(jù)目錄和數(shù)據(jù)湖之間的緊密集成,實現(xiàn)了針對對象存儲的無縫查詢,在 OCI 或客戶的數(shù)據(jù)中心提供全面的數(shù)據(jù)和隱私保護(具體服務介紹請見本文尾部)。

640 (2).png

Oracle 湖倉一體解決方案不同之處在于:

·集成數(shù)據(jù)倉庫和數(shù)據(jù)湖:能處理所有數(shù)據(jù)的融合分析任務,考慮數(shù)據(jù)存儲的時候,可以根據(jù)數(shù)據(jù)類型,讀寫需求,整體成本,選擇最合適的存儲方式,而不是為了適應某種技術需要逐層處理和匯總加工。

·消除數(shù)據(jù)孤島:數(shù)據(jù)可以根據(jù)需要在倉庫和湖之間協(xié)同訪問,無論是結(jié)構化,半結(jié)構化還是非結(jié)構化數(shù)據(jù),都可以針對內(nèi)容進行查詢。也可以按需進行移動,加工和轉(zhuǎn)換。

·支持流行的開源技術和商業(yè)工具:支持用戶對于開源和商業(yè)工具技術路線的選擇來訪問所有數(shù)據(jù)。Oracle 提供了豐富的 SQL,支持統(tǒng)一對數(shù)據(jù)進行查詢和處理,用戶也可以通過開源的 Hadoop 相關組件,聯(lián)合查詢數(shù)據(jù)。

·適用場景的廣泛性:支持多種數(shù)據(jù)源、數(shù)據(jù)格式和數(shù)據(jù)類型(結(jié)構化、半結(jié)構化和非結(jié)構化)。支持各種數(shù)據(jù)消費程序和工作負載,包括所有行業(yè)的大數(shù)據(jù)分析、SQL 和 BI、數(shù)據(jù)科學和機器學習。

下面我們就以跨境電商的數(shù)據(jù)應用場景為例,介紹一下 Oracle 湖倉一體是如何實現(xiàn)數(shù)據(jù)融合分析探索的。其中涉及到的數(shù)據(jù)包括網(wǎng)站日志,訂單歷史數(shù)據(jù),應用系統(tǒng)數(shù)據(jù)和第三方數(shù)據(jù)等。使用的場景是收集網(wǎng)站日志,分析網(wǎng)站指標和用戶瀏覽行為,結(jié)合商品信息和歷史訂單,利用機器學習能力實現(xiàn)商品關聯(lián)分析。

640 (3).png

電商日志存儲的信息比較多,尤其是用戶訪問網(wǎng)站的行為或網(wǎng)站統(tǒng)計指標的來源,因為日志中包括來訪者IP地址,瀏覽器類型,訪問時間,訪問頁面,上一個訪問頁面,會話 ID 等信息,有的自開發(fā)網(wǎng)站也會把應用訪問或操作信息以 JSON 方式記錄在日志中,雖然現(xiàn)在很多網(wǎng)站也采用埋點的方式來記錄和分析用戶的行為,但日志分析也有諸多優(yōu)勢,例如可以不改變現(xiàn)有網(wǎng)頁,基于 Oracle 湖倉一體技術快速獲取和啟動分析。

針對網(wǎng)站日志,Oracle 支持多種方式收集,針對應用部署在第三方云上,日志也在其中,可以通過開源的 FileBeat / Fluented 把日志收集到 Oracle Streaming Service 或 kafka,Oracle 提供了 Service Connector 可以直接把數(shù)據(jù)從 Streaming Service 存儲到對象存儲中,如果應用部署在 Oracle 云中,那么可以啟動 Oracle 提供的部署在 VM 的 Agent 服務,通過配置 Service Connector,也可以把日志數(shù)據(jù)直接收集,自動化存儲到對象存儲中,而 ADW 可以直接通過外部表方式使用 OracleSQL 查詢這些日志數(shù)據(jù),無需移動或預先轉(zhuǎn)化和提取。

如下是基于 Magento 構建的示例電商網(wǎng)站,與 Ngnix 集成后生成的網(wǎng)站訪問日志,通過 Service Connector 自動抽取以后的格式,其中某一條示例:

640 (4).png

其中 “data” 后面的內(nèi)容就是來自于 Ngnix 日志,包括客戶端瀏覽器里類型,訪問狀態(tài),訪問者 IP,訪問方法,訪問的頁面 URI,從哪個頁面跳轉(zhuǎn)過來,內(nèi)容長度,日志文件來源等,Oracle ServiceConnector 在抽取時會在每一條后面加上一些系統(tǒng)參數(shù),例如時間,租戶和實例信息等,獲取的內(nèi)容會定期以壓縮文件 gz 形式傳輸存儲在配置的對象存儲 bucket 中。

這種格式日志存儲在對象存儲中,可以通過 Oracle Function 編寫代碼處理,也可以通過 Data Flow 服務按需通過 Spark 腳本處理,或者通過 OracleData Integration 圖形化界面處理,但如果只是進行一些統(tǒng)計查詢,也可以通過 ADW 直接訪問和查詢?nèi)罩緮?shù)據(jù),只是簡單配置和映射,無需編寫代碼和移動數(shù)據(jù)。

如下是 ADW 中通過配置,將特定 bucket 下收集的所有日志壓縮文件映射成外部表 ECOM_ACCESS_LOG_EXT_JSON,其中 objstorage_05 是事先配置的可訪問 bucket 的憑證:

640 (5).png

執(zhí)行顯示成功后,查詢 ECOM_ACCESS_LOG_EXT_JSON 內(nèi)容,可以看到表只有一個類型是 BLOB 的字段。可以利用 ADW 對 JSON 的支持,無需把 JSON 格式拆開,即可通過函數(shù)實現(xiàn)對 JSON 內(nèi)部內(nèi)容的提取,同時可以利用 ADW 對正則表達式的支持,過濾掉一部分網(wǎng)頁上圖片或其他文件的鏈接,只統(tǒng)計主頁面,創(chuàng)建視圖,具體如下:

640 (6).png

對視圖 v_ecom_log_mgt 進行查詢,可以看到如下結(jié)果:

640 (7).png

直接在 Oracle 分析云 OAC 中將視圖 v_ecom_log_mgt 加入生成新的數(shù)據(jù)集,可以看到如下效果:

640 (9).png

如果這些數(shù)據(jù)格式不滿足業(yè)務人員分析需求,也可以通過 OAC 中的數(shù)據(jù)流對這個數(shù)據(jù)集進行加工,無需編碼,生成新的數(shù)據(jù)集,例如可以提取 URL 中的商品代碼,拆分出瀏覽器和操作系統(tǒng)信息等:

640 (10).png

用生成的新的日志數(shù)據(jù)集創(chuàng)建數(shù)據(jù)分析項目,和商品數(shù)據(jù)集輕建模關聯(lián),簡單拖曳,即可以快速形成數(shù)據(jù)分析圖表,包括訪問的客戶端 IP 分布,操作系統(tǒng)瀏覽器分布,訪問的動態(tài)商品 ID 和 SKU,網(wǎng)頁訪問路徑等,也可以針對某些客戶或時間段靈活過濾,如圖:

640 (11).png

640 (12).png

接下來我們可以針對用戶瀏覽的商品 SKU,結(jié)合歷史購買記錄,利用 ADW 的機器學習能力,進行商品關聯(lián)分析,看看客戶歷史購買特定商品的同時購買可能性比較大的其他商品有哪些,這樣就可以在用戶瀏覽這些商品的時候,進行關聯(lián)推薦。

有些跨境電商企業(yè)已經(jīng)構建了大數(shù)據(jù)集群,存儲和處理產(chǎn)生的歷史數(shù)據(jù),為了節(jié)省成本,往往會把大數(shù)據(jù)產(chǎn)生的數(shù)據(jù)存儲在對象存儲中,以 Parquet 或者 ORC 格式,針對這些數(shù)據(jù),可以以文件方式存儲到對象存儲上,ADW 也可以無需移動,直接配置即可查詢訪問。

640 (13).png

Parquet 文件已經(jīng)帶有了數(shù)據(jù)格式,因此 format 中不用定義格式,ADW 會自動讀取并且進行數(shù)據(jù)格式映射,建立外部表 sales_history_ext。為了業(yè)務人員分析方便,可以直接構建業(yè)務視圖,把原始列名轉(zhuǎn)化為具有業(yè)務語義的名稱,這樣可以直接作為數(shù)據(jù)集快速分析:

640 (14).png

640.png

在 OAC 中通過拖曳形成分析圖表,瀏覽商品購買地區(qū)分布和價格折扣,稅率等分布,可以看到商品在歐洲,東非和西亞銷售比較好。

640 (1).png

使用 ADW 提供的 Machine Learning 的 Web 界面,可以利用 SQL 實現(xiàn)機器學習建模和預測,我們使用銷售歷史數(shù)據(jù),將訂單和客戶作為購買商品的分布鍵,對商品關聯(lián)性進行智能分析,可以獲得商品關聯(lián)關系,即客戶在購買商品 A 的同時,購買可能性比較大的商品有哪些。以前面查詢的商品 2798,2799 和 2807 為例,可以在 Machine Learning 中通過機器學習獲得關聯(lián)度比較高的其他商品:

640 (2).png

也可以在 OAC 中關聯(lián)數(shù)據(jù)集,實現(xiàn)商品關聯(lián)的動態(tài)過濾和聯(lián)動分析:

640 (3).png

第三方提供的導出數(shù)據(jù),或者應用批量導出的數(shù)據(jù),如果是以 CSV 方式,可以直接被 ADW 作為外部表使用,如果是 JSON 格式,和前面解析日志文件內(nèi)容類似,ADW 也能夠完美支持,不需要預先處理拆分JSON 的關鍵字和值,而是按照需求,可以直接使用 SQL 或者視圖方式定義,提取出 JSON 整個字符串中的特定關鍵字取值。

最后介紹一下 Oracle 云中湖倉一體解決方案相關的關鍵云服務:

·Oracle 自治數(shù)據(jù)倉庫云服務(ADW)提供了簡單,快速,彈性的企業(yè)級數(shù)據(jù)倉庫/數(shù)據(jù)集市能力,自動優(yōu)化數(shù)據(jù)管理和處理交付,易于管理和使用,聚焦在數(shù)據(jù)本身和業(yè)務。

·Streaming Service 支持實時數(shù)據(jù)流接收和訂閱,與 Kafka 兼容,接收和發(fā)布實時數(shù)據(jù)流,例如事件,日志提取等,也可自建 Kafka 集群

·Big Data Service 提供安全可靠,靈活擴展的Hadoop集群及相關組件,支持數(shù)據(jù)快速寫入,簡單查詢,復雜計算多種場景。

·Cloud SQL 支持通過 SQL 統(tǒng)一訪問大數(shù)據(jù)云 Hadoop,Hive,Kafka 中的數(shù)據(jù),支持結(jié)合 ADW 通過 SQL 融合分析跨平臺數(shù)據(jù)

·通過 HDFS Connector,可實現(xiàn)大數(shù)據(jù)云服務數(shù)據(jù)和對象存儲之間的集成,包括把數(shù)據(jù)卸載到對象存儲中,或者導入數(shù)據(jù)和通過 Hive 外部表方式直接訪問對象存儲中數(shù)據(jù),也支持其他組件外部表訪問,例如 Presto。

·Analytics Cloud 提供經(jīng)典商務報表,敏捷可視化和機器學習能力,便于快速探索和數(shù)據(jù)洞察,轉(zhuǎn)化數(shù)據(jù)價值

·Data Flow 提供了 Spark 離線計算服務,按需啟動停止和按使用計費。它提供日志管理和運行時環(huán)境來執(zhí)行應用程序,消除了設置基礎設施、集群配置、軟件安裝、存儲和安全性的需要。

·Data Science 提供了交互協(xié)同的機器學習環(huán)境,內(nèi)置多種 Python 機器學習開發(fā)包,支持數(shù)據(jù)科學家構建、訓練、部署和管理機器學習模型。數(shù)據(jù)科學家可以使用 Oracle 增強的 Oracle 加速數(shù)據(jù)科學(ADS)庫進行自動化機器學習(AutoML)、模型評估和模型解釋。

·Data Catalog 支持作為單一協(xié)作環(huán)境來管理技術、業(yè)務和運營元數(shù)據(jù)。可以從各種可使用公共或私有 IP 地址訪問的受支持數(shù)據(jù)源中獲取技術元數(shù)據(jù),可以組織、查找、訪問、理解、豐富和激活此元數(shù)據(jù)。利用按需或基于計劃的自動收集來確保數(shù)據(jù)目錄始終具有最新信息。

·Data Integration 是一項完全托管的無服務器云服務,提供圖形化的 Oracle 數(shù)據(jù)流設計器,有助于簡化復雜的數(shù)據(jù)提取、轉(zhuǎn)換和加載過程。

立即登錄,閱讀全文
文章來源:甲骨文云技術
版權說明:本文內(nèi)容來自于甲骨文云技術,本站不擁有所有權,不承擔相關法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務商推薦
更多