Trên thực tế, Ngân hàng Nhà nước đã tổ chức được các hệ thống cơ sở dữ liệu rất lớn gồm các báo cáo thường xuyên từ các ngân hàng và các tổ chức tài chính với số lượng trung bình từ 10-2
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ KIM OANH
KHO DỮ LIỆU VÀ ỨNG DỤNG XÂY DỰNG HỆ THỐNG DỮ LIỆU TRỢ GIÚP QUYẾT ĐỊNH VỀ
CHÍNH SÁCH TIỀN TỆ QUỐC GIA
Ngành: CÔNG NGHỆ THÔNG TIN
Trang 2MỞ ĐẦU 1
Chương I KHÁI NIỆM VỀ KHO DỮ LIỆU 4
1.1 Khái niệm về kho dữ liệu 4 1.1.1 Định nghĩa 4
1.1.2 Các tính chất của Data Warehouse 6
1.1.2.1 Hướng chủ đề 6
1.1.2.2 Tính ổn định 6
1.1.2.3 Được tích hợp 7
1.1.2.4 Gắn với thời gian 7
1.1.3 Cơ sở dữ liệu tác nghiệp và kho dữ liệu 7
1.2 Kiến trúc thành phần của Data Warehouse 8 1.2.1 Các loại kiến trúc của Data Warehouse 8
1.2.2 Các thành phần cơ bản của kiến trúc Data Warehouse 10
1.2.3 Các lược đồ dữ liệu của Data Warehouse 11
1.2.3.1 Lược đồ hình sao 11
1.2.3.2 Lược đồ bông tuyết 13
1.3 Các mô hình thiết kế cơ sở dữ liệu 14 1.3.1 Mô hình dữ liệu lôgíc 14
1.3.2 Mô hình dữ liệu vật lý 15
1.4 Kho dữ liệu chuyên đề 16 1.4.1 Khái niệm kho dữ liệu chuyên đề 17
1.4.2 Sự khác nhau giữa Data Warehouse và Data Mart 17
1.4.3 Các dạng cơ bản của Data Mart 17
Chương II CÔNG CỤ ORACLE TRỢ GIÚP PHÁT TRIỂN DATA WAREHOUSE VÀ DATAMART 20
2.1 Kiến trúc của Warehouse Builder 20 2.1.1 Môi trường thiết kế 20
2.1.2 Môi trường vận hành 22
2.2 Các chức năng chính của Warehouse Builder 22 2.3 Các thành phần của Warehouse Builder 23 2.3.1 Ứng dụng phía khách của Warehouse Builder Client Application 23
2.3.2 Dịch vụ nền vận hành Warehouse Builder 23
2.3.3 Kho lưu trữ thiết kế của Warehouse Builder 23
2.3.4 Kho lưu trữ vận hành của Warehouse Builder 24
2.3.5 Trình duyệt báo cáo kiểm toán 24
2.3.6 Trình duyệt báo cáo siêu dữ liệu 24
2.4 Các đối tượng của Warehouse Builder 24 2.5 Các bước sử dụng Warehouse Builder 25 2.5.1 Định nghĩa các đối tượng nguồn và đích 25
2.5.2 Định nghĩa các đối tượng để trích lọc, chuyển đổi và tải dữ liệu 25
2.5.3 Thẩm định và sinh mã 25
2.5.4 Triển khai và thực thi 26
Header Page 2 of 27.
Footer Page 2 of 27.
Trang 32.6 Những ưu điểm nổi bật khi sử dụng Warehouse Builder 26
2.6.1 Nắm bắt các thay đổi của dữ liệu 26
2.6.2 Các bảng ngoại, hàm bảng, cơ chế đường ống và lệnh MERGE 27
2.6.3 Khung nhìn làm tư liệu làm tươi nhanh dữ liệu 28
Chương III ỨNG DỤNG DATA WAREHOUSE XÂY DỰNG HỆ THỐNG BÁO CÁO THỐNG KÊ CHO NGÂN HÀNG NHÀ NƯỚC 29
3.1 Mô hình nghiệp vụ của hệ thống Báo cáo thống kê NHNN 29 3.1.1 Sơ đồ luồng thông tin của hệ thống Báo cáo thống kê 29
3.1.2 Hệ thống các chỉ tiêu của Báo cáo thống kê 30
3.1.3 Hệ thống các tài khoản kế toán 32
3.1.4 Nội dung của báo cáo thống kê 33
3.1.5 Nội dung của báo cáo Tài chính Error! Bookmark not defined 3.1.6 Hoạt động nghiệp vụ của một số đơn vị của NHNNError! Bookmark not defined 3.1.7 Yêu cầu nghiệp vụ của hệ thống khai thác báo cáoError! Bookmark not defined 3.1.7.1 Yêu cầu cụ thể của hệ thống báo cáoError! Bookmark not defined 3.1.7.2 Các loại báo cáo cần phát triển Error! Bookmark not defined 3.2 Xây dựng kho dữ liệu Data Warehouse phục vụ cho việc khai thác báo cáo Error! Bookmark not defined 3.2.1 Xây dựng cơ sở dữ liệu theo chuẩn Data WarehouseError! Bookmark not defined 3.2.1.1 Kiến trúc của Data Warehouse Báo cáo thống kêError! Bookmark not defined 3.2.1.2 Kết cấu của Data Warehouse Báo cáo thống kêError! Bookmark not defined 3.2.1.3 Các bước cài đặt vật lý data warehouseError! Bookmark not defined 3.2.2 Xây dựng qui trình tích hợp dữ liệu cho Data WarehouseError! Bookmark not defined 3.2.2.1 Xây dựng giải pháp tích hợp dữ liệu vào kho dữ liệu Báo cáo thống kê Error! Bookmark not defined 3.2.2.2 Các bước thực hiện quá trình tích hợp dữ liệuError! Bookmark not defined Chương IV TỔ CHỨC KHAI THÁC BÁO CÁO VỚI KHO DỮ LIỆUError! Bookmark not defined 4.1 Giải pháp xây dựng hệ thống khai thác báo cáoError! Bookmark not defined 4.2 Chiến lược xây dựng hệ thống báo cáo Error! Bookmark not defined 4.3 Các bước xây dựng báo cáo Error! Bookmark not defined 4.4 Mô hình khai thác báo cáo Error! Bookmark not defined 4.5 Cài đặt hệ thống Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO 34
PHỤ LỤC
Footer Page 3 of 27.
Trang 4BẢNG CÁC CHỮ VIẾT TẮT
BCTK Báo cáo thống kê
BO Bussiness Object CNTH Công nghệ tin học CSDL Cơ sở dữ liệu (database) DBA Quản trị Database
DM Data Mart DWH Data Warehouse EDW Enterprise Data Warehouse ETL Extraction-Transformation-Load ETT Extraction-Transformation-Transportation NHNN Ngân hàng Nhà nước Việt nam
NHTW Ngân hàng Trung ương ODS Operational Data Store OLAP Online Analytical Processing OLTP Online Transaction Processing TCTD Tổ chức tín dụng
Header Page 4 of 27.
Footer Page 4 of 27.
Trang 5DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU
Hình 1.1 Tính ổn định của dữ liệu trong Data Warehouse 6
Hình 1.2 Kiến trúc đơn giản của DW 9
Hình 1.3 Kiến trúc của DW với vùng gắn nhãn (Staging area) 9
Hình 1.4 Kiến trúc của DW với vùng gắn nhãn và các DM 10
Hình 1.5 Lược đồ hình sao của DW 12
Hình 1.6 Lược đồ bông tuyết của DW 13
Hình 1.7 Kho dữ liệu chuyên đề phụ thuộc 18
Hình 1.8 Kho dữ liệu chuyên đề độc lập 18
Hình 2.1 Sơ đồ phát triển hệ thống theo Warehouse Builder 21
Hình 2.2 Các đối tượng của Warehouse Builder 25
Hình 3.1 Sơ đồ mô tả luồng thông tin báo cáo trong hệ thống NHNN 30
Hình 3.2 Kiến trúc DWH BCTK Error! Bookmark not defined
Hình 3.3 Sơ đồ tổng quát quá trình tích hợp dữ liệu vào kho dữ liệu BCTK
Error! Bookmark not defined Hình 3.4 Sơ đồ chi tiết quá trình tích hợp dữ liệu vào kho dữ liệu BCTK Error! Bookmark not defined
Hình 3.5 Các bước của quá trình tích hợp dữ liệu vào kho dữ liệu BCTK Error! Bookmark not defined
Hình 3.6 Quá trình tải dữ liệu từ nguồn vào Staging Error! Bookmark not defined
Hình 3.7 Quá trình tải dữ liệu từ Staging vào bảng T_ATOMIC_DATA Error! Bookmark not defined
Hình 3.8 Quá trình tải dữ liệu từ bảng T_ATOMIC_DATA sang các bảng fact
Error! Bookmark not defined Hình 3.9 Quá trình cập nhật dữ liệu cho các bảng dimension Error! Bookmark not defined
Hình 4.1 Môi trường tổ chức khai thác báo cáo của BO Error! Bookmark not defined
Hình 4.2 Kiến trúc của BO với tầng ngữ nghĩa Error! Bookmark not defined Hình 4.3 Các thành phần của BO Repository Error! Bookmark not defined
Footer Page 5 of 27.
Trang 6Hình 4.4 Mô hình khai thác báo cáo Error! Bookmark not defined
Header Page 6 of 27.
Footer Page 6 of 27.
Trang 7MỞ ĐẦU
1 Tính cấp thiết của đề tài
Trong điều kiện của cơ chế thị trường, chính sách tiền tệ và điều hành vĩ
mô về tài chính và tiền tệ có một ý nghĩa quyết định đến sự phát triển kinh tế của đất nước một cách ổn định và lành mạnh Trong những năm gần đây, số ngân hàng trong nước tăng lên rất nhanh Thêm vào đó còn có sự tham gia của các ngân hàng 100% vốn nước ngoài Số vốn của các ngân hàng có quy mô ngày một lớn, các dịch vụ mà ngân hàng cung cấp ngày càng phong phú Khối lượng thông tin mà Ngân hàng Nhà nước quản lý ngày một nhiều: nó tăng theo số lượng các ngân hàng hoạt động cũng như quy mô vốn của các ngân hàng cùng các dịch vụ mà chúng cung cấp Trên thực tế, Ngân hàng Nhà nước đã tổ chức được các hệ thống cơ sở dữ liệu rất lớn gồm các báo cáo thường xuyên từ các ngân hàng và các tổ chức tài chính với số lượng trung bình từ 10-20 nghìn chỉ tiêu/ngày, đặc biệt vào các ngày cuối tháng số lượng này lên tới hàng trăm nghìn chỉ tiêu Cục Công nghệ tin học của Ngân hàng Nhà nước là đơn vị có nhiệm vụ thu thập và tổng hợp báo cáo Cục được trang bị một hệ thống mạng máy tính rất mạnh và đang sử dụng hệ quản trị cơ sở dữ liệu Oracle để quản lý và khai thác các dữ liệu này Tuy nhiên, việc khai thác báo cáo trên cơ sở dữ liệu tác nghiệp này có một số nhược điểm như không hỗ trợ được các báo cáo đột xuất theo yêu cầu; chưa tổng hợp được số liệu theo nhiều chiều, dưới nhiều dạng báo cáo khác nhau như biểu đồ, đồ thị,…; chưa tổng hợp được dữ liệu từ nhiều hệ thống nghiệp vụ khác nhau; việc khai thác báo cáo phải thực hiện trên máy tính có cài đặt chương trình Do vậy, một yêu cầu cấp bách đặt ra là: làm sao có được một kho dữ liệu tập trung với số liệu đầy đủ, tổng hợp và chính xác của toàn ngành ngân hàng một cách nhanh nhất để phục vụ việc điều hành vĩ mô của nhà nước
về tiền tệ một cách hiệu quả Vì thế đề tài “Kho dữ liệu và ứng dụng xây dựng
hệ thống dữ liệu trợ giúp quyết định về chính sách tiền tệ quốc gia” được chọn làm đề tài luận văn tốt nghiệp của tôi
2 Mục tiêu của đề tài
Vận dụng những cơ sở lý thuyết về Data Warehouse để xây dựng hệ thống
dữ liệu Báo cáo thống kê tập trung tại Ngân hàng Nhà nước phục vụ cho việc trợ giúp ra quyết định về chính sách tiền tệ quốc gia
3 Đối tượng và phạm vi nghiên cứu
Đối tượng:
Footer Page 7 of 27.
Trang 82
− Bộ mã chỉ tiêu báo cáo thống kê do Ngân hàng Nhà nước ban hành
− Hệ thống tài khoản kế toán của Ngân hàng Nhà nước
− Hệ thống thu thập thông tin Báo cáo thống kê, Báo cáo tài chính Phạm vi:
Đề tài này có quy mô rất lớn, do vậy luận văn chỉ tập trung vào nghiên cứu việc thiết kế kho dữ liệu Báo cáo thống kê trên hai nguồn dữ liệu chính là cơ sở liệu tác nghiệp Báo cáo thống kê và Báo cáo tài chính, đưa giải pháp tích hợp dữ liệu đối với dữ liệu báo cáo theo mã chỉ tiêu đã qui định và tổ chức triển khai việc khai thác báo cáo trên một số Vụ, Cục của Ngân hàng Trung ương Trong
đó, tận dụng tối đa các công cụ sẵn có của Oracle cũng như những cơ sở công nghệ thông tin hiện có của Ngân hàng Nhà nước để tổ chức vận hành, khai thác kho dữ liệu này
4 Nhiệm vụ nghiên cứu
− Nghiên cứu lý thuyết về Data Warehouse
− Thiết kế một kho dữ liệu Báo cáo thống kê theo kiến trúc của Data Warehouse
− Tổ chức, khai thác thông tin từ kho dữ liệu Báo cáo thống kê
5 Phương pháp nghiên cứu
Nghiên cứu thực tiễn: nghiên cứu các yêu cầu của người sử dụng tại các
Vụ, Cục Ngân hàng Trung ương về nhu cầu sử dụng thông tin báo cáo thống kê Phương pháp nghiên cứu lý thuyết: nghiên cứu các tài liệu về Data Warehouse
Phương pháp tiếp cận hệ thống: đối tượng nghiên cứu có quan hệ chặt chẽ với các hệ thống thông tin khác đã có sẵn
6 Kết cấu luận văn
Nội dung chính của luận văn gồm 4 chương:
Chương 1: Những khái niệm cơ bản về kho dữ liệu và kho dữ liệu chuyên
Trang 9Chương 3: Ứng dụng Data Warehouse xây dựng hệ thống Báo cáo thống kê cho Ngân hàng Nhà nước
Chương 4: Tổ chức khai thác báo cáo với kho dữ liệu
Cuối cùng là kết luận và hướng phát triển tiếp theo của đề tài
Footer Page 9 of 27.
Trang 104
Chương I
KHÁI NIỆM VỀ KHO DỮ LIỆU
Ngày nay, thông tin trở thành một nguồn tài nguyên cực kỳ quan trọng cần được quản lý và khai thác hiệu quả Hơn bao giờ hết, tất cả các tổ chức kinh doanh trên thế giới đều tập trung phát triển hệ thống thông tin như một nguồn lực chủ chốt trong việc tạo ra ưu thế cạnh tranh cũng như tăng khả năng đáp ứng đối với thị trường biến động không ngừng Chính vì vậy, yêu cầu về một phương tiện có khả năng lưu trữ dữ liệu khối lượng lớn, xử lý thông tin nhanh đã dẫn đến sự ra đời của kho dữ liệu
Những dự án đầu tiên về kho dữ liệu được xây dựng từ những năm
1984-1988 Cho đến những năm 1994, ở các nước phát triển, các dự án xây dựng kho
dữ liệu phát triển mạnh mẽ Lúc đầu, các dự án này chỉ được phát triển ở những
tổ chức lớn Cùng với nhu cầu phát triển của kho dữ liệu, nhiều công cụ trợ giúp cho việc phát triển kho dữ liệu cũng ra đời và không ngừng hoàn thiện: Nhiều hệ quản trị cơ sở dữ liệu (CSDL) được bổ sung thêm các công nghệ và công cụ cho việc phát triển và khai thác kho dữ liệu Trong số các hãng phát triển hệ quản trị CSDL truyền thống như Oracle, DB2, Microsoft SQL server,…Oracle là hãng hàng đầu thế giới trong lĩnh vực hệ quản trị CSDL có công nghệ xây dựng kho
dữ liệu tiên tiến (theo báo cáo của Gartner về thị phần của các hệ quản trị CSDL, Oracle chiếm tới 47,1% thị phần năm 2006) Đặc biệt Oracle 11g có rất nhiều tính năng tiên tiến cho việc xây dựng và khai thác các CSDL lớn như: khả năng nén và phân vùng dữ liệu hiệu quả, tự động hóa nhiều hoạt động phân vùng và
mở rộng các phương pháp phân vùng khác nhau, hoàn thiện các bộ công cụ phân vùng, nén và xử lý cả dữ liệu có cấu trúc và phi cấu trúc, … [16]
1.1 Khái niệm về kho dữ liệu
1.1.1 Định nghĩa
Kho dữ liệu (Data Warehouse – DWH) không phải là một khái niệm mới
và đã được định nghĩa theo rất nhiều cách khác nhau, vì vậy khó có thể định nghĩa chuẩn xác được Theo một nghĩa nào đó thì kho dữ liệu được xem như là một CSDL lớn tập trung dữ liệu từ nhiều nguồn trong doanh nghiệp Việc sử dụng DWH sẽ tạo ra một sự đồng nhất về thông tin doanh nghiệp và từ kho dữ liệu này doanh nghiệp có thể nhận được các chỉ tiêu phân tích hay dùng các công cụ hỗ trợ để theo dõi các chỉ tiêu cần quan tâm Vì thế, kho dữ liệu có thể được xem là một môi trường có cấu trúc các hệ thống thông tin, cung cấp cho
Header Page 10 of 27.
Footer Page 10 of 27.
Trang 11người dùng những thông tin khó có thể truy nhập hoặc biểu diễn trong cơ sở dữ liệu (CSDL) tác nghiệp truyền thống, nhằm mục đích hỗ trợ việc ra quyết định mang tính lịch sử hoặc hiện tại [1] Bill Inmon, người được xem là kiến trúc sư
đầu tiên xây dựng kho dữ liệu đã định nghĩa: “Kho dữ liệu là tập hợp dữ liệu
hướng chủ đề, được tích hợp, gắn với thời gian và ổn định được thiết kế cho việc hỗ trợ quá trình ra quyết định của người quản lý”[10]
Về bản chất, kho dữ liệu hướng vào việc cung cấp một kiến trúc, công cụ
để phát triển dữ liệu của các hệ thống hỗ trợ quyết định Dữ liệu phát sinh từ trong các hoạt động hàng ngày và được thu thập, xử lý để phục vụ công việc nghiệp vụ cụ thể của một tổ chức thường được gọi là dữ liệu tác nghiệp Các hoạt động thu thập xử lý dữ liệu tác nghiệp được gọi là xử lý giao dịch trực tuyến (Online Transaction Processing - OLTP) Trái lại, kho dữ liệu phục vụ cho việc phân tích các kết quả mang thông tin mức cao Các hệ thống thông tin thu thập xử lý dữ liệu loại này được gọi là xử lý phân tích trực tuyến (Online Analytical Processing - OLAP) Kho dữ liệu thường rất lớn tới hàng trăm GB hay thậm chí hàng Terabyte Nó đượ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
đã có sẵn từ trước DWH là một kho dữ liệu quan hệ đa chiều được thiết kế cho việc truy vấn dữ liệu và phân tích hơn là cho việc xử lý giao dịch Một DWH thường chứa dữ liệu lịch sử mong muốn từ dữ liệu giao dịch Nó phân tích riêng
rẽ khối dữ liệu từ dữ liệu giao dịch và cho phép lấy dữ liệu từ nhiều nguồn
Có ba kiểu kho dữ liệu thường gặp:
− Kho dữ liệu doanh nghiệp (Enterprise Data Warehouse - EDW): kho
dữ liệu loại này cung cấp một tập dữ liệu trung tâm được tổ chức hỗ trợ cho việc ra quyết định của cả công ty (xí nghiệp)
− Kho dữ liệu tác nghiệp (Operational Data Store - ODS): kho dữ liệu
loại này dùng cho các công ty có phạm vi rộng, nhưng nó không giống với kho dữ liệu doanh nghiệp Ở đây dữ liệu được làm tươi ngay tức thì và được sử dụng cho những hoạt động thường nhật Theo định nghĩa của Inmon, ODS khác EDW ở chỗ, nó bị giới hạn về tính lịch
sử của dữ liệu và được cập nhật dữ liệu thường xuyên hơn
− Kho dữ liệu chuyên đề (Data Mart - DM): kho dữ liệu chuyên đề là
một DWH cỡ nhỏ và nó hỗ trợ cho những nghiệp vụ chuyên biệt hoặc cho những chức năng nghiệp vụ cụ thể
Footer Page 11 of 27.
Trang 126
Trong ba loại kho dữ liệu trên, thì ODS là sự nâng cấp từ CSDL vốn tồn tại
trong doanh nghiệp nếu doanh nghiệp có tổ chức các CSDL phục vụ cho hoạt động của mình DWH và DM cần được phát triển dựa trên việc mô hình hoá dữ
liệu theo các chiều, trong đó các bảng sự kiện (Fact table) được kết nối với các
bảng chiều (Dimension table) Mục tiêu của việc xây dựng các kho dữ liệu này
là nhằm phục vụ cho các hoạt động nghiệp vụ ở mức cao hơn với hiệu quả cao
1.1.2 Các tính chất của Data Warehouse
Một kho dữ liệu được xác định là một CSDL trong đó có chứa bốn đặc tính
sau: hướng chủ đề, tính ổn định, được tích hợp, gắn với thời gian
vụ các giao dịch đó Trong khi đó, dữ liệu lưu trữ trong kho dữ liệu được dùng
để phục vụ mục đích phân tích và hỗ trợ quyết định Đây là một trong những chức năng phức tạp
1.1.2.2 Tính ổn định
Hình 1.1 Tính ổn định của dữ liệu trong Data Warehouse
Dữ liệu trong kho dữ liệu là dữ liệu hướng chủ đề, không được hiệu chỉnh, sửa đổi mà nó chỉ nhằm mục đích phục vụ truy vấn thông tin Nhờ yếu tố này
mà tốc độ tổng hợp dữ liệu tăng lên một cách đáng kể Hơn nữa kết quả trả lại khi thực hiện công việc phân tích trong những thời gian gần nhau thì hầu như là giống nhau
kho dữ liệu
Hệ tác nghiệp
Thêm Sửa Xóa
trích lọc, chuyển đổi và nạp
dữ liệu
Truy vấn
Header Page 12 of 27.
Footer Page 12 of 27.
Trang 131.1.2.3 Được tích hợp
Một kho dữ liệu được xây dựng bằng việc tích hợp nhiều nguồn dữ liệu, lưu trữ trong một cấu trúc đồng nhất, toàn vẹn Ví dụ như là dữ liệu về ngày tháng phải luôn được chứa ở cùng một dạng chuẩn Tích hợp dữ liệu là một vấn
đề luôn được đặt ra của hầu hết các cách tổ chức, đặc biệt là việc tích hợp dữ liệu đòi hỏi phải sử dụng đến nhiều công nghệ chuyên dụng đang được biết đến
Sự khác biệt là ở các quy tắc cơ bản ví dụ như là tập ký tự Hệ ký tự được dùng chủ yếu trong các hệ thống là ASCII (American Standard Code for Informaiton Interchange) Tuy nhiên có một số hệ thống không dùng hệ ký tự này Ngoài ra còn có một số nguyên nhân không dễ thấy được như là trong cùng một kiểu dữ liệu nhưng với các hệ quản trị CSDL khác nhau là khác nhau Vì vậy, việc truy nhập theo các phương thức tuần tự là không hiệu quả Hơn nữa, trước khi dữ liệu được đưa vào kho dữ liệu thì nó phải được tích hợp Sự tích hợp này là một tiến trình xuyên suốt trong thời gian khi dữ liệu được chuyển vào kho dữ liệu và sau khi nó được đưa vào CSDL ứng dụng và trước khi được đưa vào CSDL của kho dữ liệu
1.1.2.4 Gắn với thời gian
Đối với kho dữ liệu, yếu tố thời gian được gắn liền với các dữ liệu Điều này nghĩa là dữ liệu được ghi lại theo thời gian lưu trữ các dữ liệu Tuy nhiên, hầu hết các truy vấn đều được xử lý ngược lại với việc có một vài thuộc tính về thời gian được lưu trữ trong kho dữ liệu Chúng ta đã xác định rằng, hầu hết các
hệ tác nghiệp đều không chứa các thông tin về lịch sử của nó Sẽ không thể đoán trước được chuyện gì sẽ xảy ra trong tương lai nếu chúng ta không quan sát được chuyện gì đã xảy ra trong quá khứ Một kho dữ liệu sẽ giúp chúng ta lấy ra các thông tin cơ bản này bằng cách thêm trường lịch sử thời gian vào dữ liệu được lấy từ hệ tác nghiệp Như vậy, đối với một doanh nghiệp thì bản thân DWH là một “ảnh chụp nhanh” trạng thái của doanh nghiệp tại các thời điểm khác nhau Nó hỗ trợ việc định ra phương hướng và công tác dự báo cho tương lai Vì thế thuộc tính thời gian được ngầm hiểu trong DWH như là một thuộc tính bắt buộc Thời gian đóng vai trò như một phần để đảm bảo tính đơn nhất của các bản ghi và cung cấp đặc trưng về thời gian cho dữ liệu
1.1.3 Cơ sở dữ liệu tác nghiệp và kho dữ liệu
Thông thường, khi tin học hóa hoạt động quản lý một tổ chức, người ta thường xây dựng CSDL cho các hoạt động quản lý nghiệp vụ thường xuyên của
tổ chức và ta có được CSDL tác nghiêp Hệ thống thông tin tác nghiệp với các
dữ liệu tác nghiệp có các đặc điểm sau:
Footer Page 13 of 27.
Trang 148
− Trợ giúp công việc hàng ngày
− Chứa các dữ liệu hiện thời, phản ánh trạng thái của công việc
− Hoạt động của hệ thống thường đơn giản, giới hạn trong một phạm vi nghiệp vụ đã xác định, và hoạt động chính yếu là cập nhật dữ liệu
− Xử lý thông tin hướng đến việc xử lý nhanh các tác vụ đã được định trước
− Người dùng là người làm công việc cụ thể, ở mức độ chi tiết như nhân viên bán hàng, thư ký, thủ kho,…
− Thiết kế thường khó hiểu (các bảng dữ liệu phải đạt chuẩn 3 trở lên) đối với người dùng và che dấu đi những quan hệ trực quan của đời thường
Trong khi đó kho dữ liệu hướng vào trợ giúp quá trình phân tích và ra quyết định cần có các tính chất sau:
− Trợ giúp quá trình quản lý và điều hành công việc
− Chứa các dữ liệu mang tính lịch sử, thể hiện cách nhìn ổn định của công việc trong một giai đoạn hay những thời điểm trong quá khứ
− Được tối ưu hóa cho việc truy vấn, với câu hỏi đã xác định trước hay được thiết lập theo yêu cầu người dùng
− Người dùng là những nhà quản lý, phân tích, dự báo hay đánh giá công việc và ra quyết định, các yêu cầu thường đa dạng và có tính nghiệp vụ chuyên ngành
− Dữ liệu được thiết kế dễ hiểu và dễ sử dụng đối với người dùng
1.2 Kiến trúc thành phần của Data Warehouse
1.2.1 Các loại kiến trúc của Data Warehouse
Có một số loại kiến trúc của DWH thường gặp:
Hình 1.2 chỉ ra một kiến trúc đơn giản của DWH Người sử dụng truy cập
trực tiếp vào dữ liệu được dẫn xuất từ nhiều nguồn dữ liệu thông qua DWH
Header Page 14 of 27.
Footer Page 14 of 27.
Trang 15Hình 1.2 Kiến trúc đơn giản của DWH
Kiến trúc kho dữ liệu với vùng dữ liệu gắn nhãn được biểu diễn như hình
1.3 Ở đây siêu dữ liệu và các dữ liệu chưa chế biến của hệ thống OLTP hiện tại được đưa vào cùng dữ liệu tổng hợp Các dữ liệu tổng hợp rất có giá trị trong DWH vì nó được tính trước trong quá trình nạp dữ liệu vào DWH nên thuận tiện cho việc truy xuất dữ liệu cho người dùng Như vậy, để có được các dữ liệu trong DWH cần có một quá trình làm sạch và những thao tác chế biến dữ liệu trước khi đẩy dữ liệu vào DWH
Hình 1.3 Kiến trúc của DWH với vùng gắn nhãn (Staging area) Chúng ta có thể thực hiện quá trình này bằng cách sử dụng một chương trình tự động hoặc sử dụng vùng gắn nhãn thay thế Vùng này làm đơn giản việc xây dụng các bảng tổng hợp và quản lý DWH
Footer Page 15 of 27.
Trang 1610
Loại kiến trúc phức tạp hơn cả là kiến trúc kho dữ liệu với vùng gắn nhãn
và các kho chuyên đề (Staging Area and Data marts) Kho dữ liệu loại này được
biểu diễn như ở hình 1.4
Hình 1.4 Kiến trúc của DWH với vùng gắn nhãn và các DM Kiến trúc loại này tương tự loại ở trên nhưng thêm một thành phần nữa là các kho dữ liệu chuyên đề Nhờ vậy, nó có thể đáp ứng được thêm các yêu cầu liên quan đến các nghiệp vụ cụ thể, chuyên biệt
Kiến trúc tổng quát của kho dữ liệu bao gồm các thành phần [1,12,13] sau:
Các dữ liệu nguồn: là đầu vào cho kho dữ liệu
Dữ liệu nguồn trong trường hợp điển hình bao gồm nhiều loại khác nhau:
Các dữ liệu từ các hệ thống tác nghiệp: các dữ liệu chi tiết nhận
được từ các hoạt động nghiệp vụ hàng ngày
Các dữ liệu kế thừa: các dữ liệu cũ không dùng cho hoạt động hàng
ngày, các phương pháp tổ chức dữ liệu khác với mô hình hiện hành, các dữ liệu được mã hóa khi đã qua sử dụng và các thông tin đầy đủ
về cấu trúc và ngữ nghĩa của dữ liệu kế thừa
Các dữ liệu bên trong khác
Các nguồn dữ liệu được lấy từ bên ngoài
Các công cụ trích lọc, chuyển đổi và nạp dữ liệu thực hiện các nhiệm
vụ thu thập, chuẩn hóa, làm sạch, chắt lọc, tích hợp dữ liệu và nạp vào kho dữ liệu
Header Page 16 of 27.
Footer Page 16 of 27.
Trang 17 Kho dữ liệu: là nơi lưu trữ các loại dữ liệu Nó gồm ba khối lớn: các dữ liệu thô, các dữ liệu tổng hợp và siêu dữ liệu Các chức năng chính của
siêu dữ liệu bao gồm:
Định nghĩa các dữ liệu lưu trữ trong kho
Mô tả các báo cáo và các truy vấn
Mô tả các quy định sao chép, cập nhật và nạp dữ liệu
Mô tả cách truy nhập dữ liệu
Các kho dữ liệu chuyên đề lưu các dữ liệu về một lĩnh vực, một chuyên
ngành
Các công cụ truy vấn giúp tạo báo cáo, phân tích trực tiếp và khai phá
dữ liệu
Hệ quản trị kho dữ liệu Nó có chức năng nạp vào, nạp lại dữ liệu, trích
lọc dữ liệu, đảm bảo an toàn truy nhập, sao lưu và phục hồi dữ liệu
Hệ thống phân phối thông tin bao gồm hai lớp:
Lớp chuyển tải dữ liệu giữa các thành phần của kho và các bộ phận
liên quan
Lớp kết cấu hạ tầng: cung cấp các công cụ cho tìm kiếm, quản lý,
xác định các phần mềm ứng dụng cho người dùng, cho việc sao chép, cập nhật, kết nối, tổng hợp dữ liệu, cung cấp các dịch vụ quản
lý các khối dữ liệu, và các xử lý yêu cầu
1.2.3 Các lược đồ dữ liệu của Data Warehouse [10,11]
Khi phát triển một kho dữ liệu thường sử dụng hai lược đồ để tổ chức lưu
trữ dữ liệu, đó là lược đồ hình sao (start Flake) và lược đồ bông tuyết (Snow
Flake)
1.2.3.1 Lược đồ hình sao
Lược đồ hình sao là lược đồ dữ liệu quan hệ diễn tả dữ liệu nhiều chiều Nó
là dạng lược đồ đơn giản nhất của DWH chứa một hoặc nhiều chiều và một bảng sự kiện Nó được gọi là lược đồ hình sao vì sơ đồ quan hệ thực thể giữa các bảng chiều và bảng sự kiện giống như hình sao mà trong đó bảng sự kiện được kết nối với nhiều bảng chiều Trung tâm của lược đồ hình sao bao gồm một bảng sự kiện lớn và nối đến các bảng chiều (hình 1.5) Lợi ích của lược đồ hình sao là sự tách được các dữ liệu thành các lớp nhỏ theo các bảng chiều, tăng tốc độ của việc trình diễn dữ liệu và dễ dàng hiểu được về dữ liệu
Footer Page 17 of 27.
Trang 1812
Hình 1.5 Lược đồ hình sao của DWH
a Các thành phần của lược đồ hình sao
Lược đồ hình sao có 3 thành phần chính:
− Bảng sự kiện và nội dung của nó: Những thuộc tính và các khóa ngoài
cần thiết để liên kết các bảng chiều
− Các bảng chiều và nội dung của nó: các thuộc tính và các thuộc tính
tham chiếu Các bảng chiều đã được chuẩn hóa
− Các đường kết nối bảng chiều với bảng sự kiện
b Các bước thiết kế một lược đồ hình sao
Để thiết kế mô hình lôgic của lược đồ hình sao cần tiến hành các bước sau:
− Xác định quá trình nghiệp vụ để phân tích yêu cầu (như nghiệp vụ bán hàng)
Các thuộc tính đo
TÊN BẢNG CHIỀU
Các thuộc tính mô tả Các thuộc tính phâncấp Các thuộc tính đo
TÊN BẢNG CHIỀU
Các thuộc tính mô tả Các thuộc tính phâncấp Các thuộc tính đo
TÊN BẢNG CHIỀU
Các thuộc tính mô tả Các thuộc tính phâncấp Các thuộc tính đo
TÊN BẢNG CHIỀU
Các thuộc tính mô tả Các thuộc tính phâncấp Các thuộc tính đo
Header Page 18 of 27.
Footer Page 18 of 27.
Trang 191.2.3.2 Lược đồ bông tuyết
Lược đồ bông tuyết là một cải tiến của lược đồ hình sao, trong đó một số
chiều được phân cấp để thể hiện rõ ràng dạng chuẩn của bảng chiều Điều này dẫn đến nhiều lợi ích trong việc duy trì các bảng chiều Tuy nhiên, cấu trúc phi chuẩn của các bảng chiều trong lược đồ hình sao có thể thích hợp hơn cho việc duyệt các chiều Trong lược đồ bông tuyết (hình 1.6), các bảng chiều được chuẩn hóa Trong một vài trường hợp, lược đồ này cải thiện việc truy xuất dữ liệu vì các bảng nhỏ hơn được liên kết với nhau nên dễ bảo trì, tăng tính mềm dẻo Tuy nhiên, lúc này số lượng bảng sử dụng đã bị tăng lên, việc thực hiện những câu truy vấn khó khăn hơn nhiều vì có nhiều bảng cần liên kết với nhau Lược đồ bông tuyết gồm 4 thành phần chính:
− Bảng sự kiện và nội dung của nó: Những thuộc tính và các khóa ngoài
cần thiết để liên kết các bảng chiều
− Các bảng chiều và nội dung của nó: các thuộc tính và các thuộc tính
tham chiếu, các bảng chiều đã được chuẩn hóa
− Các đường kết nối bảng chiều với bảng sự kiện Đường kết nối giữa các bảng chiều
Hình 1.6 Lược đồ bông tuyết của DWH
TÊN BẢNG SỰKIỆN
Khóa ngoại Khóa ngoại Khóa ngoại Các thuộc tính đo
Các thuộc tính đo
TÊN BẢNG CHIỀU
Các thuộc tính mô tả Các thuộc tính đo
Footer Page 19 of 27.
Trang 2014
1.3 Các mô hình thiết kế cơ sở dữ liệu
Tiến trình thiết kế CSDL bao gồm các công việc thiết kế theo tuần tự các
mô hình sau: mô hình quan niệm, mô hình lôgíc, mô hình vật lý Điểm xuất phát
là thiết kế mô hình quan niệm, việc này quyết định các lĩnh vực chủ đề nào được đưa vào và biểu diễn mô hình hóa dữ liệu lôgíc là bước tiếp theo để phát sinh ra các bảng, các cột phản ánh các chủ đề và quan hệ cần có trong cơ sở dữ liệu Đây là nền tảng của thiết kế CSDL của kho dữ liệu
1.3.1 Mô hình dữ liệu lôgíc
Thiết kế dữ liệu lôgíc là quá trình tìm hiểu những yêu cầu về dữ liệu của tổ chức, mô tả chúng dưới dạng các thực thể, các thuộc tính và các mối quan hệ Vì vậy việc thiết kế lôgíc phải đảm bảo sao cho dữ liệu có tính trừu tượng cao và không phụ thuộc vào phương pháp lưu trữ
Mô hình dữ liệu lôgíc cho phép người thiết kế có thể hình dung trước được các thành phần dữ liệu khác nhau trước khi nó được thực sự chiết lọc, làm sạch hay là chuyển dạng vì những lý do tăng cường hiệu năng, cho phép giảm bớt được sự dư thừa dữ liệu
Mục tiêu của thiết kế dữ liệu là vẫn tạo ra một cấu trúc dữ liệu đủ linh động
để có thể thích nghi được với những yêu cầu thay đổi sau này
Về cách thức và công cụ thiết kế dữ liệu lôgíc của DWH không có gì khác biệt so với thiết kế mô hình dữ liệu cho các hệ thống tác nghiệp thông thường Tuy nhiên, có một điều khác nhau cơ bản giữa việc xây dựng CSDL của DWH
và các CSDL cho các hệ tác nghiệp thông thường khác là sản phẩm được tạo ra khác nhau về mục đích sử dụng
Khi xây dựng mô hình dữ liệu lôgíc cho DWH thì người thiết kế phải cân nhắc các vấn đề cơ bản sau:
− Phi chuẩn dữ liệu trong DWH: Thiết kế dữ liệu phi chuẩn thường
được bắt đầu từ mô hình dữ liệu chuẩn (thường là đạt chuẩn Codd), sau đó phá vỡ một số chuẩn để đạt được những mục đích do yêu cầu nghiệp vụ đặt ra
Boyce-− Độ chi tiết và chính xác của dữ liệu trong DWH: Việc xác định xem
dữ liệu cần chính xác đến độ nào là một vấn đề quan trọng khi xây dựng DWH Trong số các chiều cần được xem xét thì chiều thời gian
là chiều đáng chú ý nhất Cần phải cân nhắc xem độ chi tiết của chiều thời gian là bao nhiêu: giờ, ngày, tuần, tháng hay năm Hơn nữa, cũng cần phải tính đến hệ thống phân cấp trong các chiều Bởi vì trong
Header Page 20 of 27.
Footer Page 20 of 27.