如果您的公司有數據倉庫, 您可能會使用 ETL (extract、 Transform、 load) 或 ELT ( extract、 load、 Transform) 將您的數據從不同的來源獲取到數據倉庫中。這些是移動數據卷和集成數據的常用方法, 以便您可以關聯來自不同來源的信息, 將數據安全地存儲在一個位置, 并使公司的成員能夠從不同部門查看數據。

這兩個術語的區別與這些過程的發生順序有關。這些方法都適合于不同的情況。讓我們看近一點。

什么是 ETL?

ETL 是一個過程, 涉及從不同的源 (有時使用臨時表) 中提取數據并進行轉換, 執行諸如更改數據類型或應用計算等操作。然后, 在數據轉換后, 將其加載到目標數據庫中, 通常是數據倉庫。當您執行 etl 時, etl 軟件會進行大量的提升–轉換。

ETL 通常用于以下情況:

  • 源和目標數據庫不同, 并使用不同的數據類型。
  • 數據量適中或較小。
  • 轉換是計算密集型的。
  • 數據是結構化的。

什么是英語?

ELT 是一個過程, 涉及提取數據, 將其加載到目標倉庫中, 然后在加載后進行轉換。在這種情況下, 轉換數據的工作由目標數據庫完成。ELT 通常發生在 NoSQL 數據庫 (如 Hadoop 群集或云安裝) 中。

在下列情況下通常使用 ELT:

  • 源和目標數據庫的類型相同 (即 Oracle 源和目標)。
  • 數據量很大。
  • 目標數據庫引擎適合處理大量數據。
  • 數據是非結構化的。

哪一個更好?

這些描述可能會讓您懷疑哪種方法更好。事實上, 在不同的情況下, 這些方法中的每一種都有優勢, 最好的解決方案取決于你的情況。

下表對比了一些關鍵區別。

ETL ELT
成熟 ETL 已經存在了20年, 它專門設計用于處理關系數據庫、結構化和非結構化數據以及非常大的數據卷。有許多專家和最佳做法可以指導您使用 ETL。還有許多 ETL 工具可供選擇。 英語與 ETL 沒有很好的適應, 因為它不是專門用于處理過去20年市場占據主導地位的關系數據庫的。
靈活性 較舊的 ETL 工具非常適合關系數據庫, 但通常較少適合于非結構化數據。此外, 使用 ETL 工具, 您必須映射將要移動到目標數據庫的數據, 并且對該計劃所做的任何更改都需要重新構造映射, 并且再次加載所有數據。 ELT 工具通??梢蕴幚斫Y構化和非結構化數據的組合。此外, ELT 工具通常將所有數據移動到目標中, 從而使結果數據集更加靈活。
硬件要求 許多傳統的 ETL 工具都需要特定的硬件, 并且有自己的引擎來對數據進行轉換。雖然現代 ETL 平臺在云中運行。 ELT 工具利用現有硬件的計算能力對數據執行轉換。
更好的..。 ·結構化數據
·更小的數據量和復雜的計算
·內部關系數據庫
·非結構化數據
·大量數據和較不復雜的計算
·云環境
·數據湖

ETLT 方法

看著這個利弊的列表, 你可能會看到兩個陣營的特點, 吸引你和相關的問題, 你想解決

例如, 您可能希望使用管線中的時間戳或 geolocations 來豐富數據, 但是在加載之后, 可以啟用目標數據庫執行可能需要數據庫繁重的任務 (如聯接) 的復雜轉換, 而這是有效的。

考慮要將源數據與數據倉庫中現有目標數據聯接的方案。使用 ETLT (提取、轉換、加載、轉換) 方法, 您不需要將數據從現有的目標數據庫中拉出, 這樣您就可以將其加入到將要加載的數據中。產生的管道是一個很有意義的方法: 允許你的每個工具做他們最適合一個高效、靈活的解決方案的事情。

Comments are closed.