什麼是資料擷取?
資料擷取意指從各種來源收集資料,並將其複製至目標系統進行儲存和分析的過程。現代系統會將資料視為以各種格式與速度在系統與裝置之間「流動」的要素。例如,系統能夠以感應器輸入恆定串流的方式,持續接收來自智慧型感應器的資料,同時在一天結束時批次整理並傳送客戶的銷售資料。不同的資料來源需要驗證檢查、預先處理和錯誤管理,才能讓資料進入目的地。資料擷取涵蓋安全收集資料以供進一步分析所需的所有技術和流程。
為什麼資料擷取很重要?
資料擷取流程是任何資料管道中的首個步驟。該流程可確保適當收集、準備原始資料,並將其提供給下游流程。以下是準確資料擷取至關重要的原因。
支援資料優先順序
商業分析師和資料科學家會優先處理最重要的資料來源,並設定資料擷取管道以實現有效率的處理和整合作業。依據作業需求,優先處理的資料會被移至進行清理、重複資料刪除、轉換或傳播的位置。這些準備步驟對於有效的資料作業至關重要。依優先順序處理的方法可提高業務效率,同時簡化資料處理流程。
移除資料孤島
透過從多個來源收集資料並將其轉換為統一格式,資料擷取可確保組織實現其資料資產的整合檢視。此流程有助於防止資料孤島,使資訊更容易跨部門存取,以改善協作。
透過自動化加速流程
建構資料擷取系統後,資料工程師可以設定各種自動化控制,進一步加快流程。這些流程很容易輸入到依賴這些資料的其他資料驅動的工具中,例如 AI 和機器學習模型。自動化資料管道也有助於簡化整體流程。
增強分析
必須能夠隨時取得相關資訊,資料分析才能有效。在資料擷取期間,您可以合併多個來源或執行資料擴充活動。資料擷取層可將資料引導至適當的儲存系統 (例如資料倉儲或專門的資料市集),使其能夠被快速可靠地存取。能夠隨需存取資料,即可進行即時資料處理和分析。您的組織可以利用資料分析的結果,做出更精確的業務決策。
資料擷取流程有哪些類型?
資料擷取和方法因資料的數量、速度和使用案例而異。
批次資料擷取
批次擷取工具會在指定期間內收集資料,同時擷取一整組多筆資料項目。這些工具通常設定為以排定的間隔 (例如一天結束時、週末或月底) 擷取資料。例如,影像編輯軟體可能會在一天結束時自動將所有經編輯的影像上傳至雲端。
如果涉及大量資料,則大批處理資料的速度有時會很快,有時則會偏慢。如果傳輸速度十分緩慢而且出現錯誤,重新開始批次的成本可能十分昂貴,並且作業十分複雜。使用批次處理的工程師會建立容錯管道,從批次最後中斷的地方繼續開始。
當您要分析歷史資料或時間相關性不重要時,最適合採用此方法。若要擷取近乎即時或即時的資料,通常會採用下列其中一種方法。
串流資料擷取
串流資料擷取工具會在資料產生時即刻收集資料,例如從持續量測的 IoT 感應器擷取資料。雖然串流能夠確保存取最新資料,但可能會耗費大量資源。資料工程師必須處理系統或網路錯誤和網路延遲,這可能會導致資料遺失,並使資料串流出現間斷情形。
有兩種串流資料擷取方法。
拉動型擷取
擷取工具會查詢來源並執行資料擷取。該工具可能以連續方式或透過預設間隔執行此操作。
推動型擷取
資料來源一旦產生新資訊,就會將資料推送到擷取工具。
微批次擷取
微批次資料擷取可將連續資料串流分成更易管理的較小區塊,這稱為分散式串流。此方法可平衡批次和串流擷取的優勢。其非常適合需要即時處理,但是完整串流又會耗費大量資源的場景。然而,與純串流擷取相比,微批次處理仍會造成一些延遲。
微批次處理是一種符合成本效益的方法,可以實現近乎即時的資料擷取,且無需支付與串流相關的較高成本。
事件驅動的擷取
這是一種特殊的推動型擷取形式。事件驅動的系統會在特定事件發生或觸發因素出現時擷取資料,而非連續或以設定的間隔擷取。這種方法通常用於訂單處理、客戶通知、系統監控等應用場景。此方法會透過僅在需要時擷取資料,減少不必要的資料移動,並最佳化資源使用情況。然而,有效的運作仰賴於定義良好的事件觸發因子和事件處理機制。
變更資料擷取
變更資料擷取 (CDC) 系統是一種以事件為基礎的擷取類型,通常用於資料庫複製、增量型資料倉儲,以及分散式系統之間的同步處理。資料擷取工具只會擷取對資料庫所做的變更,而不是傳輸整個資料集。透過監控交易日誌事件,CDC 會識別插入、更新和刪除行為,並將其以近乎即時的速度傳播到其他系統。CDC 可將資料傳輸成本降至最低並提高效率,但需要基礎資料庫系統的支援,而且可能產生一些處理成本。
資料擷取、資料整合與 ETL 有何不同?
這些概念常被混為一談,但其中存在重要的區別。
資料擷取與資料整合
資料整合是指將不同的資料集結成一個統一的檢視。這是一個廣泛的總稱,涵蓋將資料從多個來源系統移轉到單一目標系統、合併資料,清除不需要的資料、消除重複項目,然後加以分析以獲得深入見解的流程。例如,將客戶個人檔案資料與訂單採購資料整合,可讓您深入了解特定年齡群組或地區人口的訂購偏好。
資料擷取是任何資料整合管道中的第一步。但是,資料整合涉及擷取以外的其他工具和技術,包括擷取、轉換、載入 (ETL) 管線和資料查詢。
資料擷取與ETL 和 ELT
擷取、轉換、載入 (ETL) 是一種多步驟架構,可以在多個階段或躍點中改善資料品質。在 ETL 中,系統會從其資料來源處擷取資料,將其轉換成分析工具所需的格式,然後載入資料儲存系統,例如資料倉儲或資料湖。
擷取、載入、轉換 (ELT) 是對調 ETL 中資料轉換和載入步驟的替代管道。其是一個單躍點架構,這意味著會在目標系統上完成資料載入和轉換。
資料擷取是指 ETL 和 ELT 管道的擷取和載入階段。然而,ETL 和 ELT 的範疇皆不僅止於資料擷取,這些架構還會在轉換階段處理資料。
資料擷取有哪些挑戰?
以下是組織在擷取資料時應考慮的一些挑戰。
擴展
由於資料量龐大,加上資料吞吐速率日益提升,組織在擴展資料擷取系統時往往困難重重。
水平和垂直擴展
組織使用兩種主要的擴展策略。水平擴展包括在多個節點之間分配擷取工作負載。其需要有效率的平衡和協調負載,以防止瓶頸。垂直擴展是依賴提升單一節點內的處理能力達成,這種方法更容易設計,但會受節點的處理能力限制。這裡主要挑戰是確保擷取管道可以處理不斷增多的資料量,而不會造成延遲或系統故障。
若要克服擴展挑戰,您可以透過 Amazon Kinesis Data Streams 實現具水平擴展能力的即時資料擷取。或者,也可以採用 Amazon EMR,該服務可讓使用者輕鬆執行和擴展 Apache Spark、Trino 和其他巨量資料工作負載。
無伺服器架構
無伺服器管線是不需要執行個體組態和部署的隨選資料擷取架構。無伺服器架構最適合變動性較高的資料擷取模式或事件導向擷取。
例如,AWS 上的無伺服器擷取管道可以透過 Amazon Data Firehose 和 AWS Lambda 建立。
安全性
資料擷取過程中,安全性與合規性是關鍵,尤其是在處理敏感資訊時。組織必須遵循資料隱私法規,這些法規對收集、傳輸和儲存資料有嚴格的要求。
部分擷取期間的資料安全性最佳實務包括:
- 傳輸中和靜態資料加密
- 存取控制和驗證機制
- 保護個人身分識別資訊 (PII) 的資料遮罩和匿名化技術
為了在 AWS 上進行擷取時保護資料安全性,您可以使用以下服務:
- Amazon Macie 採用機器學習和模式比對,以探索敏感資料
- AWS Key Management Service 可加密跨 AWS 工作負載的資料
- AWS PrivateLink 可在 Amazon Virtual Private Cloud (VPC) 與 AWS 服務之間進行連線,而不會將資料暴露於網際網路。
網路可靠性
網路中斷、API 故障、不一致的資料可用性都可能中斷資料擷取流程。這些事件會造成資料損毀等挑戰。任何一個來源的資料過載,都可能導致資料遺失或暫時減慢系統 (如您的資料倉儲) 速度。可能需要自適應限流來管理資料流中的尖峰。背壓管理允許資料擷取工具以符合其處理能力的速度,處理傳入資料。
重試或重新嘗試處理失敗的資料是另一種錯誤處理策略。當資料擷取工具識別到損毀或遺失的資料時,會向來源傳送重新傳送請求。重試可提高準確度,但可能會影響預期的輸送量和延遲。
若要在 AWS 上實作自動重試功能,您可以使用 AWS Step Functions 建立自己的工作流程,而 Amazon Kinesis 則提供可設定的政策和流程,用於管理傳入資料流程。
資料品質
當資料從不同來源傳送至資料擷取管道時,無法保證資料會以適用於組織的一致格式傳送。原始資料來源中可能存在值缺漏、資料格式不正確、結構描述不相符的問題。在處理非結構化資料時尤其如此,因為缺乏一致性會新增額外的互動和清理層。
資料擷取工具通常包括資料品質檢查和實作驗證、清理與標準化資料的方法。自動重複資料刪除、結構描述強制執行和 AI 驅動的異常偵測,可在錯誤進一步擴散到資料管道之前,協助及早識別並修正錯誤。
AWS 上的資料品質工具包括用於品質規則和自動化的 AWS Glue Data Quality,以及用於資料編目和治理的 Amazon DataZone。
資料擷取架構如何協助制定更優秀的業務決策?
更及時地存取準確的資料,可協助團隊更快地發現趨勢、動態回應客戶需求,並即時調整策略。這會使貴組織有能力以資料證據而非臆測為依據進行決策。
利用安全可靠的資料管道建立信任
客戶和監管機構希望企業負責任地處理資料。設計良好的資料擷取流程,可確保資料經過安全地收集、傳輸和存取,從而滿足這些期望。
其中的效益並不僅止於當下的即時營運改進。合規性也會變得更加穩健,同時在資料倉儲中展示安全的資料處理作業,可以在團隊中建立內部信心,並強化客戶信任。
簡化整個業務的合規性和報告作業
可靠的資料擷取流程,可協助貴組織符合法規要求並簡化稽核作業。一致且安全地收集來自整個企業的資料時,可形成清晰、可追溯的營運記錄,這對於遵循《一般資料保護規範》(GDPR)、《健康保險流通與責任法案》(HIPAA) 或《支付卡產業資料安全標準》(PCI DSS) 等標準特別重要。
自動化資料擷取作業可降低人為錯誤的風險,並確保及時擷取所需資料。如此一來,您就可以更輕鬆地產生準確的報告、回應稽核員要求,並證明您正在施行透明受控的資料實務。
實現更快的跨團隊創新
當資料能夠可靠地被擷取並迅速提供時,企業內的團隊都可以變得更加靈活。例如,產品、行銷和營運團隊可以測試假設、衡量客戶關係管理 (CRM) 系統中的結果,並在無須等待 IT 人員準備資料集的情況下進行迭代。透過自動擷取管道,這些團隊就可以自行存取最新、值得信賴的資料,以縮短獲得見解的時間。
AWS 如何支援您的資料擷取需求?
AWS 提供多種服務和功能,可將不同資料類型擷取至 AWS 雲端資料庫或其他分析服務。例如:
- Amazon Data Firehose 是 Kinesis 服務系列的一部分,可自動擴展,以因應串流資料的數量和輸送量,並且不需要持續管理。
- AWS Glue 是全受管無伺服器 ETL 服務,能夠以簡單且符合成本效益的方式分類、清理、轉換資料,並可靠地在不同資料儲存區之間加以傳輸。
- AWS Transfer Family 是全受管安全傳輸服務,可將檔案移入或移出 AWS 儲存服務。
- AWS 資料庫和 AWS Database Migration Service (DMS) 提供從所有 AWS 資料庫服務擷取和串流變更的機制。您可以使用 Amazon DynamoDB 或 Amazon Neptune 的原生 CDC,這可讓您降低資料整合管道的複雜性。另一個選項是在 AWS Database Migration Service (DMS) 中使用 CDC,該服務會從來源的交易日誌中擷取變更。DMS 是一項高可用性服務,並具有此類長時間執行之複寫任務所需的彈性。然後,您可以選擇使用 Amazon MSK、Amazon Kinesis 或 AWS Glue 來轉換和分發您的資料串流。
- Amazon Managed Streaming for Apache Kafka (Amazon MSK) 是一項全受管服務,可讓您輕鬆建置和執行應用程式,使用開放原始碼 Apache Kafka 進行串流擷取。
您也可以在 Amazon EC2 和 Amazon EMR 上安裝自訂資料擷取平台,並建置自己的串流儲存區與處理層。如此,您可以避免基礎結構佈建的衝突,並且可以存取各種串流儲存架構和處理架構。
歡迎立即建立免費帳戶,開始在 AWS 上進行資料擷取。