Tuy nhiên, đa số hệ quản trị CSDL trên thị trường đều có một đặc điểm chung là sử dụng ngôn ngữ truy vấn theo cấu trúc mà tiếng Anh gọi là Structured Query Language (SQL). Các hệ quản trị CSDL phổ biến được nhiều người biết đến là MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix, v.v. Phần lớn các hệ quản trị CSDL kể trên hoạt động tốt trên nhiều hệ điều hành khác nhau như Linux, Unix và MacOS ngoại trừ SQL Server của Microsoft chỉ chạy trên hệ điều hành Windows.
30 trang |
Chia sẻ: lylyngoc | Lượt xem: 4965 | Lượt tải: 5
Bạn đang xem trước 20 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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.
- Bảng FactGoldPrice là bảng tổng hợp thông tin từ các chiều và chứa dữ liệu về giá vàng tương ứng.CHƯƠNG 3 : CHƯƠNG TRÌNH THỰC NGHIỆM
3.1. Tổng quan về các công cụ sử dụng trong chương trình.
3.1. Tổng quan về các công cụ sử dụng trong chương trình
3.1.1. Ngôn ngữ lập trình Csharp
C# là một ngôn ngữ rất đơn giản, với khoảng 80 từ khoá và hơn mười kiểu dữ liệu dựng sẵn, nhưng C# có tính diễn đạt cao. C# hỗ trợ lập trình có cấu trúc, hướng đối tượng, hướng thành phần (component oriented). Trọng tâm của ngôn ngữ hướng đối tượng là lớp. Lớp định nghĩa kiểu dữ liệu mới, cho phép mở rộng ngôn ngữ theo hướng cần giải quyết. C# có những từ khoá dành cho việc khai báo lớp, phương thức, thuộc tính (property) mới. C# hỗ trợ đầy đủ khái niệm trụ cột trong lập trình hướng đối tượng: đóng gói, thừa kế, đa hình.
C# là ngôn ngữ đơn giản
C# là ngôn ngữ hiện đại
C# là ngôn ngữ hướng đối tượng
C# là ngôn ngữ mạnh mẽ và mềm dẻo
C# là ngôn ngữ có ít từ khóa
C# là ngôn ngữ hướng module
C# sẽ trở nên phổ biến
C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và c++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual base class). Chúng là những nguyên nhân gây ra sự nhầm lẫn hay dẫn đến những vấn đề cho các người phát triển C++. Nếu chúng ta là người học ngôn ngữ này đầu tiên thì chắc chắn là ta sẽ không trải qua những thời gian để học nó! Nhưng khi đó ta sẽ không biết được hiệu quả của ngôn ngữ C# khi loại bỏ những vấn đề trên.
3.1.2. Hệ quản trị cơ sở dữ liệu SQL
Hệ quản trị cơ sở dữ liệu (tiếng Anh: Database Management System - DBMS), là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu. Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu (CSDL). Có rất nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính.
Tuy nhiên, đa số hệ quản trị CSDL trên thị trường đều có một đặc điểm chung là sử dụng ngôn ngữ truy vấn theo cấu trúc mà tiếng Anh gọi là Structured Query Language (SQL). Các hệ quản trị CSDL phổ biến được nhiều người biết đến là MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix, v.v. Phần lớn các hệ quản trị CSDL kể trên hoạt động tốt trên nhiều hệ điều hành khác nhau như Linux, Unix và MacOS ngoại trừ SQL Server của Microsoft chỉ chạy trên hệ điều hành Windows.
Ưu điểm của HQTCSDL:
Quản lý được dữ liệu dư thừa.
Đảm báo tính nhất quán cho dữ liệu.
Tạo khả năng chia sẻ dữ liệu nhiều hơn.
Cải tiến tính toàn vẹn cho dữ liệu.
Nhược điểm:
Hệ quản trị cơ sở dữ liệu tốt thì khá phức tạp.
Hệ quản trị cơ sở dữ liệu tốt thường rất lớn sẽ làm cho chiếm rất nhiều dung lượng bộ nhớ.
Giá cả khác nhau tùy theo môi trường và chức năng.
3.2. Các chức năng của chương trình
-Form main
Giao diện chính của chương trình, cung cấp cho người sử dụng 3 chức năng chính là Xem cube, xem các dự báo giá vàng được tính bằng các phương pháp dự báo cơ bản, và kết xuất báo cáo.
Hình 3.1: Giao diện chính của chương trình
- Xem cube
Chức năng này cho phép người sử dụng xem được các cube (Online cube trên server hoặc các file .cub (Offline cube)) trên một bảng có khả năng xoay chiều.
Hình 3.2: Giao diện xem cube
-Dự báo giá vàng
Chức năng này cho phép người dùng xem được giá vàng với một giao diện tùy chọn và có thêm vài chức năng hỗ trợ như hiển thị biểu đồ, hiện nên thông tin dự báo của những tháng hoặc năm sau theo phương pháp hồi quy tuyến tính.
Hình 3.3 : Chức năng dự báo giá vàng
-Kết xuất in ấn.
Chức năng cho phép người sử dụng lấy dữ liệu về dưới nhiều định dạng như excel, pdf, … để sử dụng cho các mục đích khác.
Hình 3.4: Dữ liệu sau khi được kết xuất ra excel
TÀI LIỆU THAM KHẢO
[1] Vincent Rainardi (2008) -Building a Data Warehouse: With Examples in SQL Server, Apress
[2]William. H. Inmon(2005) - Building the Data Warehouse, Wiley
Các file đính kèm theo tài liệu này:
- nckh_5863.docx