Đây là một ví dụ minh họa một cách đầy đủ nhất cho việc kết hợp phân tích dữ liệu với SQL SERVER BUSINESS INTELLIGENCE.
Cách thức để tạo nên WINDOWS SERVICE application
2. NỘI DUNG TRÌNH BÀY
2
I. GIỚI THIỆU GIẢI PHÁP NGHIỆP VỤ THÔNG MINH
II.CÔNG CỤ SQL SERVER BUSINESS INTELLIGENCE
IV. SSIS PACKAGE VỚI SCHEDULE WINDOWS SERVICE
VII. THẢO LUẬN
VIII. DEMO
4. GIỚI THIỆU GIẢI PHÁP NGHIỆP VỤ THÔNG MINH
4
Thuật ngữ Business Intelligence (BI) ra đời trong một
bài báo của nhà nghiên cứu Hans Peter Luhn tại IBM.
Có rất nhiều định nghĩa về BI theo nhiều khía cạnh khác
nhau, một cách tổng quát IB là một tập hợp của những
phương thức, quá trình, kiến trúc, kỹ thuật cho phép
chuyển đổi, trích xuất, tính toán từ nhiều nguồn dữ liệu
khác nhau thành loại dữ liệu có giá trị. Qua đó có thể
phân tích đánh giá và đưa ra những quyết định, định
hướng phát triển cho doanh nghiệp.
5. TẠI SAO CHÚNG TA CẦN BI?
5
Với sự phát triển nhanh chóng của CNTT, nguồn dữ liệu cho
nhân loại ngày càng rộng lớn và phong phú với nhiều lĩnh
vực. Tuy nhiên việc khai thác nguồn dữ liệu này sẽ vô cùng
khó khăn bởi độ lớn, sự phức tạp, không đồng nhất ,…
Bản thân các nguồn dữ liệu này sẽ không có giá trị nếu chúng
rời rạc và chỉ phục vụ cho mục đích lưu trữ.
BI ra đời như một giải pháp giúp chúng ta có thể tổng hợp dữ
liệu từ nhiều nguồn khác nhau thành những báo cáo, phân
tích đánh giá có giá trị phục vụ cho mục đích, chiến lược
kinh doanh, quảng bá cho doanh nghiệp,..
VD: Một công ty dược phẩm cần phát triển sản phẩm mới. Họ có thể
dựa vào nguồn dữ liệu bệnh nhân và dữ liệu số lượng, chất lượng giá
thành các sản phẩm dược trên thì trường để ra một báo cáo phân tích
đầu tư cho một sản phẩm mà bệnh nhân đang cần nhất, với ít đối thủ
cạnh tranh nhất để đưa ra chiến lược đầu tư sản phẩm.
6. CÁC GIAI ĐOẠN CỦA GIẢI PHÁP BI
6
Thu thập dữ liệu (từ các nguồn dữ liệu)
ETL (Extract – Transform – Load) : Trích lọc
chuyển đổi nguồn dữ liệu thô thành dữ liệu có
giá trị.
Lưu trữ dữ liệu: Lưu trữ lại lượng dữ liệu có
giá trị.
Cung cấp cái nhìn trực quan về nguồn dữ liệu
sau trích lọc (thông qua các báo cáo).
Đưa ra các quyết định thông qua các báo cáo.
8. SỬ DỤNG BUSINESS INTELLIGENCE DEVELOPMENT STUDIO CHO QUÁ TRÌNH ETL
8
Đây là một môi trường cho phép chúng ta sử dụng để
phát triển những package phục vụ cho việc trích lọc
dữ liệu từ các nguồn dữ liệu khác nhau, Chuyển đổi,
tính toán dữ liệu, Lưu trữ dũ liệu vào tập dữ liệu đích
phục vụ cho việc phân tích , báo cáo,..
Công cụ này là một thành phần của SQL Server từ
phiên bản 2005 Enterprise trở lên.
Chúng ta có thể tùy chọn khi cài đặt hoặc repair SQL
Server và chọn Add New Feature.
Quá trình cài đặt đơn giản chỉ vài click chuột nên sẽ
không hướng dẫn chi tiết.
9. SỬ DỤNG BUSINESS INTELLIGENCE DEVELOPMENT STUDIO CHO QUÁ TRÌNH ETL
9
Sau khi cài đặt xong, chúng ta thực hiện mở SQL
Server Business Intelligence Development Studio lên
theo hình minh họa
Sau khi của sổ chương trình mở lên, chúng ta vào
menu File và chọn New Project để tạo dự án BI mới
với project template là Integration Service Project.
Nhập đầy đủ các thông tin và chọn OK để tạo
project mới.
10. SỬ DỤNG CÁC CÔNG CỤ BUSINESS INTELLIGENCE DEVELOPMENT STUDIO
10
Với project type là Integration Service cung cấp
cho chúng ta rất nhiều công cụ cho quá trình ETL.
Được xếpvào 3 nhóm chính:
Data Flow Source:
Bao gồm các công cụ cho phép chúng ta kết
nối , truy xuất đến nguồn dữ liệu như
database (SQL Server, Oracle,..), File Excel,..
Data Flow Transformations:
Bao gồm các công cụ cho phép tính toán và
trích lọc dữ liệu.
Data Flow Destination:
Bao gồm các công cụ cho phép chúng ta kết
nối lưu trữ dữ liệu sau khi trích lọc, tính toán
như database (SQL Server, Oracle,..).
Mỗi công cụ sẽ có output theo hai luồng thực thi
thành công và thực thi thất bại (có thể sử dụng để
ghi lại log lỗi cho quá trình ETL)
11. SỬ DỤNG CÁC CÔNG CỤ BUSINESS INTELLIGENCE DEVELOPMENT STUDIO
11
Minh họa sử dụng công cụ OLE DB Source (Column Mapping)
12. SỬ DỤNG CÁC CÔNG CỤ BUSINESS INTELLIGENCE DEVELOPMENT STUDIO
12
Minh họa sử dụng công cụ OLE DB Source
13. SỬ DỤNG CÁC CÔNG CỤ BUSINESS INTELLIGENCE DEVELOPMENT STUDIO
13
Minh họa sử dụng công cụ Aggerations
14. SỬ DỤNG CÁC CÔNG CỤ BUSINESS INTELLIGENCE DEVELOPMENT STUDIO
14
Minh họa sử dụng công cụ OLE DB Destination
15. SỬ DỤNG BUSINESS INTELLIGENCE DEVELOPMENT STUDIO CHO QUÁ TRÌNH ETL
15
Sau khi thiết lập xong các thành phần của quá trình
ETL chúng ta có thể click debug để xem quá trình
ETL thực thi một cách trực quan.
Các thành phần của quá trình ETL sẽ được output ra
thành một package.dtsx.
Chúng ta có thể thực hiện package này với command
line , Power Shell , hoặc thông qua ứng dụng khác.
17. WINDOWS SERVICE LÀ GÌ?
17
Windows Service là một chương trình có thể chạy nền
(background) với hệ thống.
Cho phép chúng ta có thể cấu hình tự động khởi chạy
khi hệ thống khởi động.
Phân quyền tài khoản được phép thực thi
service(System, Network Service, Local Service hoặc
một tài khoản đặc biệt nào đó)
18. TẠO WINDOWS SERVICE PROJECT
18
Để tạo mới Windows service chúng ta mở Visual Studio lên -> Chọn
menu File -> chọn New -> Project-> Chọn và nhập các thông tin như
hình minh họa -> Chọn OK để tạo mới Windows Service
19. WINDOWS SERVICE (OUTLINE)
19
Sau khi tạo mới project ,VS đã tạo sẵn cho chúng ta một service mới, kế
thừa từ Service Base (Class).
Chúng ta có thể đổi lại tên service cho phù hợp.
Windows service đã bao gồm hai hàm kế thừa từ Service Base là
OnStart (Xử lý khi khởi chạy dịch vụ), OnStop ( Xử lý khi dừng dịch
vụ).
Lưu ý: Chúng ta không thể debug windows service khi chưa cài đặt .
Các phần tiếp theo sẽ hướng dẫn cách cài đặt windows service.
21. SCHEDULE
21
Để có thể thực thi windows service theo một lịch trình được định nghĩa
trước. Bước tiếp theo chúng ta sẽ xây dựng schedule cho windows
service.
Timer và sự kiện Elapsed là điểm quan trọng để xử lý schedule cho
window service.
Chúng ta sẽ thiết lập các thông số cấu hình cho schedule ở app.config.
Sau khi tổng hợp đầy đủ các thông tin cấu hình chúng ta sẽ tính ra giá trị
interval cho timer. Mỗi khi timer phát sinh sự kiện Elapsed chúng ta sẽ
tiến hành thực hiện job mà mình mong muốn.
Tiếp theo chúng ta khởi tạo timer và bắt sự kiện Elapsed khi trong hàm
OnStart của Windows Services. Chúng ta sẽ stop timer trong sự kiện
OnStop của windows servicce.
22. CÀI ĐẶT WINDOWS SERVICE
22
Để cài đặt windows service trước hết chúng ta cần tạo mới lớp xử lý cài
đặt trong project bằng cách chọn Add New Item -> chọn Intaller Class.
23. CÀI ĐẶT WINDOWS SERVICE
23
Sau khi tạo lớp cài đặt chúng ta tiến hành code xử lý
cài đặt Windows service theo hình mình họa sau:
24. CÀI ĐẶT WINDOWS SERVICE
24
Sau khi tạo lớp xử lý cài đặt chúng ta tiến hành build lại project.
Tiếp theo chúng ta sẽ sử dụng công cụ install util để cài đặt:
Vào menu Start chọn Visual Studio Command Prompt
Dùng lệnh cd để di chuyển đến đường dẫn chứa file exe của windows services
project đã build.
Để cài đặt chúng ta gõ lệnh: installutil <TenFileExe>
Để remove service chúng ta dùng lệnh: installutil /u <TenFileExe>
Sau khi cài đặt xong chúng ta có thể gõ vào run lệnh services.msc để xem lại thông
tin service đã cài đặt.
25. DEBUG WINDOWS SERVICE
25
Sau khi cài đặt xong windows services chúng ta có thể debug bằng các
attach process của windows service vào VS theo hình minh họa sau: