Các đối số có lợi cho việc sử dụng quy trình ELT so với ETL là gì?


19

Tôi nhận ra rằng công ty của tôi sử dụng quy trình ELT (trích xuất tải-chuyển đổi) thay vì sử dụng quy trình ETL (trích xuất-chuyển đổi-tải).
Sự khác biệt trong hai cách tiếp cận là gì và trong trường hợp nào thì một tình huống sẽ "tốt hơn" so với phương pháp khác? Sẽ thật tuyệt nếu bạn có thể cung cấp một số ví dụ.

Câu trả lời:


13

Rất nhiều cuộc thảo luận về ETL vs ELT ngoài kia.

Sự khác biệt chính giữa ETL so với ELT là việc Xử lý xảy ra xử lý dữ liệu ETL xảy ra trong công cụ ETL (thường là ghi lại tại thời điểm và trong bộ nhớ) Xử lý dữ liệu ELT xảy ra trong công cụ cơ sở dữ liệu

Dữ liệu giống nhau và kết quả cuối cùng của dữ liệu có thể đạt được trong cả hai phương pháp.

nó phụ thuộc rất nhiều vào bạn và môi trường của bạn Nếu bạn có một công cụ cơ sở dữ liệu mạnh và phần cứng tốt và bạn có thể xử lý nặng về nó, ELT rất tốt cho bạn, Nếu bạn có một công cụ cơ sở dữ liệu bận rộn và bạn cần giải phóng nó khỏi việc xử lý cho ETL.

lưu ý rằng việc có một công cụ ETL cung cấp cho bạn cả hai tùy chọn, như ETL (T), bạn có thể thực hiện Chuyển đổi trong công cụ ETL và bạn cũng có thể thực hiện chuyển đổi trong công cụ Cơ sở dữ liệu

nhưng ELT bạn chỉ có tùy chọn chuyển đổi trong công cụ cơ sở dữ liệu, nhưng bạn nên biết rằng Cơ sở dữ liệu tốt hơn trong các hoạt động dựa trên thiết lập so với các công cụ ETL ghi lại tại thời điểm đó.

câu hỏi tương tự hỏi về SO nhưng hỗ trợ ETL và cũng là một đẹp Điều so sánh ETL vs ELT, nhưng thiên về giảng dạy tiếng Anh


10

Nó gần như là một vấn đề ngữ nghĩa. Rất nhiều không khí nóng được đưa ra trong các cuộc thảo luận về vấn đề này nhưng tôi không thực sự tin rằng có bất kỳ chiều sâu triết học thực sự nào để phân biệt giữa hai điều này.

Ở một mức độ nào đó, bạn có thể xem ETL dưới dạng chuyển đổi dữ liệu trong công cụ phía máy khách trước khi tải nó, với ELT ngụ ý rằng dữ liệu được chuyển đến một khu vực sắp xếp nào đó với sự thay đổi tương đối ít về định dạng. "Chuyển đổi" diễn ra sau đó.

Đây là những định nghĩa rất mượt và có thể được áp dụng cho nhiều kiến ​​trúc kỹ thuật khác nhau, và có nhiều thiết kế có thể được sử dụng để mô tả.

Tôi rất ủng hộ kiến ​​trúc trong đó tất cả logic chuyển đổi và nghiệp vụ có thể được xây dựng thành một cơ sở mã đồng nhất ít nhiều và tôi đã thực hiện rất nhiều hệ thống trong đó logic chuyển đổi khá phức tạp. Điều này có xu hướng chỉ sử dụng công cụ ETL để lấy dữ liệu và sau đó tất cả các chuyển đổi đã được thực hiện trong các thủ tục được lưu trữ. Có thể cho rằng điều này có thể được mô tả là ETL hoặc ELT với sự khác biệt chỉ là một trong những ngữ nghĩa.

Tuy nhiên, một số công cụ rất tập trung vào cơ sở dữ liệu (ví dụ, Trình tích hợp dữ liệu của Oracle thường được gọi là công cụ ELT). Nếu bạn đăng ký vào chế độ xem này, thì 'Trích xuất' và 'Tải' sẽ xảy ra trước khi dữ liệu được chuyển đổi khi chúng được đưa vào khu vực tổ chức và sau đó được xử lý bằng mã SQL hoặc PL / SQL (có thể được tạo bởi công cụ hoặc viết tay). Một số người mà tôi đã nói chuyện dường như coi công đức chính của ODI vì đó không phải là SỞ HỮU.

Nếu bạn sử dụng một công cụ phía máy khách như Informatica Powercentre hoặc MS SQL Server Integration Services thì công cụ đó có thể thực hiện chuyển đổi rộng rãi sang phía máy khách dữ liệu. Một số công cụ ETL, chẳng hạn như Ascential Datastage và Ab initio được thiết kế để thực hiện nhiều công việc với các tệp phẳng và cấu trúc dữ liệu trong bộ nhớ để tăng tốc. Trong kiểu kiến ​​trúc này, việc chuyển đổi đã được thực hiện trước khi nó được tải. Có lẽ loại kiến ​​trúc này có thể được phân loại chắc chắn là 'ETL', mặc dù tôi đã thấy nhiều dự án tập trung vào công cụ trong đó tất cả các công việc thực sự được thực hiện bởi một loạt các mã thủ tục được lưu trữ.

Có những lợi thế đối với các công cụ và cách tiếp cận kiến ​​trúc khác nhau, nhưng người ta không thể đưa ra tuyên bố về những ưu điểm của phương pháp 'ETL' so với 'ELT' vì các thuật ngữ này quá rộng đến nỗi sự khác biệt gần như vô nghĩa. Một số công cụ và kiến ​​trúc có thể có những lợi thế cụ thể - ví dụ, việc sử dụng nhiều tệp phẳng của Ab initio mang lại cho nó một lợi thế hiệu suất đáng kể trên khối lượng dữ liệu lớn.

Trong thực tế, việc phân biệt giữa 'ETL' và 'ELT' là khá vô nghĩa nếu không đi sâu vào thảo luận nhiều hơn về các yêu cầu hệ thống, nền tảng và kiến ​​trúc kỹ thuật.


1

Đó cũng là vấn đề tiền bạc. Khi khối lượng dữ liệu cao như bạn chỉ ra, các giải pháp dựa trên tệp phẳng như Ab initio và DataStage Parallel Extender thực sự nhanh hơn, nhưng có thể là các đề xuất sáu chữ số từ trung bình đến cao. IRI CoSort rất trung tâm ETL (theo so sánh ELT của họ) và cách duy nhất hợp lý mà tôi thấy để giải quyết khối lượng chuyển đổi với tốc độ hệ thống tệp, ngoài việc triển khai Hadoop phức tạp. Tôi cũng nghĩ rằng việc ném phần cứng vào vấn đề nói chung (điều mà các thiết bị ELT và DB trong bộ nhớ cũng làm), cũng không có quy mô như chi phí.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.