Mô hình kho dữ liệu phân tán cho các hệ thống thông tin quản lý
Distributed Data Warehouse Model for Management Information Systems
Nguyễn Văn Chức - chuc1803@gmail.com
Tóm tắt
Trong các hệ thống thông tin quản lý lớn, phân cấp và phân tán nhiều nơi thì vấn đề khó khăn lớn nhất gặp phải khi khai thác dữ liệu là do dữ liệu được lưu trữ ở nhiều nơi (phân tán về địa lý), ở nhiều định dạng khác nhau: MS Excel, Foxpro, MS Access, SQL SERVER, ORACLE…. Từ thực trạng đó, bài báo đề cập đến việc tìm hiểu mô hình kho dữ liệu phân tán để thu thập, tích hợp, chuyển đổi, đồng bộ dữ liệu từ nhiều nơi, nhiều nguồn khác nhau giúp cho các nhà quản lý có thể xây dựng một hệ thống thông tin quản lý thống nhất trong toàn công ty, đơn vị của mình. Bài viết giới thiệu qui trình xây dựng cũng như một số nhiệm vụ quản trị kho dữ liệu quản lý đào tạo của trường Đại học.
1. Đặt vấn đề
Trong thời đại của xã hội thông tin và nền kinh tế trí thức, mọi hoạt động của các tổ chức muốn đạt hiệu quả cao, giành được thắng lợi trong thế cạnh tranh gay gắt thì nhất thiết phải có những phương pháp để có được những thông tin, tri thức cần thiết một cách nhanh và chính xác.
Đối với các hệ thống thông tin lớn yêu cầu từ chỗ chỉ giải quyết xử lý những công việc hàng ngày nay đã tiến tới đáp ứng được những yêu cầu cung cấp thông tin ở mức độ cao hơn. Các nhà quản lý điều hành không những muốn biết được công việc đang diễn ra như thế nào mà còn biết cái gì sẽ xảy ra sau đó, có nghĩa là thông tin mang tính phân tích và hệ thống thông tin có khả năng hỗ trợ quyết định. Tuy nhiên, việc xây dựng một hệ thống như thế vấp phải một số hạn chế về mặt kỹ thuật, đặc biệt là khi kích thước cũng như độ phức tạp của môi trường thông tin tăng lên. Những hệ thống thông tin xây dựng theo phương pháp truyền thống không làm hài lòng người sử dụng và các nhà quản lý hệ thống thông tin.
Yêu cầu có được thông tin nhanh chóng, chính xác phục vụ cho công việc không dễ gì có được bởi vì dữ liệu ngày một nhiều, lưu trữ phân tán ở nhiều nơi (phù hợp với tổ chức phân cấp của các đơn vị), ở nhiều dạng không tương thích với nhau, thậm chí còn ở những dạng phi cấu trúc. Nhiều hệ thống thông tin đã được xây dựng không tương thích với nhau và không tương thích với những hệ thông tin mới được xây dựng.
Một số khó khăn thường gặp khi khai thác dữ liệu trong hệ thống thông tin là
Khó tìm thấy dữ liệu cần thiết : Dữ liệu rải rác ở rất nhiều hệ thống với các giao diện và công cụ khác nhau, khiến tốn nhiều thời gian chuyển từ hệ thống này sang hệ thống khác.
Khó lấy ra được dữ liệu cần thiết : Thường xuyên phải có chuyên gia trợ giúp, dẫn đến công việc dồn đống.
Khó hiểu dữ liệu tìm thấy : Mô tả dữ liệu nghèo nàn và thường xa rời với các thuật ngữ nghiệp vụ quen thuộc .
Khó sử dụng được dữ liệu tìm thấy : Kết quả thường không đáp ứng về bản chất dữ liệu và thời gian tìm kiếm.
Vấn đề đặt ra là làm thế nào để tổ chức, khai thác được những khối lượng dữ liệu khổng lồ, lưu trữ nhiều nơi, ở nhiều dạng dữ liệu khác nhau đó một cách hiệu quả trong các hệ thống thông tin lớn?
2. Một số khái niệm cơ bản
2.1. Kho dữ liệu (Data Warehouse - DW)
Kho dữ liệu là tuyển tập các cơ sở dữ liệu tích hợp, hướng chủ đề, được thiết kế để hỗ trợ cho chức năng trợ giúp quyết định [4].
Theo John Ladley [5], Công nghệ kho dữ liệu (Data Warehouse Technology) là tập các phương pháp, kỹ thuật và các công cụ có thể kết hợp, hỗ trợ nhau để cung cấp thông tin cho người sử dụng trên cơ sở tích hợp từ nhiều nguồn dữ liệu, nhiều môi trường khác nhau.
Kho dữ liệu thường rất lớn tới hàng trăm GB hay thậm chí hàng Terabyte.
2.2. Kho dữ liệu cục bộ (Data Mart - DM)
Kho dữ liệu cục bộ 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 {6}.
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 [7].
Data mart độc lập (Independent Data Mart)
Không giống như Datamart 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 [7].
2.3. Cơ sở dữ liệu phân tán (Distributed Database)
Một cơ sở dữ liệu Phân tán là sự tập hợp dữ liệu phân tán về mặt luận lý chúng cùng một hệ thống nhưng được trải rộng ở nhiều nơi (site) của một mạng máy tính [1].
Định nghĩa này nhấn mạnh hai khía cạnh quan trọng như nhau của một CSDL Phân tán là:
Sự Phân tán (Distribution): Nghĩa là dữ liệu không thường trú ở cùng một nơi (hiểu theo nghĩa bộ xử lý - processor), điều mà chúng ta có thể phân biệt một CSDL Phân tán với một CSDL tập trung, đơn lẻ.
Sự tương quan luận lý (Logical correlation): Nghĩa là dữ liệu có những tính chất liên hệ mật thiết với nhau, điều mà chúng ta có thể phân biệt một CSDL Phân tán với một tập hợp các CSDL cục bộ (local database) hoặc các tập tin thường trú ở những nơi khác nhau của một mạng máy tính.
Tại sao phải sử dụng CSDL phân tán?
Có nhiều lý do tại sao phát triển CSDL Phân tán:
-Các lý do về tổ chức (organizational) và kinh tế (economic)
-Kết nối lấn nhau (interconnection) của các CSDL hiện tại
-Sự lớn mạnh gia tăng (incremental growth)
-Giảm chi phí truyền thông (communication overhead)
-Các nghiên cứu về hiệu suất (performance cónideration)
-Độ tin cậy (reliability) và tính sẵn sàng (availability)
Các mức trong suốt phân tán
Tính trong suốt Phân tán (distribution transparency) là tính độc lập của chương trình ứng dụng đối với việc Phân tán dữ liệu. Vấn đề trong suốt phân tán được thực hiện thông qua phân mảnh dữ liệu. Phân rã các quan hệ toàn cục thành các mảnh có thể được thực hiện bằng cách áp dụng hai loại phân mảnh khác nhau:
3. Mô hình kho dữ liệu phân tán
Kho dữ liệu phân tán bao gồm sự kết hợp của hai khái niệm cơ bản là sự tích hợp (Intergration) các thành phần dữ liệu và sự phân tán (Distribution) thông qua các thành phần của mạng như hình 1:
Hình 3.1. Tích hợp và phân tán dữ liệu
Kho dữ liệu phân tán (Distributed Data Warehouse - DDW) có thể được định nghĩa như là sự tích hợp logic của một tập các chia sẻ dữ liệu của các dữ liệu được phân tán về mặt vật lý qua các node của một mạng máy tính [7].
Kho dữ liệu phân tán có hai kiến trúc chính là kho dữ liệu phân tán thuần nhất và kho dữ liệu phân tán không thuần nhất.
3.1. Kho dữ liệu phân tán thuần nhất (Homogenous distributed data warehouses )
Kho dữ liệu phân tán thuần nhất là kho dữ liệu mà trong đó tất cả các kho dữ liệu cục bộ (DM) ở các nơi (Site) đều phải dùng chung một hệ quản trị CSDL [7].
Ví dụ, trong một Hệ thống CSDL phân tán thuần nhất của Oracle thì tất cả các Database đều phải là Oracle Database. Hình 2 minh họa hệ thống CSDL phân tán thuần nhất với 3 CSDL là DAOTAO, KHOA và THUVIEN. Một ứng dụng có thể truy cập hoặc hiệu chỉnh dữ liệu từ nhiều CSDL khác nhau trên mạng.
Hình 3.2. Kho dữ liệu phân tán thuần nhất
Kiến trúc phân tán thuần nhất có một số ưu điểm sau:
- Do tất cả các DM đều dùng chung DBMS nên công tác quản trị dễ dàng hơn. Người quản trị không cần biết kỹ năng quản trị trong tất cả các DBMS khác nhau như DB2, SQL SERVER,…
- Công tác chuyển đổi dữ liệu không đòi hỏi cao vì tất tất cả các DM dùng chung cấu trúc dữ liệu và các ràng buộc
- Nhiệm vụ tích hợp dữ liệu từ các nguồn đơn giản và dễ quản lý
- Thời gian đáp ứng các truy vấn nhanh (rapid response times)
Tuy nhiên, kho dữ liệu phân tán thuần nhất thích hợp nhất đối với những hệ thống xây dựng mới và có chiến lược từ trước, đối với các hệ thống kế thừa dữ liệu từ các nguồn đã có công việc chuyển đối và tích hợp dữ liệu mất rất nhiều thời gian và phức tạp.
3.2. Kho dữ liệu phân tán không thuần nhất (Heterogenous Distributed Data Warehouses )
Kho dữ liệu phân tán không thuần nhất là kho dữ liệu mà trong đó các kho dữ liệu cục bộ (DM) ở các nơi (Site) trong mạng có thể không cùng chung hệ quản trị CSDL [7].
Ví dụ, trong một Hệ thống CSDL phân tán không đồng nhất của Oracle thì phải có ít nhất Database là Non- Oracle Database
Đối với hệ thống CSDL phân tán không thuần nhất lợi ích chính là kế thừa được các CSDL đã tồn tại trước đó nhưng khó khăn lớn nhất là quản trị và chuyển đổi dữ liệu khi phải truy cập từ xa vì mỗi DBMS có kiến trúc, cách thức truy cập dữ liệu và bảo mật riêng. Vì vậy trong hệ thống này phải có những dịch vụ kết nối chuyển đổi (Transparent Gateway) có vai trò như bộ phiên dịch giữa các DBMS trong hệ thống phân tán
Hình 3.3. Kho dữ liệu phân tán không thuần nhất
Kiến trúc phân tán không thuần nhất có một số ưu điểm sau:
- Kế thừa được các nguồn dữ liệu từ các DM đã tồn tại
-Thích hợp cho các hệ thống xây dựng trên cơ sở mở rộng hệ thống đã có vì trên thực tế các đơn vị thường bắt đầu với các DM nhỏ cho các phòng ban, sau đó phát triển thành kho dữ liệu lớn hơn cho toàn công ty
-Tính tự trị CSDL cao
Tuy nhiên, hệ thống phân tán không thuần nhất gặp khó khăn trong việc tích hợp, chuyển đổi dữ liệu cũng như công tác quản trị dữ liệu vì mỗi DBMS có cấu trúc dữ liệu, ràng buộc, cách thức truy vấn, bảo mật dữ liệu khác nhau.
4. Quản trị kho dữ liệu phân tán
Nhiệm vụ chính để tạo lập và quản trị kho dữ liệu phân tán gồm các công việc chính sau:
Chuyển đổi dữ liệu: Nhiệm vụ rất quan trọng khi khởi tạo một kho dữ liệu là cho phép người quản trị có thể chuyển đổi dữ liệu từ các định dạng khác nhau (MS Excel, MS Access, XML, SQL SERVER) từ các nguồn khác nhau đã tồn tại trước đó về định dạng thống nhất.
Tích hợp dữ liệu: Chức năng tích hợp dữ liệu cho phép người quản trị dữ liệu có thể trao đổi dữ liệu từ các Data Mart khác nhau trong công ty. Nguyên tắc của tích hợp dữ liệu giữa các Data Mart là các Data Mart trao đổi dữ liệu phải có các bảng có cấu trúc giống nhau và dựa trên khóa chính.
Đồng bộ dữ liệu: Chức năng này cho phép người quản trị kho dữ liệu so sánh, làm sạch dữ liệu để cho dữ liệu giữa các Data mart làm cho dữ liệu trong hệ thống có tính nhất quán cao.
Tạo mới: Chức năng này cho phép tạo ra các bảng mới trong Data Mart đích trong các trường hợp Data Mart đích chưa có bảng dữ liệu tương ứng với Data mart nguồn. Công việc này rất cần thiết khi mới khởi tạo các Data Mart.
Lọc dữ liệu: Đây là chức năng cho phép trích chọn dữ liệu theo một số tiêu chí của dữ liệu trong Data Mart nào đó để kiểm tra, cập nhật hay đưa vào các Data Mart đích.
Phân tán dữ liệu: Chức năng này cho phép người quản trị kho dữ liệu có thể phân tán dữ liệu giữa các Data Mart trong hệ thống. Phân tán ngang cho tạo ra các bảng dữ liệu được phân tán theo cách giữ nguyên cấu trúc bảng trong Data Mart nguồn nhưng có thể hiện dữ liệu khác.
Hợp nhất: Chức năng hợp nhất dữ liệu được thực hiện nếu các bảng được phân tán theo chiều dọc đã được thực hiện trước đó qua chức năng phân tán dữ liệu. Yêu cầu của phân tán theo chiều dọc là tất cảc các bảng tham gia hợp nhất phải có cùng khóa chính. Chức năng này cho phép tổng hợp dữ liệu từ các bảng khác nhau thông qua khóa chính.
5. Xây dựng công cụ quản trị kho dữ liệu quản lý đào tạo trường Đại học Kinh tế – Đại học Đà Nẵng
5.1. Cài đặt các kho dữ liệu cục bộ (Data Mart) trên ORACLE
Bảng 2. Danh mục các cơ sở dữ liệu toàn cục của kho dữ liệu đào tạo
STT | Tên CSDL Toàn cục (Database Link) | SERVER | Giải thích |
1 | DATAWH.DHKT.EDU.VN | DW_SVR | Tổng kho |
2 | DMDAOTAO.DHKT.EDU.VN | DT_SVR | Kho dữ liệu đào tạo |
3 | DMTKTH.DHKT.EDU.VN | TKTH_SVR | Kho dữ liệu khoa Thống kê – Tin học |
4 | DMQTKD.DHKT.EDU.VN | QTKD_SVR | Kho dữ liệu khoa Quản trị kinh doanh |
5 | DMTCNH.DHKT.EDU.VN | TCNH_SVR | Kho dữ liệu khoa Tài chính ngân hàng |
6 | DMTMDL.DHKT.EDU.VN | TMDL_SVR | Kho dữ liệu khoa Thương mại du lịch |
7 | DMKTPT.DHKT.EDU.VN | KTPT_SVR | Kho dữ liệu khoa Kinh tế phát triển |
8 | DMMALE.DHKT.EDU.VN | MALE_SVR | Kho dữ liệu khoa Mác – Lê Nin |
9 | DMKETO.DHKT.EDU.VN | KETO_SVR | Kho dữ liệu khoa Kế toán |
10 | DMHACH.DHKT.EDU.VN | HACH_SVR | Kho dữ liệu phòng Hành chính |
11 | DMTAVU.DHKT.EDU.VN | TAVU_SVR | Kho dữ liệu phòng Tài vụ |
12 | DMTHUV.DHKT.EDU.VN | THUV_SVR | Kho dữ liệu Thư viện |
Cài đặt các Data Mart trong ORACLE như sau
Hình 5.1. Cài đặt các Datamart trên ORACLE
5.2. Xây dựng các liên kết dữ liệu để tích hợp dữ liệu từ các Data Mart
Tại một Data Mart nào muốn trao đổi với các Data Mart khác thì từ Data Mart đó ta tạo các liên kết dữ liệu (Database Link) đến các Data Mart muốn trao đổi. Tên miền CSDL cho các Database Link trong hệ thống là DHKT.EDU.VN
Dưới đây là các Database Link từ tổng kho (DATAWH) đến các Data Mart khác
Hình 5.2. Xây dựng các liên kết dữ liệu để tích hợp các Datamart
5.3. Xây dựng công cụ hỗ trợ quản lý kho dữ liệu đào tạo
Chức năng chính của công cụ hỗ trợ quản lý kho dữ liệu là trợ giúp cho người quản trị cơ sở dữ liệu thực hiện tự động một số chức năng sau:
Chuyển đổi dữ liệu: Nhiệm vụ rất quan trọng khi khởi tạo một kho dữ liệu là cho phép người quản trị có thể chuyển đổi dữ liệu từ các định dạng khác nhau (MS Excel, MS Access, XML, SQL SERVER) từ các nguồn khác nhau (các khoa, phòng) đã tồn tại trước đó về định dạng thống nhất là ORACLE lưu trữ trong các Data Mart phục vụ công khai thác dữ liệu phục vụ hoạt động tác nghiệp của nhà trường, cũng như chuyển đổi dữ liệu từ ORACLE sang các định dạng dữ liệu khác để chia sẻ dữ liệu từ kho dữ liệu tới các người sử dụng cuối. Đây là chức năng rất thiết thực cho công tác thu thập dữ liệu vì hiện tại các khoa, phòng của nhà trường chưa có chương trình quản lý chung mà mỗi đơn vị ứng dụng máy tính một cách riêng lẻ, tự phát. Hiện nay XML là chuẩn dữ liệu phổ biến để trao đổi dữ liệu trên internet vì vậy hệ thống cũng hỗ trợ chuyển đổi qua lại từ định dạng XML vào các nguồn dữ liệu khác (SQL SERVER, ORACLE) làm tăng khả năng trao đổi thông tin của kho dữ liệu.
Hình 5.3. Công cụ quản trị kho dữ liệu
Tích hợp dữ liệu: Chức năng tích hợp dữ liệu cho phép người quản trị dữ liệu có thể trao đổi dữ liệu từ các Data Mart khác nhau trong nhà trường. Nguyên tắc của tích hợp dữ liệu giữa các Data Mart là các Data Mart trao đổi dữ liệu phải có các bảng có cấu trúc giống nhau và dựa trên khóa chính.
Hình 5.4. Tích hợp dữ liệu giữa các Data Marts
Đồng bộ dữ liệu: Chức năng này cho phép người quản trị kho dữ liệu so sánh, làm sạch dữ liệu để cho dữ liệu giữa các Data mart làm cho dữ liệu trong hệ thống có tính nhất quán cao. Chẳn hạn, kiểm tra, đối chiếu điểm của sinh viên giữa khoa và phòng đào tạo. Đây là chức năng rất cần thiết đối với công tác xử lý dữ liệu của nhà trường.
Hình 5.5. Đồng bộ dữ liệu giữa các Data Marts
Tạo mới: Chức năng này cho phép tạo ra các bảng mới trong Data Mart đích trong các trường hợp Data Mart đích chưa có bảng dữ liệu tương ứng với Data mart nguồn. Công việc này rất cần thiết khi mới khởi tạo các Data Mart, cho phép kế thừa dễ dàng các nguồn dữ liệu đã có
Hình 5.6. Tạo mới dữ liệu
Lọc dữ liệu: Đây là chức năng cho phép trích chọn dữ liệu theo một số tiêu chí của dữ liệu trong Data Mart nào đó để kiểm tra, cập nhật hay đưa vào các Data Mart đích. Chẳn hạn, ta có thể lọc ra tất cả cả các sinh viên của một khoa nào đó để chuyển dữ liệu về lưu trữ trong Data Mart của khoa đó.
Hình 5.7. Lọc dữ liệu
Phân tán dữ liệu: Chức năng này cho phép người quản trị kho dữ liệu có thể phân tán dữ liệu giữa các Data Mart trong hệ thống. Phân tán ngang cho tạo ra các bảng dữ liệu được phân tán theo cách giữ nguyên cấu trúc bảng trong Data Mart nguồn nhưng có thể hiện dữ liệu khác. Chẳn hạn, khi dữ liệu về sinh viên trong nhà trường đã được cập nhật trong tổng kho của trường (DATAWH) thì có thể phân tán dữ liệu xuống các khoa, sinh viên khoa nào lưu trữ trong Data mart của khoa đó. Phân tán dọc cho phép tạo ra các bảng có câu trúc khác nhau (Nhưng phải có chung khóa) với bảng dữ liệu nguồn. Chẳn hạn, bảng dữ liệu sinh viên trong tổng kho của trường (DATAWH) có rất nhiều trường nhưng mỗi Data Mart của khoa, phòng chỉ cần một số thuộc tính khác nhau cần thiết cho tác nghiệp của đơn vị mình mà không phải cần tất cả các thuộc tính của bảng sinh viên.
Hình 5.7. Phân tán dữ liệu giữa các Data Marts
Hợp nhất: Chức năng hợp nhất dữ liệu được thực hiện nếu các bảng được phân tán theo chiều dọc đã được thực hiện trước đó qua chức năng phân tán dữ liệu. Yêu cầu của phân tán theo chiều dọc là tất cảc các bảng tham gia hợp nhất phải có cùng khóa chính. Chức năng này cho phép tổng hợp dữ liệu từ các bảng khác nhau thông qua khóa chính.
Hình 5.8.Hợp nhất dữ liệu giữa các Data Marts
6. Kết luận
Qua việc nghiên cứu, tìm hiểu về kho dữ liệu phân tán cho thấy đây là giải pháp rất hiệu quả để tổ chức quản lý và triển khai các hệ thống thông tin lớn, phân tán về địa lý trong môi trường ứng dụng CNTT. Kho dữ liệu phân tán là cơ sở để xây dựng giải pháp quản lý tổng thể nguồn lực doanh nghiệp (ERP – Enterprise Resource Planning). Nghiên cứu mô hình kho dữ liệu phân tán nhằm khắc phục những hạn chế của kho dữ liệu tập trung truyền thống khi khối lượng dữ liệu tăng lên nhanh chóng, dữ liệu được lưu trữ ở nhiều nơi với nhiều định dạng khác nhau cũng như yêu cầu có được dữ liệu ở mức cao (mức hỗ trợ quyết định) của các hệ thống thông tin hiện đại ngày nay. ORACLE là hệ quản trị CSDL hiện đại, hỗ trợ rất mạnh cho quản lý kho dữ liệu và cơ sở dữ liệu phân tán.
7.TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] M.Tamer Ozsu- Patrick Valduriez – Trần Đức Quang biên dịch (1999), Nguyên lý các hệ cơ sở dữ liệu phân tán, tập I và II, NXB Thống kê.
[2] Lê Văn Sơn (2002), Hệ phân tán, Đại học Quốc Gia TP HCM.
[3] Đoàn Văn Ban (1997), Phương pháp thiết kế và khai thác kho dữ liệu, đề tài nghiên cứu cấp Trung tâm KHTN & CNQG.
Tiếng Anh
[4] J. Bischoff & T. Alexander, Data Warehouse: Practical Advice from the Experts, Prentice Hall, 2002
[5] L. John, “Operational Data Stores: Building an Effective Strategy”, Data Warehouse: Practical Advive from the Experts, Prentice Hall, NJ, 1997
{6}W. H. Inmon, Building the Data Warehouse Third Edition
[7] A. Moeller (2001), Distributed Data Warehousing Using Web Technology
All comments please send to chuc1803@gmail.com. Thank you and Welcome!