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ô
Trang 1TÍ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 XML1 (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
1
Trang 2thô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
Trang 3XDD 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 B 1 , , B m , 1 , , n
trong đó m, n 0; H và B i (i=1, , m) là các biểu thức XML trong khi j (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 {B 1 , ., B m , 1 , ., n } gọi là phần thân của
mệnh đề (Body)
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ị"
Bảng 1: Kiểu của các biến trong XDD
Trang 4Expression-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
Trang 5truy 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:
định sự tương
Trang 6<$N:globalTag>
$E:exp
<$N:globalTag>
<local>
<$N:tagName1 source=$S:source1> $E:exp1
<$N:tagName1>
<$N:tagName2 source=$S:source2>$E:exp2
<$N:tagName2>
<local>
<Mapping>
%
%
%
%
%
%
%
%
ứng của phần
tử $E:exp ở
lược đồ toàn cục với các
$E:exp1,
$E:exp2 trong
các nguồn cục
bộ
$S:source1 và
$S:source2
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
Hình 1: Cấu trúc ánh xạ
Trang 7cấ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)
<$N:LocalTag source=$S:source>
$E:exp1
%
%
Luật này chỉ ra rằng: nếu truy vấn có chứa
phần tử $N:tag1 thì ta
Trang 8<$N:tag2> $E:content <$N:tag2>
$E:exp2
<$N:LocalTag>
<$N:GlobalTag>
$E:exp1
<$N:tag1>$E:content<$N:tag1>
$E:exp2
<$N:GlobalTag >
<Mapping>
<$N:GlobalTag>
<$N:tag1>$E:content<$N:tag1>
<$N: GlobalTag >
<local>
$E:exp3
<$N:LocalTag
source=$S:source>
%
%
%
%
%
%
%
%
%
%
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
Trang 9
<$N:tag2>$E:content<$N:tag2>
<$N:LocalTag>
$E:exp4
<local>
<Mapping>
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
Hình 2: Một luật XDD dùng để tách câu truy vấn
Trang 10khuô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
1 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)
2 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
3 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
Trang 114 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)
5 Pluempitiwiriyawej, C., Hammer, J A Classification Scheme for
Semantic and Schematic Heterogeneities in XML Data Sources
Technical report TR00-004 University of Florida (2000)
6 The MIX (Mediator of Information using XML) Available online:
http://www.database.ucsd.edu/project/MIX (1999)
7 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
8 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
9 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