Tích hợp các cơ sở dữ liệu XML
1. GIỚI THIỆU
Nguồn thông tin phong phú và hữu ích hiện đang được lưu trữ trên hàng tỷ web site trên mạng. Trong khi một website truyền thống chỉ hỗ trợ cho biểu diễn thông tin, thì việc tìm kiếm một ngôn ngữ có cấu trúc để biểu diễn các thông tin trên trang Web đang được đầu tư nghiên cứu. XML (eXtensible Markup Language) xuất hiện và nhanh chóng trở thành chuẩn cho các thế hệ web trong tương lai. Nó cũng là nền tảng để hình thành một lớp cơ sở dữ liệu (CSDL) mới: CSDL XML [3,8].
Bạn đang xem tài liệu "Tích hợp các cơ sở dữ liệu XML", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Tích hợp các cơ sở dữ liệu XML
TẠP CHÍ KHOA HỌC, Đại học Huế, Số 22, 2004 TÍCH HỢP CÁC CƠ SỞ DỮ LIỆU XML Lê Thị Thu Thủy Trường Đại học Khoa học, Đại học Huế Đoàn Đại Dương Trường Đại học Sư phạm, Đại học Huế 1. GIỚI THIỆU Nguồn thông tin phong phú và hữu ích hiện đang được lưu trữ trên hàng tỷ web site trên mạng. Trong khi một website truyền thống chỉ hỗ trợ cho biểu diễn thông tin, thì việc tìm kiếm một ngôn ngữ có cấu trúc để biểu diễn các thông tin trên trang Web đang được đầu tư nghiên cứu. XML (eXtensible Markup Language) xuất hiện và nhanh chóng trở thành chuẩn cho các thế hệ web trong tương lai. Nó cũng là nền tảng để hình thành một lớp cơ sở dữ liệu (CSDL) mới: CSDL XML [3,8]. Để hỗ trợ người sử dụng trong việc tìm và sử dụng thông tin, các CSDL XML phân tán được tích hợp, cung cấp một sự biểu diễn duy nhất từ các CSDL XML khác nhau tham gia vào hệ thống. Một hệ thống CSDL XML tích hợp sinh ra một lược đồ toàn cục (global schema) cho hệ thống. Lược đồ này là sự thống nhất và hòa hợp các lược đồ cục bộ (local schema) của các nguồn dữ liệu tham gia vào hệ thống. Nó là chìa khóa hỗ trợ cho tất cả các tiến trình của hệ thống sau này. Trên cơ sở của lược đồ tích hợp, một tập các ánh xạ đến các nguồn cục bộ được tạo ra hỗ trợ cho việc xử lý câu truy vấn của người sử dụng như: tách câu truy vấn, tích hợp các dữ liệu thô từ các nguồn..., giúp người sử dụng lấy được thông tin tích hợp cần thiết từ hệ thống, tiết kiệm thời gian và công sức của người sử dụng. Nhiều hệ thống tích hợp đã và đang được xây dựng [2,4,6], tuy nhiên các hệ thống này vẫn còn nhiều hạn chế trong giải quyết xung đột giữa các lược đồ [5] và tích hợp dữ liệu [3,7]. Để khắc phục những hạn chế của những nghiên cứu trên, chúng tôi đưa ra một khung làm việc (framework) mới về tích hợp các CSDL XML [3,7]. Hệ thống mới này vừa có khả năng tích hợp các lược đồ vừa có thể đưa ra các quyết định xử lý câu truy vấn của người sử dụng. Đây là một trong số ít hệ thống có chiến lược tích hợp n lược đồ cục bộ một lần (one shot strategy) [2]. Nó có thể giải quyết các xung đột chính bên trong các lược đồ theo hướng thống nhất. Ngoài ra, hệ thống có thể tách câu truy vấn của người sử dụng trên lược đồ toàn cục thành các truy vấn con của từng nguồn cục bộ đồng thời. Đây là một điểm mới so với các hệ thống đã được xây dựng [2,4,6]. Một ưu điểm nữa của hệ thống là dữ liệu từ các nguồn cục bộ được tích hợp và trả về các thông tin thân thiện với người sử dụng. Ngôn ngữ XDD (XML Declarative Description) [9] - ngôn ngữ mô tả khai báo XML - được sử dụng làm nền tảng cho tất cả các thành phần của hệ thống. Phần 2 trình bày ngắn gọn tổng quan về ngôn ngữ XDD. Phần 3 mô tả kiến trúc và các thành phần tạo nên hệ thống tích hợp các CSDL XML. Cuối cùng, phần 4 kết luận của bài viết. 2. TỔNG QUAN NGÔN NGỮ XDD XDD (XML Declarative Description) một ngôn ngữ biểu diễn thông tin dựa vào khuôn dạng tài liệu XML. Nó thực chất là sự mở rộng khả năng biểu diễn của các phần tử XML bằng cách sử dụng kết hợp với các biến nhằm mô tả một tập các thông tin có liên quan với nhau. Một phần tử XML mở rộng như vậy gọi là biểu thức XML (XML expresion). Bảng 1 liệt kê các loại biến sử dụng trong XDD. Với quan điểm này thì một phần tử XML bình thường - không chứa biến - được gọi là biểu thức XML nền tảng (ground XML expresion). Một mô tả XDD là một tập các mệnh đề XML với khuôn dạng như sau: H ¬ B1, ... , Bm, b1, ..., bn trong đó m, n ³ 0; H và Bi (i=1,.., m) là các biểu thức XML trong khi bj (j=1,.., n) là ràng buộc XML (XML constraint) sử dụng để định nghĩa các ràng buộc trên các biểu thức XML. Với khuôn dạng mệnh đề XML như trên, H còn gọi là phần đầu của mệnh đề (Head); tập hợp {B1, ..., Bm, b1, ..., bn} gọi là phần thân của mệnh đề (Body). Bảng 1: Kiểu của các biến trong XDD Tên biến Ký hiệu kiểu Biểu diễn Name-variables: biến tên $N Tên phần tử hoặc tên các thuộc tính String-variables: biến chuỗi $S Chuỗi dữ liệu Pair-variables: biến cặp "thuộc tính-giá trị" $P Dãy 0 hoặc nhiều cặp "thuộc tính-giá trị" Expression-variables: biến biểu thức XML $E Dãy 0 hoặc nhiều biểu thức XML Intermediate-variables: biến biểu thức trung gian $I Một phần của biểu thức XML 3. MÔ HÌNH HỆ THỐNG TÍCH HỢP CÁC CSDL XML Hệ thống đưa ra là một trong số ít hệ thống tích hợp có các thành phần được thiết kế để có thể làm việc hài hòa với nhau. Trên nền của XDD, nó có thể tích hợp n lược đồ cùng một lúc [3]. Lược đồ tích hợp đạt được là sự thống nhất và hài hòa giữa các lược đồ cục bộ từ các nguồn dữ liệu khác nhau. Ngoài ra, hệ thống còn có khả năng tách một câu truy vấn thành các truy vấn con khớp với khuôn dạng cho từng lược đồ cục bộ [7]. Với hướng tiếp cận này, dữ liệu rút trích từ các nguồn được tích hợp dễ dàng, cung cấp kết quả thân thiện cho người sử dụng. Việc ứng dụng XDD làm cấu trúc nền tảng của hệ thống khiến các thành phần hệ thống trở nên mềm dẻo đối với việc tích hợp lược đồ cũng như xử lý và tích hợp dữ liệu. 3.1. Câu truy vấn XDD: Một câu truy vấn [9] gồm ba phần: phần đầu (constructor), phần thân (pattern) và các ràng buộc (filters) của câu truy vấn, tương ứng với ba phần của một mệnh đề XML. So với câu truy vấn SQL truyền thống, contructor là khuôn dạng dữ liệu người sử dụng cần hiển thị, có thể tương ứng mệnh đề SELECT; patern tương ứng với khuôn dạng dữ liệu nơi cần lấy dữ liệu, tương ứng với mệnh đề FROM và filter đưa ra các ràng buộc trên câu truy vấn, có thể tương ứng với mệnh đề WHERE. Trong quá trình thực hiện truy vấn, khi pattern của câu truy vấn khớp với một phần nào đó của tài liệu XML và các ràng buộc trong filter được thoả mãn, kết quả của câu truy vấn được rút ra theo khuôn dạng của contructor. Dữ liệu truy vấn được cũng là một tài liệu khuôn dạng XML, được gởi đến bộ trung chuyển để tiếp tục quá trình tích hợp dữ liệu. 3.2 Bộ trung chuyển (Mediator): Mediator là thành phần quan trọng nhất của hệ thống. Nó bao gồm hai đơn vị: bộ tích hợp lược đồ (schema integration) và bộ tích hợp dữ liệu (data integraion). Bộ tích hợp lược đồ, có nhiệm vụ tích hợp tập các lược đồ cục bộ từ các nguồn dữ liệu khác nhau về cấu trúc, sinh ra một lược đồ XML toàn cục và tập các ánh xạ. Tập ánh xạ này giúp hệ thống hiểu được sự tương ứng giữa các đối tượng (tên trường, thuộc tính) giữa lược đồ tích hợp và các lược đồ cục bộ. Trên nền của XDD, ánh xạ được tổ chức để có thể sử dụng theo hai chiều với mục đích: - Tách câu truy vấn của người sử dụng (trên cấu trúc của lược đồ toàn cục) thành các truy vấn con phù hợp với cấu trúc lược đồ cục bộ của các nguồn dữ liệu liên quan; - Làm siêu dữ liệu (metadata). Dựa vào thông tin từ siêu dữ liệu, hệ thống có thể chuyển đổi khuôn dạng dữ liệu rút trích được từ các nguồn cục bộ thành khuôn dạng chung của hệ thống, kết xuất kết quả thân thiện với người sử dụng. Cấu trúc ánh xạ hai chiều được mô tả như sau: $E:exp $E:exp1 $E:exp2 % % % % % % %%% Ánh xạ quy định sự tương ứng của phần tử $E:exp ở lược đồ toàn cục với các phần tử $E:exp1, $E:exp2 trong các nguồn cục bộ $S:source1 và $S:source2 Hình 1: Cấu trúc ánh xạ Dựa trên nền của XDD, công việc tích hợp các lược đồ được diễn ra đồng thời. Nếu có n lược lược đồ tham gia vào hệ thống, chúng được tích hợp, dung hòa các mâu thuẫn đồng thời một lúc để đưa ra lược đồ chung cuối cùng. Cần phải nhấn mạnh rằng, rất ít các hệ thống tích hợp có khả năng tích hợp nhiều lược đồ đồng thời trong cùng một tiến trình. Hầu hết các hệ thống phải tiến hành tích hợp trên từng cặp lược đồ do sự phức tạp và khả năng của ngôn ngữ lập trình sử dụng. Đối với hệ thống đang được xây dựng, sự thành công này diễn ra trên nền của XDD vì mỗi lược đồ XML tham gia vào việc tích hợp được xem như là một biểu thức XML ($E:expression) trong các luật tích hợp của hệ thống, mỗi luật là một mệnh đề XML. Trong quá trình tích hợp này hệ thống có thể giải quyết nhiều xung đột xảy ra giữa các lược đồ như: xung đột tên phần tử, xung đột cấu trúc các phần tử, xung đột các ràng buộc và xung đột các kiểu dữ liệu. Chi tiết về các loại xung đột và cách thức giải quyết các xung đột này được chúng tôi trình bày chi tiết trong [3,7]. Bộ tích hợp dữ liệu tiến hành chuyển đổi khuôn dạng của tất cả dữ liệu được trích rút từ các nguồn cục bộ cho phù hợp với lược đồ chung dựa vào thông tin từ ánh xạ hai chiều. Sau đó, nó tìm cách loại trừ các mâu thuẫn bên trong dữ liệu, kiểm tra loại bỏ các dữ liệu trùng lặp. Cuối cùng dữ liệu được trả về cho người sử dụng qua giao diện của hệ thống. Thành phần quan trọng nhất của hệ thống, bộ trung chuyển, thực chất là tập các luật trên nền của XDD. Việc gắn các luật này giúp các thành phần của hệ thống có thể tự động suy diễn sinh ra các sự kiện (fact) mới dựa trên tập luật và các sự kiện ban đầu. Luật có thể áp dụng đệ quy, chẳng hạn: phần thân của luật này có thể gắn vào phần đầu của luật khác để tiếp tục quá trình suy diễn, kết quả của luật này có thể làm đầu vào của luật khác. Khi thực thi chương trình tập luật có thể được cài đặt bởi ngôn ngữ lập trình XET [1], một ngôn ngữ dựa trên lý thuyết XDD. 3.3. Bộ xử lý truy vấn (Query handler): Đây là thành phần giúp hệ thống tích hợp có thể giao tiếp với người sử dụng. Nó bao gồm ba thành phần chính: bộ lập truy vấn (query formulation), bộ tối ưu câu truy vấn (query optimization) và bộ tách câu truy vấn (query decomposition). $E:exp1 $E:content $E:exp2 ß $E:exp1 $E:content $E:exp2 $E:content $E:exp3 $E:content $E:exp4 % % % % % % % % %%%% Luật này chỉ ra rằng: nếu truy vấn có chứa phần tử $N:tag1 thì ta sẽ thay bằng phần tử $N:tag2 trong lược đồ cục bộ $S:source tương ứng với nó. Khuôn dạng câu truy vấn của người sử dụng có chứa phần tử $N:tag1. Ánh xạ chỉ ra: phần tử $N:tag1 ở lược đồ toàn cục tương ứng với phần tử $N:tag2 trong lược đồ cục bộ $S:source. Hình 2: Một luật XDD dùng để tách câu truy vấn Bộ lập truy vấn giúp chuyển đổi các câu truy vấn khuôn dạng bất kỳ của người sử dụng thành câu truy vấn khuôn dạng XDD, ví dụ: chuyển truy vấn XQuery thành truy vấn khuôn dạng XDD. Bộ tách truy vấn sẽ tách câu truy vấn sau khi được tối ưu thành các câu truy vấn con. Trong khi câu truy vấn của người sử dụng có cấu trúc và khuôn dạng của lược đồ chung, các câu truy vấn con được tách ra lại phù hợp với khuôn dạng các lược đồ thành phần. Với các truy vấn con này, hệ thống sẽ rất dễ dàng trong việc rút trích dữ liệu trực tiếp từ các nguồn cục bộ. Như đã đề cập ở trên, việc tách được tiến hành dưới sự hỗ trợ của tập ánh xạ và các quy tắc suy diễn của tập luật XDD đặc thù. Một luật XDD cho việc tách một câu truy vấn được thể hiện như hình 2. 4. KẾT LUẬN Hệ thống tích hợp các CSDL XML được trình bày là một trong số ít những hệ thống có khả năng tích hợp nhiều lược đồ con đồng thời qua một qui trình biến đổi. Với các điểm mạnh của XDD trong việc mô hình các ứng dụng khuôn dạng XML, khung làm việc của hệ thống đã hội đủ các yêu cầu chính của một hệ thống tích hợp. Tất cả các thành phần của hệ thống đều được xây dựng trên nền của XDD, tạo ra sự mềm dẻo trong quá trình xử lý và chuyển đổi dữ liệu giữa chúng. Hệ thống cung cấp cho người sử dụng dữ liệu tích hợp ở khuôn dạng một tài liệu XML chuẩn, thân thiện với người sử dụng, hữu ích trong việc trao đổi với các ứng dụng XML khác. Khung làm việc của hệ thống này đã và đang được cài đặt bước đầu thành công sử dụng ngôn ngữ lập trình XET, với các CSDL XML phân tán trên mạng LAN. Chúng tôi dự định phát triển hệ thống để có thể làm việc ở môi trường internet, nơi các CSDL được phân tán trên mạng với mục đích thương mại. Một ứng dụng điển hình có thể nghiên cứu trong tương lai là truy vấn thông tin từ các trang web XML đã được tích hợp trên mạng khi chúng cùng chia sẽ một lược đồ chung. TÀI LIỆU THAM KHẢO Anutariya, C., Wuwongse, V., and Wattanapailin, V. An Equivalent-Transformation-Based XML Rule Language. Proceedings of the International Workshop on Rule Markup Languages for Business Rules in the Semantic Web, Sardinia, Italy (2002). Batini, C., Lenzerini, M., and Navathe, S. B. A Comparative Analysis of Methodologies for Database Schema Integration. ACM Computing Surveys. Vol. 18, No. 4 (1986) 323 - 364 . Duong, D. D., and Wuwongse, V. XML Databases Schema Integration Using XDD. Proceedings of Advances in Web-Age Information Management Conference, China. Lecture Notes in Computer Science, Springer Verlag, Vol. 2762 (2003) 92 - 103 Gianolli, P., Mylopoulos, J. A semantic approach to XML based data integration. Proceedings of the 20th. International Conference on Conceptual Modelling (ER), Yokohama, Japan (2001). Pluempitiwiriyawej, C., Hammer, J. A Classification Scheme for Semantic and Schematic Heterogeneities in XML Data Sources. Technical report TR00-004. University of Florida (2000). The MIX (Mediator of Information using XML). Available online: (1999). Thuy, L. T. T., and Wuwongse, V. Query Processing of Integrated XML Databases. Proceedings of the 5th International Conference on Information Integration and Web-based Applications & Services, Jakarta, Indonesia (2003) 335 - 344 . Wuwongse, V., Akama, K., Anutariya, C., and Nantajeewarawat, E. A Data Model for XML Databases. Journal of Intelligent Information Systems. Vol. 20, No. 1, (2003) 63 - 80. Wuwongse, V., Anutariya, C., Akama, K., and Nantajeewarawat, E. XML Declarative Description (XDD): A Language for the Semantic Web. IEEE Intelligent Systems, Vol. 16, No. 3 (2001) 54 - 65. INTEGRATION OF XML DATABASES Le Thi Thu Thuy College of Sciences, Hue University Doan Dai Duong, College of Pedagogy, Hue University SUMMARY XML database integration has been paid due attention to in the past few years, especially when XML is widely accepted as the new generation of the web. However, the building of a framework that can resolve easily the conflicts between schemas and decompose query efficiently is still a great challenge. The paper's purpose is to propose a new XML database integration framework, and to demonstrate the power of XDD theory in modeling user's query and system's components. The framework can be extended to work with Web application metadata integration.
File đính kèm:
- tich_hop_cac_co_so_du_lieu_xml.doc