Tải bản đầy đủ (.docx) (31 trang)

Tài liệu Tiểu Luận Xây dựng ứng dụng DataWareHouse phục vụ cho việc dự báo giá vàng docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (899.32 KB, 31 trang )

Tiểu Luận
Xây dựng ứng dụng
DataWareHouse phục vụ cho
việc dự báo giá vàng
LỜI MỞ ĐẦU
Ngày nay, trong thời đại bùng nổ cách mạng thông tin, các hoạt động sản xuất
kinh doanh luôn cần có sự đáp ứng nhanh nhạy, tức thời đối với các thay đổi liên
tục, vì vậy các nhà quản lý buộc phải thường xuyên đưa ra nhiều quyết định đúng
đắn trong cùng một lúc một cách nhanh chóng. Do đó vấn đề trợ giúp quyết định trở
lên rất cần thiết. Người ta phải thu thập, tổng hợp và phân tích dữ liệu từ nhiều
nguồn khác nhau một cách nhanh và hiệu quả thì mới có thể đưa ra được những
quyết định nhanh chóng và phù hợp. Điều này dẫn đến việc cần phát triển những hệ
thống thông minh, biết cách trích chọn và phân tích dữ liệu cho người sử dụng.
Hiện nay có rất nhiều phần mềm cung cấp cho người sử dụng những khả năng
truy vấn và lập các báo cáo thông tin, đặc biệt là các hệ quản trị CSDL quan hệ. Tuy
nhiên CSDL quan hệ với cấu trúc hai chiều (hàng và cột) không được thiết kế để
cung cấp những góc nhìn đa chiều trên dữ liệu đầu vào của những bài toán phân tích
phức tạp. Sử dụng hệ thống này, chúng ta sẽ gặp rất nhiều khó khăn và bất tiện
trọng việc tổ chức dữ liệu đa chiều vào trong các bảng hai chiều, không thể triển
khai dữ liệu phân tích với số lượng lớn, các công cụ phân tích để tạo ra các dữ liệu
quyết định không thực sự mạnh, không có sự linh hoạt, nhanh chóng và quan trọng
nhất là không dễ dàng sử dụng với các nhà quản lý, những người ra quyết định.
Như vậy, việc xây dựng một hệ thống có khả năng tổ chức dữ liệu đa chiều và
có khả năng phân tích dữ liệu linh hoạt để trả lời được các truy vấn đa chiều một
cách dễ dàng, nhanh chóng nhằm hỗ trợ cho việc ra quyết định của các nhà quản lý
là cần thiết.
Thị trường vàng vốn đã là một thị trường nóng bỏng, phân tích và dự báo giá
vàng là một nhu cầu không thể thiếu. Nhưng để có thể làm được điều này, chỉ có
các dữ liệu trong quá khứ được lưu trữ trong một CSDL thường là chưa đủ, cần có
một CSDL giúp cho người phân tích có một cách nhìn trực quan, từ tổng thể đến chi
tiết về các vấn đề được quan tâm, và CSDL đó phải được tổ chức sao cho các thông


tin trong đó được truy nhập với tốc độ nhanh nhất có thể. Cách hiệu quả nhất để trợ
giúp cho vấn đề này là tổ chức dữ liệu thành kho dữ liệu (data warehouse) để phục
vụ cho các nhà kinh tế trong việc phân tích và dự báo giá vàng. Chính vì thế, sau
một thời gian học tập và nghiên cứu, em đã quyết định chọn đề tài “Xây dựng ứng
dụng DataWareHouse phục vụ cho việc dự báo giá vàng” nhằm ứng dụng những
kiến thức về công nghệ thông tin và kinh tế để xây dựng lên một kho dữ liệu chứa
các thông tin về giá vàng trong các năm gần đây với cách tổ chức dữ liệu hoàn toàn
mới.
Mặc dù đã rất cố gắng để hoàn thành đề tài nhưng vì còn hạn chế về kinh
nghiệm và kiến thức nên chương trình còn nhiều sai sót cần được bổ sung. Vì vậy,
em mong thầy cô và các bạn xem và đóng góp ý kiến giúp cho chương trình trở nên
hoàn thiện hơn.
Cuối cùng, em xin chân thành cảm ơn các thầy, cô giáophòng quản lý và nghiên
cứu khoa học, Trường đại học CNTT và Truyền Thông, đặc biệt là cố vấn khoa học
TS. Vũ Xuân Nam, đã trực tiếp hướng dẫn và tận tình giúp đỡ em hoàn thành đề tài.
Em xin chân thành cảm ơn!
Thái Nguyên, Tháng 11 Năm 2012
CHƯƠNG 1 : TỔNG QUAN VỀ XỬ LÝ PHÂN TÍCH
TRỰC TUYẾN
 Giới thiệu các phương pháp khai thác dữ liệu
- Khai thác dữ liệu là quá trình phát hiện ra những mối quan hệ liên thuộc, các mô
hình và các xu hướng mới (Patterns & Trends) bằng việc khảo sát một số lượng lớn
dữ liệu được lưu trữ trong các nhà kho (Repository) sử dụng các công nghệ về nhận
dạng mẫu cũng như các kỹ thuật thống kê toán học. Khai thác dữ liệu có thể hiểu là
khoan dữ liệu theo chiều sâu và tổng hợp dữ liệu theo chiều ngược lại, là quá trình
đào bới xem xét dữ liệu với nhiều góc độ nhằm tìm ra các mối liên hệ giữa các
thành phần dữ liệu và phát hiện ra những xu hướng, hình mẫu, kinh nghiệm quá khứ
tiềm ẩn trong kho dữ liệu. Vì vậy nó rất phù hợp với mục đích phân tích dữ liệu hỗ
trợ điều hành và ra quyết định.
- Phần lớn các phương pháp khai thác dữ liệu đều dựa trên các lĩnh vực như thống kê

và một số công cụ khác. Một số kỹ thuật thường dùng là mạng Neuron (Neuron
network), giải thuật di truyền (Genetic Algorithms) và xử lý phân tích trực tuyến
(OnLine Analytical Processing - OLAP).
- Xử lý phân tích trực tuyến chính là sử dụng kho dữ liệu cho mục đích ra quyết định.
Ý tưởng mô phỏng trong các chiều được mở rộng: một bảng với n thuộc tính có thể
được coi như một không gian n chiều. Người quản lý đặt ra những câu hỏi mà có
thể phân tích trong những phân tích đa chiều. Các thông tin này sẽ rất khó phân tích
khi bảng biểu diễn hai chiều và CSDL chuẩn không thể đáp ứng tốt cho công việc
này, vây nên, trong những trường hợp như vậy, OLAP tỏ ra thích hợp với việc phân
tích hỗ trợ quyết định hơn những phương pháp khác.
 Tổng quan về kho dữ liệu (Dataware house)
- Kho dữ liệu là tuyển tập các CSDL tích hợp, hướng chủ đề, được thiết kế với chức
năng trợ giúp quyết định, mà mỗi đơn vị dữ liệu đều liên quan tới một khoảng thời
gian cụ thể. Kho dữ liệu thường rất lớn, có thể tới hàng trăm GB hay thậm chí hàng
Terabyte.
- Kho dữ liệu được xây dựng để tiện lợi cho việc truy cập theo nhiều nguồn, nhiều
kiểu dữ liệu khác nhau sao cho có thể kết hợp được cả những ứng dụng của các
công nghệ hiện đại và kế thừa được từ những hệ thống sẵn có từ trước. Dữ liệu phát
sinh từ các hoạt động hàng ngày được thu thập và xử lý để phục vụ công việc
nghiệp vụ cụ thể của một tổ chức được gọi là dữ liệu tác nghiệp (operational data)
và hoạt động thu thập xử lý loại dữ liệu này được gọi là xử lý giao dịch trực tuyến
(Online Transaction Processing - OLTP)
 Đặc điểm của kho dữ liệu
- Tính tích hợp: Dữ liệu trong Dataware house được tổ chức theo nhiều cách khác
nhau sao cho phù hợp với các quy ước đặt tên, thống nhất về số đo, cơ cấu mã hóa
và cấu trúc vật lý của dữ liệu. Một Datawarehouse là một khung nhìn thông tin
mức tổng thể, toàn tổ chức, thống nhất các khung nhìn khác nhau thành một khung
nhìn theo một chủ đề nào đó. Tính tích hợp thể hiện ở chỗ : Dữ liệu trong kho dữ
liệu được tập trung từ nhiều nguồn và được ghép với nhau tạo thành một thể thống
nhất.

Hình 1.1 Tích hợp dữ liệu
- Hướng chủ đề: Dữ liệu trong Dataware house được tổ chức theo các chủ đề phục vụ
cho những tổ chức dễ dàng xác định được những thông tin cần thiết trong từng hoạt
động của mình. Ví dụ trong doanh nghiệp, Dataware house được tổ chức thành các
chủ đề như : Khách hàng, tài chính, sản phẩm…, tuy nhiên Dataware house khác
các CSDL thông thường là không lưu dữ liệu chi tiết, chỉ lưu các dữ liệu có tính
tổng hợp để phục vụ chủ yếu cho quá trình phân tích hỗ trợ ra quyết định.
- Dữ liệu gắn thời gian và có tính lịch sử: Một kho dữ liệu bao hàm một khối lượng
lớn khối lượng lịch sử. Dữ liệu trong Dataware house được gọi là các ảnh chụp dữ
liệu (data snapshort), mỗi bản ghi phản ánh những giá trị của dữ liệu tại một thời
điểm nhất định thể hiện một khung nhìn của một của một chủ điểm trong một giai
đoạn. Yếu tố thời gian đóng vai trò như một phần của khóa để đảm bảo tính đơn
nhất của mỗi bản ghi và cung cấp đặc trưng về thời gian cho dữ liệu. Dữ liệu trong
CSDL tác nghiệp cần phải chính xác ở chính thời điểm truy cập, trong khi ở
Dataware house chỉ cần có hiệu lực trong một khoảng thời gian nào đó, trong
khoảng 5 năm đến 10 năm hoặc lâu hơn. Dữ liệu của CSDL sau một thời gian nhất
định sẽ trở thành dữ liệu lịch sử và chúng sẽ được chuyển vào kho dữ liệu.
Hình 1.2 Tính thời gian của dữ liệu
- Dữ liệu có tính ổn định: Dữ liệu trong Dataware house là dữ liệu chỉ đọc và chỉ có
thể được kiểm tra, không được sửa đổi bới người sử dụng đầu cuối. Datawarehouse
chỉ cho người dùng được phép nạp thêm dữ liệu vào và truy cập tới các vùng trong
nó.
Hình 1.3 Cơ chế hoạt động của Dataware house
- Dữ liệu không biến động: Thông tin được tải vào trong Dataware house khi nó được
coi là quá cũ trong CSDL tác nghiệp với hệ thống điều hành doanh nghiệp, tuy
nhiên các dữ liệu trong Dataware house không có dữ liệu nào được coi là cũ, trong
Dataware house sẽ không có thao tác xóa dữ liệu, vì các dữ liệu này vẫn cung cấp
thông tin về một khoảng thời gian dài, cung cấp đủ số liệu cho các hệ thống dự báo,
phân tích, từ đó có được những quyết định hợp lý.
 Các khái niệm trong kho dữ liệu

 Data Mart (Kho dữ liệu cục bộ)
- Kho dữ liệu cục bộ (Data Mart -DM) là CSDL có những đặc điểm giống với kho dữ
liệu nhưng với quy mô nhỏ hơn và lưu trữ dữ liệu về một lĩnh vực, một chuyên
ngành. Datamart là kho dữ liệu hướng chủ đề.
- Các DM có thể được hình thành từ một tập con dữ liệu của kho dữ liệu hoặc cũng
có thể được xây dựng độc lập và sau khi xây dựng xong, các DM có thể được kết
nối tích hợp lại với nhau tạo thành kho dữ liệu. Vì vậy có thể xây dựng kho dữ liệu
bắt đầu bằng việc xây dựng các DM hay ngược lại xây dựng kho dữ liệu trước sau
đó tạo ra các DM.
- DM được chia ra là hai loại:
+ Data mart phụ thuộc (Dependent Data Mart): Chứa những dữ liệu được lấy từ
DW và những dữ liệu này sẽ được trích lọc và tinh chế, tích hợp lại ở mức cao hơn
để phục vụ một chủ đề nhất định của Datamart.
+ Data mart độc lập (Independent Data Marts): Không giống như Data Mart phụ
thuộc, Data mart độc lập được xây dựng trước DW và dữ liệu được trực tiếp lấy từ
các nguồn khác nhau.
 Metadata ( Siêu dữ liệu)
- Siêu dữ liệu (metadata) dùng để mô tả tài nguyên thông tin. Thuật ngữ “meta” xuất
xứ là một từ Hy Lạp đùng để chỉ một cái gì đó có bản chất cơ bản hơn hoặc cao
hơn. Vì vậy metadata là dữ liệu về dữ liệu.Tứclà thông tin mô tả nội dung của cơ sở
dữ liệu (CSDL).
- Metadata báo cho người dùng biết thời gian cập nhật sau cùng của dữ liệu, định
dạng và mục đích sử dụng của nó. Những thông tin này có thể hướng dẫn người
dùng duyệt qua CSDL và giúp họ hiểu được ý nghĩa và ngữ cảnh của dữ liệu tài
chính, các bản ghi về khách hàng và các giao dịch kinh doanh . Một bản ghi
metadata bao gồm một tập hợp những thuộc tính hoặc tập hợp những phần tử cần
thiết để mô tả các tài nguuyên thông tin theo yêu cầu nghiệp vụ. Ví dụtrong hoạt
động nghiệp vụ thông tin – thư viện bao gồm các yếu tố như: Nhan đề tài liệu, tác
giả, thông tin về xuất bản, nơi/vị trí lưu giữ, kiểu/dạng tài liệu.
- Metadata cung cấp cho người sử dụng sự truy nhập tương tác để giúp cho họ có thể

hiểu được nội dung và tìm thấy được dữ liệu cần thiết. Một vấn đề trong thực tế là
khả năng kết hợp của công cụ trích lọc dữ liệu và metadata còn khá thô. Do đó cần
phải tạo ra những giao diện dùng megadata cho người sử dụng.
- Tất cả các thành phần của Dataware house đều có thể lấy dữ liệu từ megadata.
Megadata được lưu trữ ở trung tâm Dataware house.

 Kho dữ liệu tác nghiệp (Operational Data Store – ODS)
- Kho dữ liệu tác nghiệp là hệ thống tác nghiệp tích hợp căn bản dùng cho công việc
trợ giúp quyết định và phân tích trên dữ liệu giao dịch tác nghiệp. Nói một cách
khác, ODS là một khái niệm có cấu trúc để hỗ trợ cho việc tạo quyết định tác
nghiệp hàng ngày lưu trữ những giữ liệu có giá trị hiện thời được chuyển đến từ các
ứng dụng tác nghiệp. ODS cung cấp một sự lựa chọn cho các ứng dụng trợ giúp
quyết định tác nghiệp, truy cập dữ liệu một cách trực tiếp từ các hệ thống xử lý các
giao dịch trực tuyến.
- Trong tất cả các trường hợp, ODS cần được xây dựng riêng biệt và là một phần của
Dataware house.
Hình 1.4 Sự phân cách giữa ODS và DW
- ODS chỉ tập trung vào lưu trữ những dữ liệu thuần nhất và có giá trị hiện thời, còn
Dataware house có thể chứa rất nhiều dữ liệu không thuần nhất ở nhiều mức độ khá
nhau.
Hình 1.5: Sự phong phú về chúng loại dữ liệu trong Dataware house
 Phân tích dữ liệu trực tuyến (Online Analytical Processing – OLAP)
 Giới thiệu
- OLAP là một kỹ thuật sử dụng các thể hiện dữ liệu đa chiều gọi là các khối (cube)
nhằm cung cấp khả năng truy xuất nhanh đến dữ liệu của kho dữ liệu. Tạo
khối(cube) trong các bảng chiều (dimension table) và bảng sự kiện (fact table) trong
kho dữ liệu và cung cấp khả năng thực hiện các truy vấn tinh vi và phân tích cho
các ứng dụng client.
- Trong khi kho dữ liệu và data mart lưu dữ cho phân tích, thì OLAP là kỹ thuật cho
phép các ứng dụng client truy xuất hiệu quả những dữ liệu này. OLAP cung cấp rất

nhiều ích lợi cho người phân tích, ví dụ như:
+ Cung cấp mô hình dữ liệu đa chiều trực quan cho phép dễ dàng chọn lựa, định
hướng và khám phá dữ liệu.
+ Cung cấp một ngôn ngữ truy vấn phân tích, cung cấp sức mạnh để khám phá
các mối quan hệ trong dữ liệu kinh doanh phức tạp.
+ Dữ liệu được tính toán trước đối với các truy vấn thường xuyên làm cho thời
gian trả lời rất nhanh đối với các truy vấn đặc biệt.
+ Cung cấp các công cụ mạnh giúp người dùng tạo ra các khung nhìn mới của
dữ liệu dựa trên một tập các hàm tính toán đặc biệt.
- OLAP được đặt ra để xử lý các truy vấn liên quan đến lượng dữ liệu rất lớn mà nếu
cho thực thi các truy vấn này trong hệ thống OLTP sẽ không thể cho kết quả hoặc
sẽ làm mất rất nhiều thời gian.
 Đặc điểm của OLAP
- Được biết đến như là một phần của kho dữ liệu.
- Cung cấp các báo cáo, phân tích tiền tính toán, các đồ thị, biểu đồ.
- Cho phép phân tích trực tuyến dữ liệu.
- Thăm dò sự tương tác dữ liệu.
- Cung cấp các giao diện đa dạng cho người dùng.
- Cung cấp khả năng phân tích dữ liệu phức tạp bằng phương pháp đơn giản.
 Các mô hình OLAP
 MOLAP (Multidimensional OLAP)
- Mô hình MOLAP lưu trữ dữ liệu cơ sở (dữ liệu từ các bảng của kho dữ liệu) và
thông tin tổng hợp (là các độ đo được tính toán từ các bảng) trong các khối (cube)
Hình 1.6 Mô hình dữ liệu MOLAP
Dữ liệu được tìm thấy tại điểm giao của các chiều
Hình 1.7 Tổ chức dữ liệu trong mô hình MOLAP
- Dữ liệu trong MOLAP cần process sau một thời gian nhất định để có thể cập nhật
được những thay đổi trong Dataware house.
- MOLAP thích hợp cho các truy vấn tổng hợp dữ liệu trong một thời gian dài.
 ROLAP (Relational OLAP)

- Mô hình ROLAP (OLAP quan hệ) lưu trữ dữ liệu cơ sở và thông tin tổng hợp trên
các bảng quan hệ.
Hình 1.8 Mô hình dữ liệu ROLAP
- Dữ liệu được tìm thấy tại một điểm giao của một cột và một hàng.
Hình 1.9 Tổ chức dữ liệu trong mô hình ROLAP
- Có hai kiểu mô hình dữ liệu
+ Lược đồ hình sao (star schema): Môi chiều chỉ được xây dựng từ một bảng
một chiều
Hình 1.10 Lược đồ hình sao
- Lược đồ hình bông tuyết (snowflake): Mỗi chiều được xây dựng từ nhiều bảng
chiều.
Hình 1.11 Lược đồ hình bông tuyết
- ROLAP thích hợp cho các truy vấn dữ liệu theo thời gian thực (đòi hỏi chính xác
cao và tức thời)
-
 HOLAP (Hybryd OLAP)
- Là mô hình kết hợp giữa hai mô hình MOLAP và ROLAP.
Hình 1.12 Mô hình HOLAP
- HOLAP là mô hình lai giữa hai mô hình MOLAP và ROLAP, kết hợp những ưu
điểm và loại bỏ những khuyết điểm của hai mô hình trên nhằm tạo ra một mô hình
tối ưu.
- Lợi ích của việc lưu trữ trong cấu trúc HOLAP là :
+ Lưu dữ liệu tổng hợp trong cube (MOLAP) để tăng tốc độ xử lý những truy
vấn phức tạp.
+ Lưu trữ dữ liệu cơ sở trong các bản quan hệ (ROLAP) nhằm tiết kiệm không
gian lưu trữ.
CHƯƠNG 2 : OLAP TRONG MS SQL SERVER
ANALYSIS SERVICES
2.1. Sơ lược về SSAS
- Từ trước đến nay, SQL Server được biết đến với vai trò là một hệ quản trị cơ

sở dữ liệu có trách nhiệm hỗ trợ quản lí, lưu trữ dữ liệu với Database Engine. Tuy
nhiên, từ phiên bản SQL Server 2005 đến SQL Server 2008 và mới nhất là SQL
Server 2008 R2, thì bộ SQL Server đã được tích hợp nhiều gói dịch vụ hỗ trợ việc
tích hợp và khai thác khả năng tiềm tàng của một cơ sở dữ liệu như SQL Server
Integrating Services, SQL Server Analysis Services và SQL Server Reporting
Services.
- Analysis Services là một dịch vụ hỗ trợ mạnh mẽ việc phân tích, khai thác
thông tin tiềm tàng bên trong của một hệ cơ sở dữ liệu.
- Analysis Services là công cụ dễ sử dụng, tích hợp và linh động giúp định nghĩ
các chiều, xây dựng các khối dữ liệu đa chiều và cung cấp các chương trình ứng
dụng truy xuất tới các khối này.
2.2. Kiến trúc các thành phần OLAP trong SSAS
2.2.1. Cube.
- Cube (Khối) là phần tử chính trong xử lý phân tích trực tuyến, là tập
con(subset) dữ liệu từ kho dữ liệu, được tổ chức và tổng hợp trong các cấu trúc đa
chiều.
- Cube dùng các dimensions, fact table và các measure để mô tả dữ liệu trong
cube.
Hình 2.1 Ví dụ về một khối (cube) có 3 chiều
-Một cube có thể có nhiều chiều
• Nếu có nhiều hơn 3 chiều sẽ được gọi là ‘siêu khối’ (”hypercube”)
• Về mặt lý thuyết thì số chiều là không hạn chế
• Thường thì số chiều là từ 4 đến 112
- Một cube bao gồm nhiều ô dữ liệu
• Là một liên kết giữa các giá trị của chiều
• Một ô có thể là rỗng (không có dữ liệu cho liên kết này)
• Khối thưa (sparsecube): có nhiều ô rỗng
• Khối dày đặc (densecube): có ít ô rỗng
Hình 2.2 Ví dụ về ô rỗng trong khối
- Cube biễu diễn dữ liệu dưới dạng tổng hợp nhiều hơn là chi tiết như khi

dùngbảng thông thường. Do đó, cube cho người dùng thấy được cái nhìn tóm tắt,
tổng hợp của toàn bộ dữ liệu.
Một cube có thể chứa toàn bộ hoặc một phần của dữ liệu nguồn (Data
sourceview). Vì vậy các cube chỉ được lưu trữ và truy cập qua giới hạn riêng của
nó. Dữ liệu được chuyển từ nguồn đến các cube qua công cụ ETL
(Extract,Transform, and Load).
2.1.2.Dimension
- Các chiều là cách mô tả chủng loại mà theo đó các dữ liệu trong Cube được
phân chia để phân tích.
- Mỗichiều có thể được xây dựng trên một hoặc nhiều bảng chiều(dimension
table) nhằm mô tả cho chiều đó.
- Các chiều được ánh xạ từ thông tin của các bảng chiều trong kho dữ liệu vào
các mức phân cấp.
-Các chiều được tạo một cách độc lập và có thể chia sẻ giữa các OLAP Cube
nhằm xây dựng các Cube dễ dàng và để chắc chắn rằng thông tin tổng hợp cho phân
tích luôn ổn định.
Hình 2.3 Ví dụ về các chiều
- Chiều có sự phân cấp : Phân cấp là cột sống của việc gộp dữ liệu hay nói một
cách khác là dựa vào các phân cấp mà việc gộp dữ liệu mới có thể thực hiện được.
Phần lớn các chiều đều có một cấu trúc đa mức hay phân cấp.
2.1.3. Measure
- Các đơn vị đo của khối là các cột trong bảng Fact. Các đơn vị đo lường xác
định những giá trị số từ bảng Fact mà được tổng hợp phân tích như định giá, trị giá,
hoặc số lượng bán.
- Là đơn vị đo để đánh giá, phân tích dữ liệu.
2.1.4. Fact Table
- Fact là bảng mô tả sự kiện mà hệ thống muốn phân tích, kết hợp với các
dimension đã được xây dựng sẵn nhằm tổ chức dữ liệu một cách có hệ thống.
- Một fact gồm các trường chứa khoá chính của các dimension mà nó kết hợp,
đồng thời chứa các measure của cube. Mỗi fact có các measure khác nhau.

- Fact được lưu tại một cấp dữ liệu thô nào đó
Hình 2.4 Ví dụ về Fact Table (Sales_Fact)
2.1.5. Slice
- Slice là một “lát cắt”, tương ứng một giá trị duy nhất cho chiều “được chiếu
với các giá trị thành viên của các chiều khác.
Hình 2.5 Ví dụ về slice
2.1.6.Partition
- Tất cả các khối đều có tối thiểu một phân hoạch (Partition) để chứa dữ liệu của
nó. Một partition đơn được tự động tạo ra khi khối được định nghĩa.
- Khi ta tạo một partition mới cho một khối, partition mới này được thêm vào
trong tập hợp các partition đã tồn tại đối với khối.
- Khối phản ánh dữ liệu đã được kết nối có trong tất cả các partition của nó. Một
bảng partition của khối là vô hình đối với người dùng.
- Các partition tiêu biểu cho một công cụ mạnh, mềm dẻo cho việc quản trị các
khối OLAP, đặc biệt các khối lớn.
2.1.7. Role
- Bảo mật trong Analysis Services được tích hợp sẵn và dựa trên bảo mật của
Microsoft Windows. Để Analysis Services được bảo mật, ta tạo các role trong
database OLAP. Mỗi role có thế chứa một hoặc nhiều user (group) được tạo trong
hệ điều hành. Mỗi role được tạo ra sẽ liên kết với các cube trong database OLAP.
Nhờ vậy, ta có thể quản lý sự bảo mật của cube bằng cách hạn chế truy cập
metadata (các member trong dimemsion) cũng như truy cập data (các giá trị lưu trữ
trong cube).
- Analysis Services có một role cốđịnh được tạo sẵn, bao gồm các thành viên
của group Administrators trên máy chủ server, được gọi là server role.
Để có thể thực thi mọi tác vụ trong hệ thống Analysis Services, user đang
dùngphải là thành viên của group Administrators. Tất cả thành viên trong group này
được toàn quyền trên các cube và các database của server.
Trong thực tế, người ta tạo ra các role trên mỗi database, gọi là database role,
cho phép một user chỉ được quyền quản trị trên một database.

Ngoài ra, ta còn có thể tạo các role ở cấp độ cube (truy cập toàn bộ một số cube
quy định) hoặc ở cấp độ dimension (truy cập data ở một số dimension của một số
cube nhất định)
2.1.8. Schedule (Lập lịch)
- Tại một thời điểm nào đó, hệ thống OLAP server cần phải process lại để
update những thay đổi từ phía Database Server, đảm bảo cho Client có thể truy xuất
được những dữ liệu mới nhất và đầy đủ của hệ thống.
Có 2 cách process: thủ công và tự động
• Thủ công: có thể tiến hành process thủ công khi cần thiết ( có sự thay đổi dữ
liệu hay cấu trúc hệ thống).
• Tự động: có thể lập lịch cho hệ thống tự động process sau một khoảng
thời gian quy định trước.
2.2. Quy trình thiết kế các đối tượng trong SSAS
Hình 2.5 Các đối tượng trong SSAS
2.2.1. Sơ lược về quy trình tạo Datawarehouse
2.2.1.1. Quy trình chung
- Nhận dạng dữ liệu nguồn (Identify the data source):
• Một trong những bước đầu tiên để xây dựng Data Warehouse là phải nhận biết
các nguồn dữ liệu. Ta cần phải tính toán và xem xét những dữ liệu nào cần thiết
đểđưa vào Data Warehouse.
• Trong một Data Warehouse, có hai loại nguồn dữ liệu cần xem xét, đó là
nguồn dữ liệu bên trong (internal data source) và bên ngoài (external data source).
Dữ liệu bên trong là những dữ liệu đã có sẵn trong hệ thống hiện tại. Dữ liệu bên
ngoài là những dữ liệu từ nhiều nguồn khác nhau ngoài hệ thống.
- Chọn lọc dữ liệu (Extracting Transactional Data):
• Đây là bước chi phối hầu hết thời gian của quy trình, vì chúng ta cần phải lấy
dữ liệu từ nhiều nguồn đã nhận dạng ra để đưa vào kho lưu trữ trung tâm.
• Do các nguồn dữ liệu xuất phát từ nhiều hệ thống khác nhau nên các hệ quản
trị CSDL của chúng cũng khác nhau, chẳng hạn như MS Access, MS SQL Server,
Oracle, Sybase, hoặc cũng có thể là flat files, spreadsheets, mail systems và nhiều

dạng lưu trữ dữ liệu khác. Vì thế, ta cần quyết định sẽ sử dụng hệ CSDL nào cho
việc tổ chức kho dữ liệu.
- Chuyển đổi dữ liệu (Transforming Transactional Data):
• Là quá trình chuyển đổi nhằm đảm bảo tính nhất quản của dữ liệu sau khi đã
được chọn lọc từ nhiều nguồn khác nhau.
• Để có thể chuyển đổi dữ liệu vào Data Warehouse một cách chính xác, ta cần
phải xác định ánh xạ của các trường (field) từ nguồn dữ liệu bên ngoài đến các
trường của data warehouse.
• Sự chuyển đổi này có thể được thực hiện trong quá trình chọn lọc (extracting)
hoặc trong khi dữ liệu được đưa vào data warehouse.
- Tải dữ liệu (Loading the Data):
• Khi quá trình chọn lọc, chuyển đổi và làm sạch đã hoàn tất, dữ liệu sẽ được tải
vào data warehouse.
• Việc tải dữ liệu có thể phân thành hai loại: tải toàn bộ dữ liệu đang có trong
CSDL nguồn và tải những dữ liệu có sự thay đổi trong CSDL nguồn vào data
warehouse.
• Dữ liệu trong data warehouse phải luôn được làm tươi, có nghĩa phải cập nhật
những thay đổi của dữ liệu.
• Trong khi cập nhật data warehouse cần phải đảm bảo không có dữ liệu nào bị
mất, đồng thời chi phí cho quá trình duyệt các file đã tồn tại phải đạt mức thấp nhất.
2.2.1.2. Công cụ thực hiện
- Extract-Transform-Load (ETL): điển hình như DTS (Data Transformation
Services) trong SQL Server, Informatica, Về công cụ ETL dạng Open source có
thể kểđến Talend, Kettle…
- Lập lịch: SQL Server Agent dùng để lập lịch cho việc tựđộng chuyển đổi từ
CSDL nguồn vào data warehouse.
2.2.2. Quy trình tạo cube
- Công cụ và database mẫu sử dụng:
• Business Intelligence Studio (đi kèm với MS SQL Sever)
• Adventure Work Cycle Sample Database

2.2.2.1. Tạo DataSource
Các bước như sau:
1. Trong khung Solution Explorer, phải chuột Data Sources và chọn New Data
Source
2. Tại màn hình Welcome to Data Source Wizard, nhấn Next để chuyển sang
cửa sổ Select how to define the connection
3. Tại cửa sổ Select how to define the connection page, ta có thể định nghĩa một
data source bằng cách tạo mới connection hoặc trên một connection đã có sẵn.
Trong bài hướng dẫn này, ta sẽđịnh nghĩa một data source bằng cách tạo mới một
connection, kiểm tra checkbox Create a data source based on an existing or new
connection được chọn và nhấn New
4. Trong dialog box Connection Manager, ta sẽđịnh nghĩa giá trị thuộc tính cho
Data Source. Trong danh sách Provider, chọn Native OLE DB\SQL Server Native
Client 10.0
5. Trong Server Name, gõ vào localhost
6. Kiểm tra giá trịUse Windows Authentication được chọn, trong danh sách
Select or enter a database name, ví dụ ở đây ta chọn database Adventure Works
DW2008
7. Nhấn Test Connection để kiếm tra kết nối đến với SQL Server
8. Chọn OK và nhấn Next
9. Tại cửa sổ Impersonation Information, ta sẽ thiết lập Security Credential cho
SSAS để kết nối tới Data Sources, ta chọn Use the Service account, và nhấn Next.
10.Tại màn hình Completing the wizard, thiết lập tên của Data Source là
Adventure Work DW và chọn Finish.
2.2.2.2. Tạo DataSource View
- Các bước như sau:
1. Trong khung Solution Explorer, phải chuột Data Sources Views, và chọn
New Data Source Views
2. Cửa số Welcome to Data Source View Wizard xuất hiện, nhấn Next
3. Dialog Select data source xuất hiện, tại mục Relational Data Sources, chọn

Adventure Work DW mà ta đã tạo như trên rồi chọn Next.
4. Tại Dialog Select Tables and Views, ta sẽ chọn các bảng dữ liệu và views từ
danh sách đối tượng, ta sẽ chọn các đối tượng sau:
DimCustomer (dbo)
DimDate (dbo)
DimGeography (dbo)
DimProduct (dbo)
FactInternetSales (dbo)
5. Nhấn nút “>” để thêm các bảng vào danh sách Included Objects
6. Nhấn Next
7. Tại thuộc tính Name, ta thiết lập là Adventure Wordk DW và nhấn Finish để
hoàn tất việc đĩnh nghĩa một data source view. Data Source View Adventure Work
DW sẽ hiển thị tại Data Source View Designer trong Business Intelligence
Development Studio và gồm các thành phần sau:
o Diagram Pane thể hiện mối quan hệ giữa các bảng dữ liệu trực quan
o Tables Pane: các bảng dữ liệu và schema được thể hiện theo tree view
o Diagram Organizer Pane hỗ trợ tạo các subdiagram mà thông qua đó ta có thể
có dc các subsets của data source view
Sau khi hoàn tất bước này, ta sẽ có khung nhìn toàn diện về các bảng dữ liệu và
mối quan hệ của chúng.
2.2.2.3. Tạo Dimension
Các bước như sau:
1. Trong pane Solution Explorer, phải chuột Dimentsions, chọn New
Dimensions.
2. Tại cửa sổ Welcome to Dimension Wizard, chọn Next
3. Tại cửa số Select Creation Method, đảm bảo tùy chọn Use an Existing Table
được chọn, chọn Next.
4. Tại cửa sổ Specify Source Information, đảm bảo data source Adventure
Works DW được chọn.
5. Trong danh sách Main Table, chọn Date

6. Tại trang Select Dimension Attributes, chọn các Attributes sau:
Date Key
Full Date Alternate Key
English Month Name
Calendar Quarter
Calendar Year
Calendar Semester
7. Thay đổi Attribute Type của cho thuộc tính Full Date Alternate Key từ
Regular sang Date bằng cách chọn vào Regular và tiến hành thay đổi. Thực hiện
tương tự cho các thuộc tính khác.
English Month Name –> Month
Calendar Quarter –> Quarter
Calendar Year –> Year
Calendar Semester –> Half Year
8. Nhấn Next
9. Tại màn hình Completing the Wizard, trong Preview Pane, ta có thể thấy
dimension Date và các thuộc tính của nó.
10.Nhấn Finish để hoàn tất việc định nghĩa Dimension
11.Tiến hành Save All Project
2.2.2.4. Tạo cube
Các bước như sau:
1. Trong Solution Explorer Pane, phải chuột Cubes, chọn New Cubes
2. Tại cửa sổ Welcome to the Cube Wizard, chọn Next
3. Tại cửa sổ Select Creation Method, chọn Use existing tables và nhấn Next
4. tại cửa sổ Select Measure Group Tables, đảm bảo Adventure Works DW data
source view được chọn, và nhấn Next.
Các bước như sau:
1. Trong Solution Explorer Pane, phải chuột Cubes, chọn New Cubes
2. Tại cửa sổ Welcome to the Cube Wizard, chọn Next
3. Tại cửa sổ Select Creation Method, chọn Use existing tables và nhấn Next

4. tại cửa sổ Select Measure Group Tables, đảm bảo Adventure Works DW data
source view được chọn, và nhấn Next.
5. Nhấn Suggest để cửa số Suggest Table hiển thị và đề xuất các table cần thiết
để xây dựng các measure group.
6. Nhấn Next
7. tại cửa sổ Select Measure, xem lại InternetSales measure group và deselect
các checkbox cho các giá trị sau
a. Promotion Key
b. Currency Key
c. Sales Territory Key
d. Revision Number
8. Chọn Next
9. tại cửa sổ Selecting Existing Dimensions, chọn Date dimension đã dc định
nghĩa và chọn Next
10.Trong cửa sổ Select New Dimension, chọn các dimension mới để thiết lập,
đảm bảo Customer, Geography và Product được chọn và deselect InternetSales.
11.Nhấn Next
12.tại cửa sổ Completing the Wizard, thiết lập name của Cube là Analysis
Services Tutorial,
13.Chọn Finish để hoàn tất
14.Tiến hành Save All
- Deploy Cube lên server
1. Trong Solution Explorer Pane, phải chuột Analysis Services Tutorial và chọn
Properties.
2. tại Configuration Properties tại pane bên trái, chọn Deployment
3. Chọn OK
4. Phải chuột Analysis Service Tutorial project và chọn Deploy
5. Review lại cửa sổ Output và Deployment Progress – Analysis Service
Tutorial đểđảm bảo cube được build không có lỗi khi build
6. Như vậy project SSAS đã được deploy lên server

Browsing Cube :
1. Chuyển sang Dimension Designer cho Product Dimension trong Business
Intelligence Studio bằng cách double click vào Product dimension trong Dimension
Node
2. Click Browse để hiển thị cây cấu trúc của Product Key
3. Chuyển sang Cube Designer trong Business Intelligence Development Studio
bằng cách double click vào Analysis Service Tutorial trong cube node.
4. Chuyển sang Browse tab và nhấn vào biểu tượng reconnect, cửa sổ Browse
tab gồm 2 phần
Left Pane: thể hiện các đối tượng của Analysis Service Tutorial Cube
Right Pane gồm 2 phần: phần trên là Filter Pane, phần dưới là Data Pane và việc
phân tích, thể hiện dữ liệu sẽđược thực hiện tại đây.
2.3. Thiết kế cấu trúc của Dataware House chứa giá vàng
Cấu trúc của DW gồm có 1 Datamart lưu trữ về giá vàng và các biến động
trong ngày của giá vàng thế giới, bao gồm giá cao nhất, giá nhỏ nhất và giá cuối
cùng trong ngày.
Hình 2.6. Cấu trúc Datamart Gold Price
- Các chiều trong Datamart :
+ DimDate : Chiều thông tin về thời gian như ngày tháng, ngày thứ mấy trong
tháng, tháng, quý, năm.
+DimCurrency: Chiều thông tin về tiền tệ, trong kho dữ liệu tạm thời chỉ lưu trữ
cho đơn vị USD
+DimGold: Chiều thông tin về loại vàng.

×