Quy trình ETL (Trích xuất, chuyển đổi và tải) trong kho dữ liệu

ETL là gì?

ETL là một quá trình trích xuất dữ liệu từ các hệ thống nguồn khác nhau, sau đó chuyển đổi dữ liệu (như áp dụng các phép tính, nối, v.v.) và cuối cùng tải dữ liệu vào hệ thống Kho dữ liệu. Hình thức đầy đủ của ETL là Trích xuất, Chuyển đổi và Tải.

Thật hấp dẫn khi nghĩ rằng việc tạo ra một Data warehouse chỉ đơn giản là trích xuất dữ liệu từ nhiều nguồn và tải vào cơ sở dữ liệu của một Data warehouse. Điều này hoàn toàn không đúng và đòi hỏi một quy trình ETL phức tạp. Quy trình ETL đòi hỏi sự tham gia tích cực từ nhiều bên liên quan bao gồm các nhà phát triển, nhà phân tích, người thử nghiệm, giám đốc điều hành cấp cao và là một thách thức về mặt kỹ thuật.

Để duy trì giá trị như một công cụ cho người ra quyết định, hệ thống Kho dữ liệu cần thay đổi theo những thay đổi trong kinh doanh. ETL là hoạt động định kỳ (hàng ngày, hàng tuần, hàng tháng) của hệ thống Kho dữ liệu và cần phải linh hoạt, tự động hóa và được ghi chép đầy đủ.

Tại sao bạn cần ETL?

Có nhiều lý do để áp dụng ETL trong tổ chức:

  • Nó giúp các công ty phân tích dữ liệu kinh doanh của họ để đưa ra các quyết định kinh doanh quan trọng.
  • Cơ sở dữ liệu giao dịch không thể trả lời những câu hỏi kinh doanh phức tạp mà ví dụ ETL có thể trả lời.
  • Kho dữ liệu cung cấp kho lưu trữ dữ liệu chung
  • ETL cung cấp phương pháp di chuyển dữ liệu từ nhiều nguồn khác nhau vào kho dữ liệu.
  • Khi nguồn dữ liệu thay đổi, Data Warehouse sẽ tự động cập nhật.
  • Hệ thống ETL được thiết kế và ghi chép tốt gần như là điều cần thiết cho sự thành công của dự án Kho dữ liệu.
  • Cho phép xác minh các quy tắc chuyển đổi, tổng hợp và tính toán dữ liệu.
  • Quá trình ETL cho phép so sánh dữ liệu mẫu giữa hệ thống nguồn và hệ thống đích.
  • Quá trình ETL có thể thực hiện các chuyển đổi phức tạp và yêu cầu thêm không gian để lưu trữ dữ liệu.
  • ETL giúp di chuyển dữ liệu vào Kho dữ liệu. Chuyển đổi sang các định dạng và loại khác nhau để tuân thủ một hệ thống nhất quán.
  • ETL là một quy trình được xác định trước để truy cập và thao tác dữ liệu nguồn vào cơ sở dữ liệu đích.
  • ETL trong kho dữ liệu cung cấp bối cảnh lịch sử sâu sắc cho doanh nghiệp.
  • Nó giúp cải thiện năng suất vì nó mã hóa và tái sử dụng mà không cần kỹ năng kỹ thuật.

Quy trình ETL trong kho dữ liệu

ETL là một quá trình gồm 3 bước

Quy trình ETL
Quy trình ETL

Bước 1) Khai thác

Trong bước này của kiến ​​trúc ETL, dữ liệu được trích xuất từ ​​hệ thống nguồn vào vùng dàn dựng. Các chuyển đổi nếu có được thực hiện trong vùng dàn dựng để hiệu suất của hệ thống nguồn không bị suy giảm. Ngoài ra, nếu dữ liệu bị hỏng được sao chép trực tiếp từ nguồn vào cơ sở dữ liệu Data warehouse, việc khôi phục sẽ là một thách thức. Vùng dàn dựng cung cấp cơ hội để xác thực dữ liệu đã trích xuất trước khi dữ liệu được chuyển vào Data warehouse.

Kho dữ liệu cần tích hợp các hệ thống có

Hệ quản trị cơ sở dữ liệu, Phần cứng, OperaHệ thống và Giao thức Truyền thông. Các nguồn có thể bao gồm các ứng dụng cũ như Máy tính lớn, ứng dụng tùy chỉnh, thiết bị điểm liên lạc như ATM, bộ chuyển mạch cuộc gọi, tệp văn bản, bảng tính, ERP, dữ liệu từ nhà cung cấp, đối tác và những người khác.

Do đó người ta cần một bản đồ dữ liệu logic trước khi dữ liệu được trích xuất và tải về mặt vật lý. Bản đồ dữ liệu này mô tả mối quan hệ giữa nguồn và dữ liệu đích.

Ba phương pháp trích xuất dữ liệu:

  1. Khai thác toàn bộ
  2. Trích xuất một phần - không có thông báo cập nhật.
  3. Trích xuất một phần- với thông báo cập nhật

Bất kể phương pháp được sử dụng là gì, việc trích xuất sẽ không ảnh hưởng đến hiệu suất và thời gian phản hồi của hệ thống nguồn. Các hệ thống nguồn này là cơ sở dữ liệu sản xuất trực tiếp. Bất kỳ sự chậm lại hoặc khóa đều có thể ảnh hưởng đến lợi nhuận của công ty.

Một số xác nhận được thực hiện trong quá trình trích xuất:

  • Đối chiếu các bản ghi với dữ liệu nguồn
  • Đảm bảo rằng không có thư rác/dữ liệu không mong muốn được tải
  • Kiểm tra kiểu dữ liệu
  • Loại bỏ tất cả các loại dữ liệu trùng lặp/phân mảnh
  • Kiểm tra xem tất cả các phím có ở đúng vị trí hay không

Bước 2) Chuyển đổi

Dữ liệu được trích xuất từ ​​máy chủ nguồn là dữ liệu thô và không thể sử dụng được ở dạng ban đầu. Vì vậy nó cần phải được làm sạch, lập bản đồ và chuyển đổi. Trên thực tế, đây là bước quan trọng trong đó quy trình ETL tăng thêm giá trị và thay đổi dữ liệu để có thể tạo báo cáo BI sâu sắc.

Đây là một trong những khái niệm ETL quan trọng trong đó bạn áp dụng một tập hợp các hàm trên dữ liệu được trích xuất. Dữ liệu không yêu cầu bất kỳ sự biến đổi nào được gọi là di chuyển trực tiếp or truyền dữ liệu.

Ở bước chuyển đổi, bạn có thể thực hiện các thao tác tùy chỉnh trên dữ liệu. Chẳng hạn, nếu người dùng muốn tổng doanh thu bán hàng không có trong cơ sở dữ liệu. Hoặc nếu họ và tên trong bảng nằm ở các cột khác nhau. Có thể nối chúng trước khi tải.

Sự cố tích hợp dữ liệu
Sự cố tích hợp dữ liệu

Sau đây là Dữ liệu Integrity Vấn đề:

  1. Cách viết khác nhau của cùng một người như Jon, John, v.v.
  2. Có nhiều cách để biểu thị tên công ty như Google, Google Inc.
  3. Sử dụng các tên khác nhau như Cleaveland, Cleveland.
  4. Có thể có trường hợp các số tài khoản khác nhau được tạo bởi các ứng dụng khác nhau cho cùng một khách hàng.
  5. Trong một số dữ liệu, các tệp yêu cầu vẫn trống
  6. Sản phẩm không hợp lệ được thu thập tại POS dưới dạng nhập thủ công có thể dẫn đến sai sót.

Việc xác nhận được thực hiện trong giai đoạn này

  • Lọc - Chỉ chọn một số cột nhất định để tải
  • Sử dụng quy tắc và bảng tra cứu để chuẩn hóa dữ liệu
  • Xử lý chuyển đổi và mã hóa bộ ký tự
  • Chuyển đổi các đơn vị đo lường như Chuyển đổi ngày giờ, chuyển đổi tiền tệ, chuyển đổi số, v.v.
  • Kiểm tra xác thực ngưỡng dữ liệu. Ví dụ: tuổi không thể nhiều hơn hai chữ số.
  • Xác thực luồng dữ liệu từ khu vực tổ chức đến các bảng trung gian.
  • Các trường bắt buộc không được để trống.
  • Làm sạch (ví dụ: ánh xạ NULL thành 0 hoặc Giới tính Nam thành “M” và Nữ thành “F”, v.v.)
  • Chia một cột thành bội số và hợp nhất nhiều cột thành một cột duy nhất.
  • Chuyển đổi hàng và cột,
  • Sử dụng tra cứu để hợp nhất dữ liệu
  • Sử dụng bất kỳ xác thực dữ liệu phức tạp nào (ví dụ: nếu hai cột đầu tiên trong một hàng trống thì nó sẽ tự động từ chối xử lý hàng đó)

Bước 3) Đang tải

Tải dữ liệu vào cơ sở dữ liệu kho dữ liệu đích là bước cuối cùng của quy trình ETL. Trong Kho dữ liệu thông thường, khối lượng dữ liệu khổng lồ cần được tải trong khoảng thời gian tương đối ngắn (đêm). Do đó, quá trình tải nên được tối ưu hóa cho hiệu suất.

Trong trường hợp tải bị lỗi, cơ chế khôi phục phải được cấu hình để khởi động lại từ điểm bị lỗi mà không làm mất tính toàn vẹn dữ liệu. Quản trị viên Kho dữ liệu cần theo dõi, tiếp tục, hủy tải theo hiệu suất hiện hành của máy chủ.

Các loại tải:

  • Tải ban đầu - điền vào tất cả các bảng Kho dữ liệu
  • tải gia tăng - áp dụng các thay đổi liên tục khi cần thiết theo định kỳ.
  • Làm mới hoàn toàn —xóa nội dung của một hoặc nhiều bảng và tải lại dữ liệu mới.

tải xác minh

  • Đảm bảo rằng dữ liệu trường khóa không bị thiếu hoặc không có giá trị.
  • Kiểm tra các chế độ xem mô hình dựa trên các bảng mục tiêu.
  • Kiểm tra các giá trị kết hợp và số đo được tính toán.
  • Kiểm tra dữ liệu trong bảng thứ nguyên cũng như bảng lịch sử.
  • Kiểm tra báo cáo BI trên bảng dữ kiện và thứ nguyên đã tải.

Công cụ ETL

Có rất nhiều công cụ ETL đang có sẵn trên thị trường. Dưới đây là một số nổi bật nhất:

1. MarkLogic:

MarkLogic là giải pháp lưu trữ dữ liệu giúp tích hợp dữ liệu dễ dàng hơn và nhanh hơn bằng cách sử dụng một loạt tính năng dành cho doanh nghiệp. Nó có thể truy vấn các loại dữ liệu khác nhau như tài liệu, mối quan hệ và siêu dữ liệu.

https://www.marklogic.com/product/getting-started/


2. Oracle:

Oracle là cơ sở dữ liệu hàng đầu trong ngành. Nó cung cấp nhiều lựa chọn về giải pháp Kho dữ liệu cho cả tại chỗ và trên đám mây. Nó giúp tối ưu hóa trải nghiệm của khách hàng bằng cách tăng hiệu quả hoạt động.

https://www.oracle.com/index.html


3. Amazon đỏShift:

Amazon Redshift là công cụ Datawarehouse. Đây là một công cụ đơn giản và tiết kiệm chi phí để phân tích tất cả các loại dữ liệu bằng cách sử dụng tiêu chuẩn SQL và các công cụ BI hiện có. Nó cũng cho phép chạy các truy vấn phức tạp trên petabyte dữ liệu có cấu trúc.

https://aws.amazon.com/redshift/?nc2=h_m1

Đây là danh sách đầy đủ các thông tin hữu ích Công cụ kho dữ liệu.

Quy trình ETL thực tiễn tốt nhất

Sau đây là các biện pháp thực hành tốt nhất cho các bước của Quy trình ETL:

Đừng bao giờ cố gắng xóa tất cả dữ liệu:

Mọi tổ chức đều mong muốn tất cả dữ liệu đều sạch sẽ, nhưng hầu hết họ chưa sẵn sàng trả tiền để chờ đợi hoặc chưa sẵn sàng chờ đợi. Để làm sạch tất cả sẽ mất quá nhiều thời gian, vì vậy tốt hơn hết bạn không nên cố gắng xóa tất cả dữ liệu.

Không bao giờ làm sạch bất cứ thứ gì:

Luôn có kế hoạch dọn dẹp thứ gì đó vì lý do lớn nhất để xây dựng Kho dữ liệu là cung cấp dữ liệu sạch hơn và đáng tin cậy hơn.

Xác định chi phí làm sạch dữ liệu:

Trước khi làm sạch tất cả dữ liệu bẩn, điều quan trọng là bạn phải xác định chi phí làm sạch cho mọi thành phần dữ liệu bẩn.

Để tăng tốc độ xử lý truy vấn, có các chế độ xem và chỉ mục phụ trợ:

Để giảm chi phí lưu trữ, hãy lưu trữ dữ liệu tóm tắt vào băng đĩa. Ngoài ra, cần phải có sự cân bằng giữa khối lượng dữ liệu được lưu trữ và mức sử dụng chi tiết của nó. Đánh đổi ở mức độ chi tiết của dữ liệu để giảm chi phí lưu trữ.

Tổng kết

  • ETL là viết tắt của Trích xuất, Chuyển đổi và Tải.
  • ETL cung cấp phương pháp di chuyển dữ liệu từ nhiều nguồn khác nhau vào một kho dữ liệu.
  • Trong bước trích xuất đầu tiên, dữ liệu được trích xuất từ ​​hệ thống nguồn vào khu vực tổ chức.
  • Ở bước chuyển đổi, dữ liệu trích xuất từ ​​nguồn sẽ được làm sạch và chuyển đổi.
  • Tải dữ liệu vào kho dữ liệu đích là bước cuối cùng của quy trình ETL.