Blog

Tổng quan về SQL Server Integration Services (SSIS)

1. Giới thiệu SSIS

SQL Server Integration Service (SSIS) là một thành phần của phần mềm cơ sở dữ liệu Microsoft SQL Server có thể được sử dụng để thực hiện nhiều tác vụ di chuyển dữ liệu. SSIS là một công cụ lưu trữ dữ liệu linh hoạt và nhanh chóng được sử dụng để trích xuất, tải và chuyển đổi dữ liệu như làm sạch, tổng hợp, hợp nhất dữ liệu, v.v.

Nó giúp bạn dễ dàng di chuyển dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác. SSIS có thể trích xuất dữ liệu từ nhiều nguồn khác nhau như cơ sở dữ liệu SQL Server, tệp Excel, cơ sở dữ liệu Oracle và DB2, v.v.

SSIS cũng bao gồm các công cụ đồ họa & trình hướng dẫn để thực hiện các chức năng của quy trình công việc như gửi thư email, hoạt động FTP, nguồn dữ liệu và đích.

2. Lịch sử của SSIS

  • SQL Server 2005: Microsoft đã quyết định cải tiến DTS. Tuy nhiên, thay vì cập nhật DTS, họ quyết định đặt tên cho sản phẩm là Dịch vụ Tích hợp (SSIS).
  • SQL Server 2008: Nhiều cải tiến hiệu suất đã được thực hiện cho SSIS. Các nguồn mới cũng được giới thiệu.
  • SQL Server 2012: Đây là bản phát hành lớn nhất cho SSIS. Với phiên bản này, khái niệm về mô hình triển khai dự án đã được giới thiệu. Nó cho phép toàn bộ dự án và các gói của chúng được triển khai tới một máy chủ, thay cho các gói cụ thể.
  • SQL Server 2014: Trong phiên bản này, không có nhiều thay đổi được thực hiện cho SSIS. Nhưng các nguồn hoặc chuyển đổi mới đã được thêm vào, được thực hiện bằng cách tải xuống riêng biệt thông qua CodePlex hoặc Gói tính năng SQL Server.
  • SQL Server 2016: Phiên bản có thêm các nguồn bổ sung, đặc biệt là đám mây và các nguồn dữ liệu lớn

3. Một số định nghĩa cơ bản

  • Flow Control (Luồng điều khiển) : Một luồng điều khiển định nghĩa một luồng công việc của các nhiệm vụ được thực thi, thường là một thứ tự cụ thể. Ở đây ta hiểu luồng điều khiển chính là luồng đi của các job
  • Data Flow (Luồng dữ liệu): Luồng dữ liệu xác định luồng dữ liệu từ nguồn đến đích. Ở đây ta hiểu luồng dữ liệu là luồng để ta đổ dữ liệu từ nguồn dữ liệu tới đích trong quá trình ETL
  • Variables (Biến): Là một thành phần trong SSIS được gán nhằm đại diện cho một khối dữ liệu (data) nào đó. Người dung thực thi câu lệnh, thủ tục hoặc query rồi sau đó gán giá trị đó vào biến.
  • Toolbox: Là nơi chứa toàn bộ các tool ETL của SSIS
  • Excecute SQL Task: Execute SQL Task là một tool trong SSIS toolbox nhằm mục đích chạy các câu lệnh SQL hoặc các thủ tục được lưu trữ từ một gói. Tác vụ có thể chứa một câu lệnh SQL đơn hoặc nhiều câu lệnh SQL chạy tuần tự. Bạn có thể sử dụng tác vụ Execute SQL Task cho các mục đích sau:
    • Cắt bớt một bảng hoặc khung nhìn để chuẩn bị chèn dữ liệu.
    • Tạo, thay đổi và thả các đối tượng cơ sở dữ liệu như bảng và khung nhìn.
    • Tạo lại bảng thực tế và thứ nguyên trước khi tải dữ liệu vào chúng.
    • Chạy các thủ tục được lưu trữ. Nếu câu lệnh SQL gọi thủ tục đã lưu trữ trả về kết quả từ một bảng tạm thời, hãy sử dụng tùy chọn WITH RESULT SETS để xác định siêu dữ liệu cho tập kết quả.
    • Execute SQL Task có khả năng lưu rowset trả về từ một truy vấn vào một biến.
  • Sequence Container: Vùng chứa Sequence Container là một tool trong control flow toolbox. Nhiệm vụ của nó là nhóm các tool trong control flow thành nhiều luồng điều khiển riêng biệt, trong job thì mỗi Sequence Container có thể được coi là một luồng nghiệp vụ. Sử dụng Sequence Container nhằm nhóm các nhiệm vụ riêng biệt vào chung một khu để dễ nhìn. Mỗi Sequence Container chứa một hoặc nhiều nhiệm vụ và các thùng chứa chạy trong luồng điều khiển gói tổng thể. Có nhiều lợi ích khi sử dụng Sequence Container:
    • Vô hiệu hóa các nhóm nhiệm vụ để tập trung gỡ lỗi gói trên một tập hợp con của luồng điều khiển gói.
    • Quản lý các thuộc tính trên nhiều tác vụ trong một vị trí bằng cách đặt thuộc tính trên vùng chứa Sequence thay vì trên các tác vụ riêng lẻ
    • Cung cấp phạm vi cho các biến mà một nhóm các nhiệm vụ và vùng chứa liên quan sử dụng.
    • Nhóm nhiều nhiệm vụ để bạn có thể dễ dàng quản lý chúng bằng cách thu gọn và mở rộng vùng chứa Sequence.
  • Send Email Task (Gửi mail): Tác vụ này giúp gửi mail một cách tự động trong quá trình ETL.
  • OLE DB Source (Nguồn dữ liệu): Là một tool trong toolbox của Data Flow Task, có nhiệm vụ giúp ta đổ dữ liệu từ nguồn dữ liệu vào SSIS.
  • Data Conversion (Chuyển đổi dữ liệu): Nhiệm vụ của tool này là chuyển đổi kiểu dữ liệu cho các trường dữ liệu từ dữ liệu nguồn
  • Row Count (Đếm dòng): Tool này nhằm tác dụng đếm số bản ghi dữ liệu từ nguồn dữ liệu
  • Oracle Destination (Dữ liệu đích): Tool này có tác dụng là đẩy dữ liệu sau khi đã xử lý từ nguồn sang đich.
  • Derived Column (Xử lý cột): Tool này chứa tất cả các hàm nhằm xử lý cột ví dụ như Substr, Isnull, Isnotnull, len, trim…

4. Kết thúc

Inda hi vọng bài viết này có thể giúp cho bạn đọc có cái nhìn tổng quan hơn và hiểu hơn về SSIS. Nắm được một số định nghĩa cơ bản trong SSIS.

Nguồn: Internet

Leave a Reply

Your email address will not be published. Required fields are marked *