Tuynhiê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íchphức tạp.. Sử dụng hệ thố
Trang 1Tiểu Luận Xây dựng ứng dụng DataWareHouse phục vụ cho
việc dự báo giá vàng
Trang 2LỜ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ấtkinh doanh luôn cần có sự đáp ứng nhanh nhạy, tức thời đối với các thay đổi liêntụ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ềunguồn khác nhau một cách nhanh và hiệu quả thì mới có thể đưa ra được nhữngquyế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ăngtruy 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ệ Tuynhiê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íchphứ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ệntrọ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ểnkhai 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ệuquyết định không thực sự mạnh, không có sự linh hoạt, nhanh chóng và quan trọngnhấ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ộtcá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 chitiết về các vấn đề được quan tâm, và CSDL đó phải được tổ chức sao cho các thôngtin 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ế, saumộ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 ứngdụng DataWareHouse phục vụ cho việc dự báo giá vàng” nhằm ứng dụng nhữngkiế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ứacá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ànmới
Trang 3Mặ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
Trang 4CHƯƠNG 1 : TỔNG QUAN VỀ XỬ LÝ PHÂN TÍCH
TRỰC TUYẾN
1.1 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ượnglớ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ácthà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ựctuyế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 raquyết định Ý tưởng mô phỏng trong các chiều được mở rộng: một bảng với n thuộctính có thể được coi như một không gian n chiều Người quản lý đặt ra những câuhỏ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 chocô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ớiviệc phân tích hỗ trợ quyết định hơn những phương pháp khác
1.2 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ớichứ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ảngthờ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ủacá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ệuphá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ệcnghiệp vụ cụ thể của một tổ chức được gọi là dữ liệu tác nghiệp (operational data)
Trang 5và 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)
1.2.1 Đặ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 tinmứ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 khungnhì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ốngnhấ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 trongtừng hoạt động của mình Ví dụ trong doanh nghiệp, Dataware house được tổ chứcthành các chủ đề như : Khách hàng, tài chính, sản phẩm…, tuy nhiên Datawarehouse 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 ảnhchụ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
Trang 6mộ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 trongmột giai đoạn Yếu tố thời gian đóng vai trò như một phần của khóa để đảm bảotí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 đó, trongkhoả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ớicá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ũ,
Trang 7trong Dataware house sẽ không có thao tác xóa dữ liệu, vì các dữ liệu này vẫn cungcấ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ý.
1.2.2 Các khái niệm trong kho dữ liệu
1.2.2.1 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ộtchuyê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ể đượckế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ướcsau đó 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
1.2.2.2 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ơnhoặ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 dungcủ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ẫnngườ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ầnthiế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ácgiả, 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
Trang 8tế 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
Trang 91.2.2.3 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óimộ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 địnhtá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úpquyế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ácgiao 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ềumức độ khá nhau
Hình 1.5: Sự phong phú về chúng loại dữ liệu trong Dataware house
Trang 101.3 Phân tích dữ liệu trực tuyến (Online Analytical Processing – OLAP)
1.3.1 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ạokhối(cube) trong các bảng chiều (dimension table) và bảng sự kiện (fact table) trongkho 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 chocá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 OLAPcung 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, địnhhướ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ờigian 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
1.3.2 Đặ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.
1.3.3 Các mô hình OLAP
1.3.3.1 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)
Trang 11Hì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.
1.3.3.2 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ệ
Trang 12Hì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ảngmột chiều
Trang 13Hì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)
-1.3.3.3 HOLAP (Hybryd OLAP)
- Là mô hình kết hợp giữa hai mô hình MOLAP và ROLAP.
Trang 14Hì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 truyvấ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ônggian lưu trữ
Trang 15CHƯƠ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 Tuynhiên, từ phiên bản SQL Server 2005 đến SQL Server 2008 và mới nhất là SQLServer 2008 R2, thì bộ SQL Server đã được tích hợp nhiều gói dịch vụ hỗ trợ việctí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 ServerIntegrating Services, SQL Server Analysis Services và SQL Server ReportingServices
- Analysis Services là một dịch vụ hỗ trợ mạnh mẽ việc phân tích, khai thácthô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 ứngdụ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ậpcon(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 đachiều
- Cube dùng các dimensions, fact table và các measure để mô tả dữ liệu trongcube
Hình 2.1 Ví dụ về một khối (cube) có 3 chiều