3

Trong vài thập kỷ qua, ETL (trích xuất, chuyển đổi, tải) là phương pháp truyền thống để lưu trữ và phân tích dữ liệu. Phương pháp ELT (trích xuất, tải, biến đổi) thay đổi mô hình cũ. Nhưng, chuyện gì đang thực sự xảy ra khi các trò chơi điện tử và các trò chơi được chuyển đổi?

ETL và ELT giải quyết cùng một nhu cầu:

Hàng tỷ dữ liệu và sự kiện cần được thu thập, xử lý và phân tích bởi các doanh nghiệp. Dữ liệu cần phải sạch sẽ, dễ quản lý và sẵn sàng phân tích. Nó cần phải được làm giàu, đúc và biến đổi. Để làm cho nó có ý nghĩa.

Tuy nhiên, cách thức của thế giới là những gì khác biệt và dẫn đến những khả năng mới trong nhiều dự án dữ liệu hiện đại. Có sự khác biệt về cách quản lý dữ liệu thô, khi xử lý được thực hiện và cách phân tích được thực hiện.

Trong bài viết này, chúng tôi sẽ chứng minh sự khác biệt về công nghệ của ETL và ELT, cho thấy các ví dụ phân tích và kỹ thuật dữ liệu của hai phương pháp và tóm tắt 10 ưu và nhược điểm .

Sự khác biệt về công nghệ Cho phép căn chỉnh đầu tiên trên 3 giai đoạn - E, T và L:

  • Khai thác : Lấy dữ liệu thô từ nhóm dữ liệu không có cấu trúc và di chuyển nó vào kho lưu trữ dữ liệu theo giai đoạn tạm thời.
  • Chuyển đổi : Cấu trúc, làm giàu và chuyển đổi dữ liệu thô để phù hợp với nguồn đích.
  • Tải : Tải dữ liệu có cấu trúc vào kho dữ liệu sẽ được phân tích và sử dụng bởi các công cụ kinh doanh thông minh (BI).

ETL so với ELT

ETL yêu cầu quản lý dữ liệu thô, bao gồm khai thác thông tin cần thiết và chạy các biến đổi phù hợp để cuối cùng phục vụ nhu cầu kinh doanh. Mỗi giai đoạn - trích xuất, chuyển đổi và tải - đòi hỏi sự tương tác của các kỹ sư và nhà phát triển dữ liệu và xử lý các hạn chế về dung lượng của kho dữ liệu truyền thống. Sử dụng ETL, các nhà phân tích và người dùng BI khác đã quen với việc chờ đợi , vì việc truy cập thông tin đơn giản không có sẵn cho đến khi toàn bộ quá trình ETL được hoàn thành.

Theo phương pháp ELT, sau khi bạn trích xuất dữ liệu của mình, bạn ngay lập tức bắt đầu giai đoạn tải - di chuyển tất cả các nguồn dữ liệu vào một kho lưu trữ dữ liệu tập trung duy nhất. Với các công nghệ cơ sở hạ tầng ngày nay sử dụng đám mây, giờ đây các hệ thống có thể hỗ trợ lưu trữ lớn và tính toán có thể mở rộng. Do đó, một kho dữ liệu lớn, mở rộng và xử lý nhanh là gần như vô tận để duy trì tất cả các dữ liệu thô được trích xuất.

Theo cách này, phương pháp ELT cung cấp một giải pháp thay thế hiện đại cho ETL . Tuy nhiên, nó vẫn đang phát triển. Do đó, các khung và công cụ hỗ trợ quá trình ELT không phải lúc nào cũng được phát triển đầy đủ để tạo điều kiện cho việc tải và xử lý lượng lớn dữ liệu. Ưu điểm rất hứa hẹn - cho phép truy cập không giới hạn vào tất cả dữ liệu của bạn bất cứ lúc nào và tiết kiệm các nỗ lực và thời gian của nhà phát triển cho người dùng và nhà phân tích BI .

Một ví dụ thực hành

Dưới đây là một ví dụ để minh họa sự khác biệt về công nghệ giữa ETL và ELT và đi sâu vào chi tiết.

Trình diễn của chúng tôi sẽ sử dụng hai bảng dữ liệu : một cho mua hàng và một cho các loại tiền tệ, như sau:

Bảng mua hàng
ip số tiền tiền tệ
2.248.0.0 100 EURO
2.248.0.0 200 GBP
72.229.28.185 300

đô la Mỹ

Bảng tiền tệ

tiền tệ tỷ lệ
EURO 1,12
GBP 1.3
đô la Mỹ

1

Để hiểu các nguyên tắc cơ bản, chúng ta sẽ xem xét cách mẫu này được xử lý trong ETL và ELT . Đối với mỗi bảng, chúng tôi sẽ trình bày cách tính một bảng tóm tắt bằng hai bảng này, bao gồm cả mua trung bình cho mỗi quốc gia (dựa trên địa chỉ IP được cung cấp).

Chuyển đổi dữ liệu ETL trên dữ liệu trích xuất

Trong quy trình ETL, giai đoạn chuyển đổi áp dụng cho một loạt các quy tắc hoặc hàm trên dữ liệu được trích xuất để tạo bảng sẽ được tải.

Dưới đây là một số mã để trình bày quy trình chuyển đổi dữ liệu sơ bộ cho ETL:

def transform(data):
countries = {}
for d in data:
country = ip2country(d["ip"])
amount = d["amount"] \\\\\* currencies[p["currency"]] # where do we keep these?
acc = countries.setdefault(country, {"sum": 0, "count": 0})
acc["sum"] += amount
acc["count"] += 1

# compute the averages
output = []
for k, acc in countries:
output.push({
"country": k,
"amount": acc["sum"] / acc["count"]
})
return output

Sử dụng tập lệnh này, chúng tôi đang ánh xạ các địa chỉ IP đến quốc gia liên quan của họ. Chúng tôi đang lấy một giá trị tính toán mới 'số tiền' bằng cách nhân các giá trị của cả hai nhóm bảng nguồn với thuộc tính tiền tệ. Sau đó, chúng tôi sẽ sắp xếp dữ liệu theo cột quốc gia, tham gia dữ liệu từ bảng mua hàng và tiền tệ và tổng hợp các giá trị trung bình của mỗi quốc gia.

Việc chuyển đổi dữ liệu này dẫn đến một bảng mới với số tiền trung bình cho mỗi quốc gia:

Số tiền trung bình mỗi quốc gia

Quốc gia số tiền
Hoa Kỳ 300
Thụy Điển

372

Chuyển đổi dữ liệu ELT tại thời gian chạy truy vấn

Trái ngược với ETL, với  ELT, tất cả dữ liệu đã được tải và có thể được sử dụng tại bất kỳ thời điểm nào.

Do đó, việc chuyển đổi được thực hiện trong thời gian chạy truy vấn:

SELECT IP2COUNTRY(ip) as country, AVG(amount \\\\\* currencies.rate as amount)
NATURAL JOIN currency
GROUP BY 1;

Trong truy vấn, chúng tôi đang chọn địa chỉ IP theo quốc gia, nhân số tiền từ bảng mua hàng và tỷ lệ từ bảng tiền tệ để tính số tiền trung bình. Sau đó, tham gia cả hai bảng dựa trên các cột chung của cả hai bảng và nhóm theo quốc gia.

Điều này sẽ dẫn đến bảng đầu ra chính xác giống như trong quy trình ETL ở trên. Tuy nhiên, trong trường hợp này, vì tất cả dữ liệu thô đã được tải, chúng tôi có thể dễ dàng tiếp tục chạy các truy vấn khác trong cùng môi trường để kiểm tra và xác định các biến đổi dữ liệu tốt nhất có thể phù hợp với yêu cầu nghiệp vụ.

Điểm mấu chốt của ví dụ thực hành này

ELT hiệu quả hơn ETL cho mã phát triển . Ngoài ra, ELT linh hoạt hơn nhiều so với ETL. Với ELT, người dùng có thể chạy các biến đổi mới cũng như kiểm tra và tăng cường truy vấn trực tiếp trên dữ liệu thô theo yêu cầu - mà không cần thời gian và độ phức tạp mà chúng tôi đã quen với ETL.

Quản lý kho dữ liệu và hồ dữ liệu

Theo Gartner , nhu cầu quản lý dữ liệu và tích hợp dữ liệu của các doanh nghiệp ngày nay đòi hỏi cả dữ liệu nhỏ và lớn, có cấu trúc và không cấu trúc . Đây là những gì họ đề xuất về những gì cần thay đổi trong cách làm việc:

Nhóm BI truyền thống cần tiếp tục phát triển các thực tiễn tốt nhất rõ ràng, với các mục tiêu kinh doanh được hiểu rõ. Có một chế độ BI thứ hai trôi chảy hơn và rất lặp đi lặp lại với phát hiện dữ liệu không lường trước và được phép thất bại nhanh chóng.

Kiểu trò chuyện này đã tạo ra rất nhiều cuộc nói chuyện trong ngành về kho dữ liệu so với hồ dữ liệu. Khái niệm hồ dữ liệu là một cách suy nghĩ mới về dữ liệu lớn cho dữ liệu phi cấu trúc được tạo ra để mở rộng vô hạn - sử dụng các công cụ như Hadoop để thực hiện chế độ BI thứ hai được mô tả bởi Gartner. Tuy nhiên, mặc dù doanh nghiệp vẫn sử dụng kho dữ liệu để hỗ trợ mô hình truyền thống như ETL, kho dữ liệu hiện đại có thể mở rộng như Redshift và Bigquery có thể được sử dụng để thực hiện mô hình hiện đại ELT với tất cả các lợi ích vốn có của nó đã đề cập ở trên.

IBM nói về 5 điều mà các dự án dữ liệu lớn hiện đại yêu cầu - cho thấy sự cần thiết của các khái niệm dữ liệu mới như hồ dữ liệu. Đó là 5 V:

  1. Âm lượng: khối lượng dữ liệu (thô)
  2. Giống: đa dạng (ví dụ: có cấu trúc, không cấu trúc, bán cấu trúc) của dữ liệu
  3. Vận tốc: tốc độ xử lý dữ liệu, tiêu thụ hoặc phân tích dữ liệu
  4. Độ chính xác: mức độ tin cậy vào dữ liệu
  5. (Giá trị): giá trị đằng sau dữ liệu

ETL tiếp tục là một kết hợp tốt khi xử lý các kho dữ liệu cũ - xem xét các tập hợp con nhỏ hơn và chuyển chúng vào kho dữ liệu. Nhưng thật khó để cung cấp giải pháp với ETL cho 5 V khi bạn đi xuống danh sách - làm thế nào để đối phó với khối lượng? Các dữ liệu phi cấu trúc? Tốc độ? v.v.

Cách tiếp cận ELT mở ra cơ hội làm việc trong môi trường BI lặp, trôi chảy hơn do tính hiệu quả và linh hoạt của nó. ELT hỗ trợ cả kho dữ liệu và mở rộng đến khái niệm hồ dữ liệu - cho phép kết hợp dữ liệu phi cấu trúc vào giải pháp BI của nó.

Tóm tắt 10 ưu và nhược điểm

Để tóm tắt hai cách tiếp cận, chúng tôi đã nhóm các khác biệt thành 10 tiêu chí:

1. Thời gian - Tải

ETL: Sử dụng khu vực và hệ thống dàn, thêm thời gian để tải dữ liệu

ELT: Tất cả trong một hệ thống, chỉ tải một lần

2. Thời gian - Biến đổi

ETL: Cần chờ đợi, đặc biệt là đối với các kích thước dữ liệu lớn - khi dữ liệu tăng lên, thời gian chuyển đổi tăng

ELT: Tất cả trong một hệ thống, tốc độ không phụ thuộc vào kích thước dữ liệu

3. Thời gian - Bảo trì

ETL: Bảo trì cao - lựa chọn dữ liệu để tải và chuyển đổi và phải thực hiện lại nếu bị xóa hoặc muốn tăng cường kho lưu trữ dữ liệu chính

ELT: Bảo trì thấp - tất cả dữ liệu luôn có sẵn

4. Độ phức tạp thực hiện

ETL: Ở giai đoạn đầu, cần ít không gian hơn và kết quả là sạch sẽ

ELT: Yêu cầu kiến ​​thức chuyên sâu về các công cụ và thiết kế chuyên gia của kho lưu trữ lớn chính

5. Phân tích và phong cách xử lý

ETL: Dựa trên nhiều tập lệnh để tạo chế độ xem - xóa chế độ xem có nghĩa là xóa dữ liệu

ELT: Tạo chế độ xem adhoc - chi phí thấp để xây dựng và duy trì

6. Hạn chế hoặc hạn chế dữ liệu trong cung cấp

ETL: Bằng cách giả định và chọn dữ liệu tiên nghiệm

ELT: Bằng CTNH (không có) và chính sách lưu giữ dữ liệu

7. Hỗ trợ kho dữ liệu

ETL: Mô hình di sản phổ biến được sử dụng cho dữ liệu tại chỗ và quan hệ, dữ liệu có cấu trúc

ELT: Được thiết kế để sử dụng trong cơ sở hạ tầng đám mây có thể mở rộng để hỗ trợ các nguồn dữ liệu lớn có cấu trúc, không cấu trúc như vậy

8. Hỗ trợ dữ liệu hồ

ETL: Không phải là một phần của cách tiếp cận

ELT: Cho phép sử dụng hồ với dữ liệu phi cấu trúc được hỗ trợ

9. Khả năng sử dụng

ETL: Bảng cố định, Dòng thời gian cố định, Được sử dụng chủ yếu bởi CNTT

ELT: Ad Hoc, Agility, Flexility, Có thể sử dụng bởi tất cả mọi người từ nhà phát triển đến nhà tích hợp công dân

10. Chi phí hiệu quả

ETL: Không hiệu quả về chi phí cho các doanh nghiệp vừa và nhỏ

ELT: Có thể mở rộng và có sẵn cho tất cả các quy mô kinh doanh bằng các giải pháp SaaS trực tuyến 

Suy nghĩ cuối cùng

ETL đã lỗi thời. Nó đã giúp đối phó với sự hạn chế của cơ sở hạ tầng trung tâm dữ liệu và cứng nhắc truyền thống mà với đám mây không còn là rào cản ngày nay. Trong các tổ chức có tập dữ liệu lớn thậm chí chỉ vài terabyte, thời gian tải có thể mất hàng giờ, tùy thuộc vào độ phức tạp của quy tắc chuyển đổi.

ELT là một phần quan trọng trong tương lai của kho dữ liệu. Với ELT, các doanh nghiệp thuộc mọi quy mô đều có thể tận dụng các công nghệ hiện tại. Bằng cách phân tích các nhóm dữ liệu lớn hơn với sự linh hoạt hơn và ít bảo trì hơn, các doanh nghiệp có được những hiểu biết chính để tạo ra lợi thế cạnh tranh thực sự và vượt trội trong kinh doanh.

Bạn muốn chia sẻ những suy nghĩ của bạn? Theo dõi cuộc trò chuyện trên Twitter .

|