So sánh các phương pháp tiếp cận cơ sở dữ liệu XML - Pdf 20

So sánh các phương pháp tiếp cận cơ sở dữ liệu XML
Sự giống và khác nhau giữa cơ sở dữ liệu XML nguyên gốc và pureXML là gì?
Adriaan de Jonge, Kỹ sư phần mềm, 自由职业者
Tóm tắt: Nhu cầu sử dụng XML ngày càng tăng đòi hỏi các hệ thống mà lưu trữ
dữ liệu bán cấu trúc mà không cần phải ép nó vào các cấu trúc dữ liệu không phù
hợp. Các yêu cầu này đều được đáp ứng bởi cả cơ sở dữ liệu XML nguyên gốc và
cơ sở dữ liệu quan hệ hỗ trợ XML. Câu hỏi đặt ra là: Tại sao bạn thích một cơ sở
dữ liệu XML nguyên gốc hơn một cơ sở dữ liệu cổ điển với hỗ trợ XML hoặc các
cách khác? Bài viết này so sánh các phương pháp tiếp cận cho một số các giải
pháp khác nhau, bao gồm eXist, Mark Logic, và IBM® DB2® Express-C. Sự
khác biệt của các kiểu cơ sở dữ liệu được so sánh giữa những thuận lợi và khó
khăn của chúng.
Trong những năm đầu tiên của cơ sở dữ liệu XML, sự khác biệt giữa cái được gọi
là cơ sở dữ liệu XML nguyên gốc (native XML database-NXD) và các hệ thống
quản lý cơ sở dữ liệu quan hệ có hỗ trợ XML (relational database management
systems - RDBMS) là rất lớn. Các NXD được tối ưu hóa để lưu trữ các tài liệu
XML. Các bản RDBMS cũ chỉ thêm một số gia vị vào các đối tượng nhị phân lớn
(binary large object - BLOB) để chứa XML.
Các thuật ngữ hay dùng
 API: Giao diện lập trình ứng dụng
 HTTP: Giao thức truyền siêu văn bản
 IT: Công nghệ thông tin
 XML: Ngôn ngữ đánh dấu mở rộng
Ngày nay, các NXD vẫn là NXD nhưng được cải tiến rất nhiều. Cùng thời điểm,
các nhà cung cấp RDBMS đã có thời gian đuổi kịp khi chúng có thể lưu trữ các tài
liệu XML. Các phần XML không còn được lưu trữ trong các BLOBs. Thay vì như
vậy, chúng được lưu trữ trong các cấu trúc cây (tree-like structure), được tối ưu
hóa để chứa các tài liệu có cấu trúc cây, bản chất tự nhiên của một tài liệu XML
chuẩn.
Trong thời gian giữa các cài đặt ban đầu và các giải pháp ngày nay, một số sự phát
triển nền tảng đã được thêm vào sự chuẩn hóa của các ngôn ngữ truy vấn trên các

Thế thì, bạn có cần các cơ sở dữ liệu quan hệ nữa không?
Khi bạn tạo một giải pháp phần mềm mới, câu trả lời có thể là "Không!". Nếu bạn
có một giải pháp mà cho phép bạn lưu trữ dữ liệu bán cấu trúc, bạn cũng có thể sử
dụng nó để lưu trữ dữ liệu có cấu trúc và không có cấu trúc. Việc có tất cả dữ liệu
của bạn trong một giải pháp lưu trữ đơn lẻ với khả năng tương kết và tạo ra các
truy vấn mà bao trùm mọi thứ trong một lần thì dễ hơn rất nhiều so với dữ liệu tích
hợp từ nhiều nguồn lưu trữ khác nhau.
Tốt hơn, nếu trả lời "không" với câu hỏi này, bạn nên để phần lớn dữ liệu của
mình ở dạng kiểu tài liệu bán cấu trúc. Tuy nhiên, nếu đa phần dữ liệu của bạn phù
hợp với mô hình quan hệ có cấu trúc chặt chẽ và ít giống với kiểu tài liệu và quện
chặt với nhau, thì việc chọn một NXD có lẽ không giúp ích gì cho trường hợp của
bạn.
Vậy thì làm thế nào để xác định bản chất dữ liệu của bạn? Và bạn sẽ phải làm gì
nếu khối lượng dữ liệu có cấu trúc, bán cấu trúc và không cấu trúc là tương
đương? Trong trường hợp bất định như vậy, tin tốt lành là các cơ sở dữ liệu cổ
điển là lựa chọn phù hợp để chứa các tài liệu XML hoặc các phân mảnh của các tài
liệu XML vào thời điểm hiện tại. Các cách thức để truy cập những phân mảnh
XML này có lẽ khác nhau giữa các cơ sở dữ liệu. Một điều mà các bản cài đặt của
các cơ sở dữ liệu cùng có là chúng sử dụng bản XQuery 1.0. Các giải pháp
Một số sản phẩm trên thị trường cài đặt một cơ sở dữ liệu XML một chiều hoặc
một cơ sở dữ liệu khác, bao gồm Xindice, Tamino, X-Hive, Oracle, và Microsoft®
SQL Server. Tuy nhiên, tôi sẽ không khung làm việc luận về những sản phẩm này
trong bài viết này. Một bản so sánh sản phẩm dài và đầy đủ là không khả thi, và nó
có thể không đáng tin khi mà bài viết này được công bố trên trang của một nhà
cung cấp một giải pháp cơ sở dữ liệu XML. Các tác giả độc lập cũng không giải
quyết hoàn toàn các câu hỏi một cách khách quan.
Những gì tôi có thể làm là thảo luận về IBM DB2 Express-C với các tính năng

hình cũng có thể được phân loại như là một kho chứa tài liệu. Thuật ngữ kho chứa
tài liệu được sử dụng bởi các sản phẩm như Alfresco và Magnolia. Các sản phẩm
này được xếp lớp trên cả các cơ sở dữ liệu hiện có, và chúng thiếu cơ sở hạ tầng
được cung cấp bởi eXist và Mark Logic — đáng chú ý nhất là khả năng chạy các
XQuery một cách có hiệu quả. Chúng tập trung vào các chức năng bậc cao như là
luồng làm việc (workflow) và giao diện người dùng thân thiện. Các NXD dành
những thứ đó cho các người dùng các sản phẩm của mình. Chúng chỉ cung cấp các
hàm API chứa tài liệu bậc thấp, như là Web-based Distributed Authoring and
Versioning (WebDAV) hoặc các kết nối RESTful tùy biến.
Như vậy một NXD điển hình lưu trữ các tài liệu XML một cách hiệu quả. Nó cung
cấp công nghệ XQuery và một lớp mỏng các chức năng kho dữ liệu.
Các NXD dường như nhắm tới tài nguyên theo định hướng, nghĩa là các mẩu nội
dung riêng được lưu trữ trong kho chứa có thể được xác định bằng cách sử dụng
các định danh tài nguyên đồng bộ (Uniform Resource Identifier - URI). Sử dụng
HTTP hoặc WebDAV, các URI tương tự cho phép truy cập tới dữ liệu cái mà làm
cho tính kết nối trở thành không vấn đề.
Coi dữ liệu như là các tài nguyên đơn lẻ cũng có các yếu điểm của nó. Sự chia
tách tài liệu làm cho việc tạo quan hệ giữa các dữ liệu mà bị chia nhỏ khắp các đa
liệu trở nên khó khăn. Nếu một tài liệu chứa các dữ liệu độc quyền mà các tài liệu
khác tham chiếu đến, thì việc duy trì tính tích hợp tham chiếu càng khó khăn hơn.
Các nhà sản xuất cơ sở dữ liệu XML lớn cung cấp các lựa chọn để đặt các ràng
buộc trên các dữ liệu trong các đa tài liệu. Tuy nhiên, điều này chưa được tiêu
chuẩn hóa như các công nghệ XML khác. pureXML
IBM lựa chọn để tránh thuật ngữ cơ sở dữ liệu XML nguyên gốc (native) nhưng
vẫn muốn truyền tải bản chất nguyên gốc của XML của giải pháp của họ. DB2
Express-C là một điển hình cho NXD, nhưng nó lại chia sẻ một số đặc tính. Từ
một góc độ, DB2 dường như giống một RDBMS với các cột XML. Nếu bạn muốn

Bạn có thể sử dụng các khả năng của DB2 ở đâu?
Câu trả lời tương đối đơn giản. Đa số các giải pháp IT trên thế giới đã nghiên cứu
chi tiết các cơ sở dữ liệu quan hệ. Thậm chí khi các cơ sở dữ liệu quan hệ thiếu
tính mềm dẻo được yêu cầu cho một giải pháp, chúng vẫn phát triển hơn và phù
hợp hơn cho các nhu cầu lớn so với các thay thế khác.
Các công ty muốn triển khai bước tiếp theo và áp dụng các công nghệ XML không
muốn bỏ đi các kết quả đã được phát triển trong nhiều năm và thay thế chúng với
một NXD. Và, mặc dù họ có lẽ sử dụng NXD thêm vào cơ sở dữ liệu quan hệ của
họ, điều này có thể tạo ra các thách thức mới trong việc tích hợp các dữ liệu bị
chia nhỏ khắp các đa nguồn. Hãy nghĩ đến tính toàn vẹn tham chiếu và quản lý
giao tác. Mặc dù là không thể giải quyết được, nhưng một giải pháp tích hợp đơn
lẻ mà quan tâm đến những điều này vẫn có nhiều ưu điểm.
Sự kết hợp của dữ liệu quan hệ và dữ liệu XML trong pureXML giúp cung cấp sự
chuyển vị suôn sẻ, hoặc gần như thế, sự chuyển vị từng phần sang công nghệ
XML. Kết luận
Mặc dù các tài liệu XML có thể mô tả dữ liệu có cấu trúc, một NXD chứa nhiều
tài liệu XML có lẽ không phải là giải pháp tối ưu để mô tả các quan hệ giữa dữ
liệu có cấu trúc bị chia nhỏ thành nhiều tài liệu và duy trì tính toàn vẹn tham
chiếu. Nếu nó đã có thể quản lý những mới quan hệ đó (có lẽ sử dụng XPointer),
thì việc sử dụng vẫn chưa được chuẩn hóa.
Lời khuyên tốt nhất là sử dụng đúng công cụ cho đúng công việc. Tuy nhiên, sự
song hành của một NXD với một RDBMS tạo ra thách thức cho bảo toàn dữ liệu.
Các đặc tính của pureXML của DB2 kết hợp những cái tốt nhất của hai bên và cho
phép lưu trữ cả dữ liệu có cấu trúc và dữ liệu bán cấu trúc. Đối với lưu trữ dữ liệu
không có cấu trúc, cả NXD và RDBMS đều thích hợp.
Nếu bạn thực sự tìm kiếm một kho chứa tài liệu hơn là một cơ sở dữ liệu, bạn nên
hỏi một câu hỏi khác. Các yêu cầu của bạn tập trung vào khả năng mặt trước


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status