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

Mục lục:

Anonim

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, ghép nối, v.v.) và cuối cùng tải dữ liệu vào hệ thống Kho dữ liệu. Dạng đầy đủ của ETL là Trích xuất, Biến đổi và Tải.

Thật hấp dẫn khi nghĩ rằng việc tạo một Kho dữ liệu 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 Kho dữ liệu. Điều này khác xa sự thật và đòi hỏi một quy trình ETL phức tạp. Quy trình ETL yêu cầu đầu vào tích cực từ các bên liên quan khác nhau bao gồm nhà phát triển, nhà phân tích, người kiểm tra, giám đốc điều hành hàng đầu và có nhiều thách thức về mặt kỹ thuật.

Để duy trì giá trị của nó như một công cụ cho những người ra quyết định, Hệ thống kho dữ liệu cần phải thay đổi theo những thay đổi của doanh nghiệp. ETL là một 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 nhanh nhẹn, tự động và được ghi chép đầy đủ.

Trong hướng dẫn ETL này, bạn sẽ học-

  • ETL là gì?
  • Tại sao bạn cần ETL?
  • Quy trình ETL trong Kho dữ liệu
  • Bước 1) Chiết xuất
  • Bước 2) Chuyển đổi
  • Bước 3) Đang tải
  • Công cụ ETL
  • Quy trình ETL thực hành tốt nhất

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 các câu hỏi kinh doanh phức tạp có thể được trả lời bằng ví dụ ETL.
  • Kho dữ liệu cung cấp một kho dữ liệu chung
  • ETL cung cấp một 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, Kho dữ liệu sẽ tự động cập nhật.
  • Hệ thống ETL được thiết kế tốt và được lập thành văn bản gần như là yếu tố cần thiết cho sự thành công của một 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.
  • Quy trình ETL cho phép so sánh dữ liệu mẫu giữa nguồn và hệ thống đích.
  • Quy trình ETL có thể thực hiện các phép biến đổi phức tạp và yêu cầu thêm diện tích để 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à kiểu khác nhau để tuân theo 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ì hệ thống hóa và sử dụng lại mà không cần kỹ năng kỹ thuật.

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

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

Quy trình ETL

Bước 1) Chiết xuất

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 khu vực dàn dựng. Các phép biến đổi nếu có được thực hiện trong khu vực dàn để 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 Kho dữ liệu, việc khôi phục sẽ là một thách thức. Khu vực giai đoạn tạo cơ hội xác thực dữ liệu được trích xuất trước khi nó chuyển vào Kho dữ liệu.

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

DBMS, Phần cứng, Hệ điều hành và Giao thức Truyền thông. Các nguồn có thể bao gồm các ứng dụng kế thừa như Máy tính lớn, ứng dụng tùy chỉnh, Thiết bị đầu mối liên hệ như ATM, Công tắc cuộc gọi, tệp văn bản, bảng tính, ERP, dữ liệu từ các 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ật lý. Bản đồ dữ liệu này mô tả mối quan hệ giữa các nguồn và dữ liệu đích.

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

  1. Chiết xuất đầy đủ
  2. Trích xuất một phần- mà 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, việc trích xuất không được ả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 nào 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 Giải nén:

  • Đố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 chìa khóa 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. Do đó, nó cần được làm sạch, lập bản đồ và biến đổi. Trên thực tế, đây là bước quan trọng trong đó quy trình ETL thêm giá trị và thay đổi dữ liệu để có thể tạo ra các báo cáo BI sâu sắc.

Đây là một trong những khái niệm ETL quan trọng, nơi 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ỳ chuyển đổi nào được gọi là di chuyển trực tiếp hoặc truyền qua dữ liệu .

Trong 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. Ví dụ: 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 trong các cột khác nhau. Có thể nối chúng trước khi tải.

Các vấn đề về tích hợp dữ liệu

Sau đây là các vấn đề về tính toàn vẹn của dữ liệu:

  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 được yêu cầu vẫn trống
  6. Sản phẩm không hợp lệ được lấy tại POS do nhập thủ công có thể dẫn đến sai sót.

Việc xác thực đượ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 các quy tắc và bảng tra cứu để chuẩn hóa dữ liệu
  • Chuyển đổi bộ ký tự và xử lý mã hóa
  • Chuyển đổi Đơ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 được nhiều hơn hai chữ số.
  • Xác thực luồng dữ liệu từ khu vực dàn dựng đế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.)
  • Tách một cột thành nhiều cột và hợp nhất nhiều cột thành một cột duy nhất.
  • Chuyển đổi các 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 datawarehouse đích là bước cuối cùng của quy trình ETL. Trong một kho Dữ liệu điển hình, khối lượng dữ liệu khổng lồ cần được tải trong một khoảng thời gian tương đối ngắn (đêm). Do đó, quá trình tải phải được tối ưu hóa cho hiệu suất.

Trong trường hợp tải không thành công, 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 của 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 máy chủ hiện hành.

Các loại tải:

  • Tải ban đầu - điền tất cả các bảng Kho dữ liệu
  • Tải trọng 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 toàn bộ - phân cấp nội dung của một hoặc nhiều bảng và tải lại bằng 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 cũng không bị rỗng.
  • 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à các 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 các báo cáo BI trên bảng dữ liệu và kích thước đã tải.

Công cụ ETL

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

1. MarkLogic:

MarkLogic là một 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 các 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. Nhà tiên tri:

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 RedShift:

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 SQL tiêu chuẩn 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 đối với hàng petabyte dữ liệu có cấu trúc.

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

Dưới đây là danh sách đầy đủ các Công cụ kho dữ liệu hữu ích.

Quy trình ETL thực hành tốt nhất

Sau đây là các phương pháp hay nhất cho các bước của Quy trình ETL:

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

Mọi tổ chức đều muốn có tất cả dữ liệu sạch sẽ, nhưng hầu hết trong số họ không sẵn sàng trả tiền để chờ đợi hoặc không 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 là không nên cố gắng xóa tất cả dữ liệu.

Không bao giờ tẩy rửa mọi thứ:

Luôn có kế hoạch làm sạch 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 yếu tố dữ liệu bẩn.

Để tăng tốc độ xử lý truy vấn, hãy có các chế độ xem và chỉ mục bổ 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 có sự cân bằng giữa khối lượng dữ liệu được lưu trữ và cách 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óm lược:

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