You are on page 1of 27

1

ETL - SSIS

Trình bày: Tạ Minh Tùng


SĐT: 0354.610.796

2
NỘI DUNG CHÍNH

1 Trích chọn dữ liệu

2 Chuyển đổi dữ liệu

3 Tải dữ liệu

4 SQL Server Intergration Services

3
ETL (1)

4
ETL (2)

 Khi nào sử dụng ETL?


 Định kỳ (hàng ngày, hàng tuần, hàng tháng,…)
 Realtime: Ngay lập tức khi có sự thay đổi của dữ liệu nguồn
 Tần suất sử dụng ETL được thiết lập bởi người quản trị dựa trên yêu cầu người dùng và thông lượng mạng
 Có thể dùng các chính sách khác nhau cho các nguồn dữ liệu khác nhau

5
Các thách thức ETL

 Các thách thức khi ETL


 ETL được dùng để tích hợp các hệ thống đa dạng với nhau (CSDL, hệ điều hành, phần cứng, phương
thức giao tiếp)
 Chuyển dữ liệu từ nguồn tới đích nhanh nhất có thể
 Cho phép khôi phục tại điểm mắc lỗi mà không cần thực hiện lại toàn bộ tiến trình

6
ETL – Vùng Stagging (1)

 Vùng Stagging: Vùng đệm dùng để xử lý dữ liệu trong quá trình ETL
 Chỉ các tiến trình ETL mới có quyền đọc, ghi vào vùng stagging.
 Người dùng thông thường và các báo cáo không được phép truy cập vào vùng staging

7
ETL – Vùng Stagging (2)

 Vùng Staging được cấu trúc để giữ dữ liệu


 Các file phẳng/Flat files
 Các tập dữ liệu XML
 Các bảng quan hệ

8
Trích chọn dữ liệu (1)

 Trích chọn dữ liệu


 Dữ liệu cần được lấy từ các nguồn và đặt vào DWH
 Có 2 cách để lấy dữ liệu từ nguồn
 Sử dụng các công cụ của bản thân nguồn dữ liệu để xuất dữ liệu. Với cách thức này dữ liệu thường
được xuất ra file sau đó mới chuyển vào CSDL trung gian (vùng Stagging)
 Chương trình bên ngoài trích xuất dữ liệu từ nguồn. Dữ liệu thường được chuyển trực tiếp vào
CSDL trung gian (vùng Stagging)

9
Trích chọn dữ liệu (2)

 Các bước trích chọn dữ liệu


 Khởi tạo trích chọn dữ liệu (Initial extraction)
• Xây dựng ánh xạ logic
• Trích chọn dữ liệu lần đầu
 Trích chọn dữ liệu các lần sau (Ongoing extraction)
• Xác định dữ liệu cần trích chọn:
- Chỉ dữ liệu mới
- Chỉ dữ liệu thay đổi
- Lấy cả dữ liệu đã bị xóa

10
Trích chọn dữ liệu (3)

 Xây dựng ánh xạ logic: Xây dựng ánh xạ kết nối dữ liệu nguồn và dữ liệu đích
 Pha khám phá dữ liệu: Thu thập và tài liệu hóa các hệ thống nguồn dữ liệu: databases, tables, relations,
cardinality, keys, data types
 Pha Phát hiện các dị thường trong dữ liệu nguồn

11
Trích chọn dữ liệu (4)

 Trích chọn dữ liệu lần đầu


 Trích chọn dữ liệu lần sau
 Phát hiện thay đổi dữ liệu
• Sử dụng các cột ghi nhận thay đổi
• Lưu ngày và giờ một bản ghi được thêm hay bị biến đổi
• Phát hiện thay đổi dựa trên nhãn thời gian lớn hơn ngày trích chọn cuối cùng
• Quá trình loại bỏ
• Giữ nguyên chính xác một bản sao của mỗi lần trích chọn trước
• Trong lần chạy tiếp, so sánh toàn bộ các bảng nguồn với bản sao trích chọn
• Chỉ các phần khác nhau được chuyển sang các bước xử lý tiếp theo

12
Chuyển đổi dữ liệu (1)

 Chuyển đổi dữ liệu


 Sử dụng các luật, các bảng danh mục hoặc liên kết với dữ liệu khác để chuyển đổi dữ liệu nguồn vào
trạng thái mong muốn
 Các bước chuyển đổi dữ liệu
 Gồm các bước chính
• Làm sạch dữ liệu: Dữ liệu sau khi trích xuất từ nguồn có thể bị bẩn cần làm sạch
• Tổng hợp dữ liệu: Chuẩn bị dữ liệu để sẵn sàng đưa vào DWH

13
Chuyển đổi dữ liệu (2)

 Làm sạch dữ liệu: xử lý dữ liệu bị bẩn(dirty), tăng chất lượng dữ liệu


 Có thể bao gồm các công việc thủ công
 Có thể được hỗ trợ bởi các giải thuật trí tuệ nhân tạo và ghi nhận mẫu
 Các tính chất của dữ liệu có chất lượng
 Chính xác: các giá trị và mô tả của dữ liệu thể hiện chân thực các đối tượng
 Không nhập nhằng: các giá trị và mô tả dữ liệu mang một ý nghĩa duy nhất
 Nhất quán: các giá trị và mô tả sử dụng một ký hiệu thống nhất
 Hoàn chỉnh: Đối tượng có đầy đủ các giá trị và mô tả

14
Chuyển đổi dữ liệu (3)

 Tổng hợp dữ liệu:


- Chuẩn hóa dữ liệu
- Loại bỏ trùng lặp
- Tổng hợp dữ liệu trên từng nhóm bản ghi

15
Tải dữ liệu (1)

 Tải dữ liệu : Tiến trình tải dữ liệu có thể chia thành 2 dạng sau:
 Tải lần đầu
 Cung cấp các bảng dimension
 Cung cấp các bảng fact
 Tải các lần sau
 Phải được lập kế hoạch và xử lý theo một thứ tự nhất định để đảm bảo tính toàn vẹn, hoàn chỉnh
và đáp ứng các mức tin cậy
 Là bước lập kế hoạch cẩn thận nhất trong tiến trình vận hành DWH. Ở đây có thể xảy ra:
• Lỗi trùng lặp dữ liệu
• Tăng sự không nhất quán trong dữ liệu
 Cần phân biệt dữ liệu cập nhật và chèn thêm
 Tải dữ liệu cập nhật
 Tải chèn thêm sử dụng bulk loaders
 Xây dựng lại các chỉ mục

16
Tải dữ liệu (2)

 Các vấn đề khi tải dữ liệu


 Khối lượng dữ liệu lớn cần được tải
 Khung thời gian ngắn
 Cho phép người điều hành hệ thống giám sát, tạm dừng, tiếp tục làm và thay đổi tốc độ tải
 Khôi phục lại và tiếp tục từ vị trí lỗi mà không làm mất tính toàn vẹn

17
SQL Server Integration Service

 SSIS là platform cho các hoạt động ETL


 Được cài đặt như tính năng của SQL Server
 Cung cấp các công cụ mở rộng:
 Gửi mail
 Hệ thống quản lý file
 Web service, …

18
Kiến trúc SSIS

19
Các thành phần SSIS (1)

20
Các thành phần SSIS (2)

 Control Flow

21
Điều kiện thực hiện trong Control Flow

 Điều kiện luồng điều khiển


 Success
 Failure
 Completion
 Điều kiện logic
 AND
 OR

22
Ví dụ Control Flow

23
Các thành phần SSIS (2)

 Data Flow

24
Kiểu dữ liệu của data (1)

 Kiểu dữ liệu dạng số

25
Kiểu dữ liệu của data (2)

 Kiểu dữ liệu dạng chuỗi và thời gian

26
27

You might also like