Nâng cao tính thấu đáo nghiệp vụ và khả năng mở rộng của dữ liệu XML với các đặc tính pureXML của DB2 phiên bản mới 9.7

Các tính năng mới về thiết kế, quản trị và về phát triển cơ sở dữ liệu cho

pureXML đã có sẵn tại cơ sở dữ liệu DB2® phiên bản 9.7 của IBM cho các hệ

điều hành Linux®, UNIX® và Windows®, (được công bố ngày 22 tháng Tư

2009). Bạn hãy tìm hiểu thêm về cách các công nghệ này có thể giúp các công ty

tích hợp dữ liệu XML một cách hiệu quả hơn vào các môi trường kinh doanh

thông minh như thế nào và làm sao các công ty có thể đối phó với khối lượng dữ

liệu XML ngày càng tăng lên. Bài viết này tóm tắt các khả năng mới của

pureXML, giải thích cách chúng có thể được sử dụng và thảo luận về một kịch bản

ứng dụng mẫu.

pdf40 trang | Chuyên mục: XML | Chia sẻ: dkS00TYs | Lượt xem: 2132 | Lượt tải: 2download
Tóm tắt nội dung Nâng cao tính thấu đáo nghiệp vụ và khả năng mở rộng của dữ liệu XML với các đặc tính pureXML của DB2 phiên bản mới 9.7, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
) PATH '.') ; 
END # 
--- Invoke the "getphone" table function and inspect the 
result 
SELECT cid, p.type, p.number 
FROM customer, TABLE(getphone(info)) p 
WHERE cid = 1004 # 
CID TYPE NUMBER 
---------------- ---------- -------------------- 
 1004 work 905-555-4789 
 1004 home 416-555-3376 
 2 record(s) selected. 
Tất nhiên, DB2 tiếp tục hỗ trợ việc sử dụng kiểu dữ liệu XML trong các thủ tục 
được lưu sẵn, đây là một khả năng đã được cung cấp lần đầu tiên tại bản phát hành 
trước đó. 
Khám phá thêm các cải tiến về quản trị, phát triển ứng dụng và hiệu năng 
Các công nghệ pureXML khác trong DB2 9.7 cung cấp nhiều hỗ trợ hơn cho việc 
quản lý cơ sở dữ liệu, việc đơn giản hoá phát triển ứng dụng và cải thiện hiệu năng 
khi chạy thi hành. Phần này của bài viết giới thiệu cho bạn những tính năng bổ 
sung đó. 
Phân tích XML nội tuyến 
Hai hàm mới được hệ thống cung cấp cho phép quản trị viên phân tích nội tuyến 
tài liệu XML nhỏ. Một hàm là SYSPROC.ADMIN_IS_INLINED, cho phép quản 
trị viên xác định xem DB2 đã có khả năng nhập vào nội tuyến các tài liệu XML 
hay không dựa vào độ dài nội tuyến tối đa được xác định khi tạo bảng (hoặc sửa 
đổi bảng). Hàm kia là SYSPROC.ADMIN_EST_INLINE_LENGTH, cho phép 
quản trị viên ước tính chiều dài nội tuyến tối thiểu, cần phải được xác định để cho 
phép DB2 lưu trữ một tài liệu XML đã cho trên cùng một trang với dữ liệu quan 
hệ trong một hàng. Các đặc tính này có thể giúp các quản trị viên tinh chỉnh thiết 
kế của cơ sở dữ liệu vật lý của họ. 
Liệt kê 8 cho thấy cách sử dụng các hàm mới này của DB2 như thế nào. 
Liệt kê 8. Phân tích dữ liệu XML nội tuyến với các hàm mới của DB2 
-- Create the customer table with a maximum inline 
-- length of 1000 bytes for XML data 
CREATE TABLE customer(id int, xmlcol XML INLINE 
LENGTH 1000); 
--- Insert or LOAD some data into the table 
INSERT INTO customer VALUES (…); 
. . . 
-- Query the table using two new DB2 functions 
-- for analyzing XML inlining 
SELECT id, ADMIN_IS_INLINED(info) AS inlined, 
 ADMIN_EST_INLINE_LENGTH(info) AS 
inline_length 
FROM customer; 
-- Inspect the result set. 
-- "1" in the second column indicates that the XML was 
inlined. 
-- "0" in the second column indicates that the XML was 
not inlined. 
-- "-1" in the third column indicates that the XML is too 
big 
-- to be inlined with the current page size. 
ID INLINED INLINE_LENGTH 
------- -------- ------------- 
 1000 1 770 -- Inlined. Uses approx 770 
bytes 
 1001 0 2345 
 1002 1 796 
 1003 0 1489 -- Not inlined. Inline size of 
at least 1489 needed 
 1004 0 1910 
 1005 0 -1 -- Too large to be inlined for 
the given page size 
Liệt kê 8 mô tả cách tạo một bảng với một cột XML nội tuyến, ở đây các tài liệu 
XML được lưu trữ ngay trong hàng quan hệ nếu chúng không chiếm hơn 1000 
byte, trái lại chúng sẽ được lưu trữ ngoại tuyến tại vùng dữ liệu XML (XDA). Sau 
khi chèn số dữ liệu vào bảng, ta gọi ra hai hàm mới để xác định (a) tài liệu XML 
trong một hàng có phải là nội tuyến hay không và (b) chiều dài ước tính của tài 
liệu XML trong hàng hiện tại mà sẽ cho phép tài liệu được nội tuyến. 
Tạo và sắp xếp lại các chỉ mục XML trực tuyến 
Trong các phiên bản trước của DB2, việc tạo ra hoặc sắp xếp lại một chỉ mục trên 
dữ liệu XML không cho phép các thao tác chèn, cập nhật, hoặc xóa, làm thay đổi 
các dữ liệu trong bảng, trong khi chỉ mục đang được xây dựng. Các cải tiến mới 
trong DB2 loại bỏ hạn chế này, cho phép sự linh hoạt hơn và tránh làm chậm trễ 
hoặc làm dừng ứng dụng khi cần phải tạo ra hoặc sắp xếp lại một chỉ mục XML. 
Kết quả là, DB2 làm tăng tính sẵn sàng để sử dụng của dữ liệu cho ứng dụng. 
Với DB2 9.7, việc tạo ra chỉ mục XML cho phép các hoạt động viết đồng thời 
theo mặc định, giống như việc tạo ra các chỉ mục quan hệ. Khi sắp xếp lại các chỉ 
mục XML, quản trị viên cơ sở dữ liệu có thể sử dụng mệnh đề ALLOW WRITE 
ACCESS trong câu lệnh REORG INDEXES để cho phép các thao tác viết đồng 
thời trên bảng. 
Phân rã nhiều tài liệu XML 
Các phiên bản mới của DB2 mở rộng các tiện ích được xây dựng sẵn để phân rã 
(hoặc chia nhỏ) dữ liệu làm việc với nhiều tài liệu XML. Các bản phát hành DB2 
trước cho phép một tài liệu XML đầu vào cho mỗi hoạt động phân rã. Trong bản 
phát hành mới của DB2, một thủ tục được lưu sẵn mới do hệ thống cung cấp là 
(XDB_DECOMP_XML_FROM_QUERY) lấy một bảng DB2 hiện có làm đầu 
vào, cho phép các quản trị viên phân rã dữ liệu được chứa trong một cột cho trước. 
Đối với các thiết kế cơ sở dữ liệu có yêu cầu chia nhỏ một số hoặc toàn bộ nội 
dung của dữ liệu XML, thì việc gọi thủ tục được lưu sẵn này có thể đặc biệt hữu 
ích sau khi nạp một số lượng lớn dữ liệu XML hay BLOB. Cũng như các phiên 
bản trước, các phương tiện phân tách của DB2 dựa trên một lược đồ XML có chú 
giải để ánh xạ các thuộc tính XML và phần tử XML tới những cột cụ thể của bảng 
quan hệ. 
Lấy ra các chẩn đoán về hiệu lực của lược đồ XML 
Thủ tục được lưu sẵn do hệ thống cung cấp, 
XSR_GET_PARSING_DIAGNOSTICS, cung cấp cho các lập trình viên các 
thông tin chẩn đoán chi tiết về bất kỳ lỗi nào được phát hiện khi DB2 phân tích 
một tài liệu XML hoặc xác nhận hợp lệ một tài liệu XML dựa vào một lược đồ 
XML. Khả năng này, lần đầu tiên được đưa vào DB2 phiên bản 9.5, Fix Pack 3, có 
thể giúp các lập trình viên xác định các khu vực có vấn đề và sửa chữa tài liệu 
XML khi cần thiết. 
Nếu một tài liệu XML được tạo ra không đúng hoặc không hợp lệ đối với một 
lược đồ XML đã cho, thì bạn hãy gọi thủ tục 
XSR_GET_PARSING_DIAGNOSTICS với một tài liệu, và theo tùy chọn, bạn sử 
dụng lược đồ XML làm đầu vào. Thủ tục tạo ra thông tin chi tiết về lỗi, bao gồm: 
 Số dòng và cột của vị trí lỗi trong tài liệu XML dạng văn bản 
 Một XPath trỏ đến vị trí lỗi trong tài liệu 
 Các thông báo lỗi gốc, mã lý do và bất kỳ mã thông báo của lỗi ứng dụng 
nào 
Sử dụng bảng tạm thời toàn cục 
Hỗ trợ mới để đưa các cột XML vào các bảng tạm thời toàn cục đã khai báo xứng 
đáng để ta nói về một chút về nó, bởi vì nó có thể giúp các lập trình viên cải thiện 
hiệu suất trong khi chạy thi hành của các ứng dụng của họ. Bảng tạm thời toàn cục 
được khai báo cho phép lập trình viên lấy ra dữ liệu mà họ sẽ sử dụng thường 
xuyên trong các ứng dụng của mình, ghi nhớ sẵn (cache) chúng trong một bảng 
tạm thời và thao tác các dữ liệu nhiều lần lặp đi lặp lại trong các lần ứng dụng của 
họ. Việc khóa lại và đăng nhập được giảm thiểu, và nội dung của bảng được xóa 
khi lần làm việc chấm dứt. 
Cải thiện truy cập của SQL vào dữ liệu XML 
Công nghệ tối ưu hóa truy vấn trong DB2 9.7 mang lại hiệu quả tăng lên cho việc 
xử lý các truy vấn đối với các khung nhìn quan hệ của dữ liệu XML. DB2 tự động 
sử dụng công nghệ này khi thích hợp, do đó, các lập trình viên không cần phải làm 
gì mà vẫn có được các lợi ích về hiệu năng thời gian chạy thi hành tiềm năng. 
DB2 9.7 khuyến khích việc sử dụng các chỉ mục XML để xử lý truy vấn đối với 
khung nhìn quan hệ của các dữ liệu XML. Để hiểu được điều này làm việc như thế 
nào, ta hãy thực hiện một ví dụ nhỏ. Liệt kê 9 tạo ra một bảng của dữ liệu về nhân 
viên với một cột XML. Liệt kê cũng tạo ra một chỉ mục XML theo số hiệu văn 
phòng của nhân viên, các mục này có thể xuất hiện là các phần tử XML trong hồ 
sơ của nhân viên. Cuối cùng, nó tạo ra một khung nhìn trích ra và hiển thị ID của 
nhân viên, tên, họ và số văn phòng, như là các cột quan hệ. 
 Liệt kê 9. Tạo một bảng, chỉ mục XML và khung nhìn quan hệ 
-- Create a table with an XML column. 
CREATE TABLE emp(doc XML); 
-- Create an XML index on the table. 
CREATE INDEX officeIdx ON emp(doc) GENERATE 
KEYS USING 
XMLPATTERN '/dept/employee/office' AS SQL 
VARCHAR(20); 
-- Create a relational view of the XML data managed by 
the table. 
CREATE VIEW emp_rel_view(id, first_name ,last_name 
,office) AS 
SELECT X.* FROM emp, 
 XMLTABLE ('$d/dept/employee' passing doc as "d" 
 COLUMNS 
 empID INTEGER PATH '@id', 
 firstname VARCHAR(5) PATH 'name/first', 
 lastname VARCHAR(5) PATH 'name/last', 
 office INTEGER PATH 'office') AS X; 
Bây giờ ta hãy xem xét các lệnh SQL trong liệt kê 10 truy vấn khung nhìn để chọn 
ID và tên của tất cả các nhân viên thuộc văn phòng R344. 
Liệt kê 10. Truy vấn một khung nhìn với các tiêu chí lọc (một vị từ truy vấn) 
SELECT id, first_name 
FROM emp_rel_view 
WHERE office = 'R344'; 
Vị từ trong mệnh đề WHERE ràng buộc cột quan hệ office , mà khung nhìn sẽ ánh 
xạ với đường dẫn /dept/employee/office ở cột XML. Công nghệ tối ưu mới trong 
DB2 phiên bản 9.7 cho phép DB2 sử dụng một cách tự động chỉ mục officeIdx của 
XML được định nghĩa tại cột XML nằm ở dưới để xử lý truy vấn này. Việc sử 
dụng chỉ mục XML thích hợp sẽ cải thiện hiệu suất thời gian chạy thi hành. 
Các ứng dụng không hiểu dữ liệu XML một cách trực tiếp, chẳng hạn như rất 
nhiều công cụ báo cáo kinh doanh, có thể có lợi từ các views đó và từ công nghệ 
của DB2 9.7, công nghệ này đôi khi được gọi là kỹ thuật đẩy xuống được xác nhận 
(predicate pushdown). Tính năng tối ưu hóa này cho phép các ứng dụng truy vấn 
dữ liệu XML một cách hiệu quả thông qua một giao diện quan hệ truyền thống với 
các truy vấn SQL. 
Kết luận 
Với DB2 9.7, IBM tiếp tục mở rộng công nghệ DB2 pureXML theo những hướng 
đi quan trọng. Các khả năng này bao gồm các tuỳ chọn thiết kế mới của cơ sở dữ 
liệu, cung cấp khả năng mở rộng và cải tiến hiệu suất cho cả hai loại ứng dụng: 
phân tích và hướng giao dịch. Khả năng hỗ trợ nén mới cho dữ liệu XML và các 
chỉ mục làm giảm các yêu cầu về không gian đĩa và có thể cải thiện hiệu suất thời 
gian chạy thi hành của các hoạt động vào/ra ( I/O-bound operations). Hỗ trợ cho 
XML tại các hàm do người dùng định nghĩa và các bảng chung tạm thời được khai 
báo cung cấp những thuận lợi cho việc phát triển ứng dụng mới. Cuối cùng, các 
hàm mới do hệ thống cung cấp các thủ tục được lưu trữ đơn giản hóa việc thiết kế 
cơ sở dữ liệu và các nỗ lực bảo trì. 

File đính kèm:

  • pdfNâng cao tính thấu đáo nghiệp vụ và khả năng mở rộng của dữ liệu XML với các đặc tính pureXML của DB2 phiên bản mới 9.7.pdf