Etl

ELT 數據最終會儲存在 RDBMS 中嗎?

  • October 2, 2019

我想我把事情搞糊塗了。

在 ETL 中,數據轉換從數據庫 A 開始,到數據庫 B 結束,都是關係型數據庫。也許我有一個 20 歲的系統。我使用 ETL 來獲取兩個數據庫之間的數據。我不知道ETL還有什麼用途。

在 ELT 中,除了來自數據庫A 的數據永遠不會在數據庫 B 中結束之外,是否相同?相反,原始數據位於伺服器B上的表或其他資料結構中,來自數據庫 A,但需要 Hadoop 之類的東西才能將這些數據轉換為專門為使用 Hadoop 而設計的應用程序?

編輯:我又做了一次。Hadoop!= ELT。我只關注 Hadoop,並認為它是 ELT 或它的表現形式。編輯:ELT 意味著您需要一個獨特的非 RDBMS 文件資料結構而不是 RDBMS,並且您完全轉儲了 RDBMS。

我認為舉個例子會更容易:

數據庫 A 有表 C。數據庫 B 有表 D。C 和 D 非常相似但不完全相同,數據需要在載入到 D 之前進行清理。

  • ETL

ETL 程序(SSIS、Pentaho 等)從表 C 中提取數據。然後對數據進行一些更改以清理數據並將其放入所需的格式。然後,ETL 過程將該數據移動/複製到數據庫 B 上的表 D。

  • ELT

提取表 C 中的數據。它作為表 C上傳到數據庫 B 。數據庫 B 現在有兩個表,C 和 D。數據庫程序(SQL、作業等)現在對錶 C 中的數據進行了一些更改,並將其放入所需的格式。然後,相同的過程將現在乾淨的數據複製到表 D 中。數據庫 B 中不再需要臨時表 C,可以刪除或截斷。

在這兩種情況下,數據現在都載入到數據庫 B 的表 D 中。前端應用程序繼續使用表 D。

引用自:https://dba.stackexchange.com/questions/188332