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

Chia sẻ: TRẨN THỊ THANH HẰNG | Ngày: | Loại File: PDF | Số trang:6

0
101
lượt xem
27
download

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

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

nhu cầu sử dụng XML ngày càng tăng đòi hỏi các hệ thống mà lưu dữ liệu bán cấu trúc mà không cần phải ép nó vào cấu trúc dữ liệu không phù hợp

Chủ đề:
Lưu

Nội dung Text: so sánh các phương pháp tiếp cận cơ sở dữ liệu XML

  1. So sánh các ph ng pháp ti p c n c s d li u XML Page 1 of 6 So sánh các ph ng pháp ti p c n c s d li u XML M c : Trung bình Adriaan de Jonge, K s ph n m m, Freelance 17 07 2009 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. Ngày nay, các NXD v#n là NXD nh ng c c i ti n r t Các thu t ng hay dùng nhi u. Cùng th$i i m, các nhà cung c p RDBMS ã có API: Giao di n l p trình ng d ng th$i gian u i k"p khi chúng có th l u tr các tài li u HTTP: Giao th c truy n siêu v n XML. Các ph n XML không còn c l u tr trong các b n BLOBs. Thay vì nh v y, chúng c l u tr trong các IT: Công ngh thông tin c u trúc cây (tree-like structure), c t i u hóa ch a XML: Ngôn ng ánh d u m r ng 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 tài li u XML — áng chú ý nh t, XQuery 1.0, v i h tr cho Ngôn ng & $ng d#n XML (XML Path Language - XPath) 2.0. Khái ni m c a XQuery c phát tri n trong nhi u n m; k t qu cu i cùng có s t ng ng v i các phiên b n tr c ó nh ng hoàn thi n h n. Gi ng nh Ngôn ng Truy v n Có c u trúc (Structured Query Language - SQL), XQuery %y m nh s c l p c a nhà cung c p và tái s d ng. T i sao b n c n c s d li u XML? Các c s d li u th $ng có th l u tr c tài li u không c u trúc và có c u trúc. C hai u yêu c u các c u trúc d li u mà không th $ng xuyên thay i. Tuy nhiên, i m y u c a các c s d li u quan h là vi c l u tr các tài li u bán c u trúc. Không nh các d li u có c u trúc, các tài li u bán c u trúc này có th có r t nhi u b c t do trong tr t t c a các thành ph n trong tài li u và cách nh ng thành ph n ó c l ng vào nhau. Không nh các tài li u không có c u trúc, các thành ph n riêng l' có th c phân lo i b(ng cách s d ng các nhãn mô t . B n có th l u tr d li u bán c u trúc trong các c u trúc quan h không? T t nhiên là b n có th , nh ng b n có th k t thúc b(ng m t c u trúc d li u c th mà th $ng xuyên thay i, m t c u trúc d li u t ng quát hóa mà làm m t mô t c a các nhãn ho c m t mô hình tr)u t ng nh là nh ng th mà các h th ng qu n lý n i dung s d ng, tr n d li u v i nh ng th mà áng ra là siêu d li u (metadata). M t khác, "nh d ng XML phù h p v i vi c mô t d li u bán c u trúc. Thêm n a, b n có th duy trì mô hình d li u m t cách d* dàng. Thêm các tên c a thành ph n không làm thay i c u trúc d li u — nó luôn gi c u trúc cây. Nó ch! liên quan n m t s thay i trong l c XML mô t cách th c mà các
  2. So sánh các ph ng pháp ti p c n c s d li u XML Page 2 of 6 tên c a ph n t c s d ng và liên k t bên trong c u trúc cây. V i các tài li u nh là các h s xin vi c, các mô t s n ph%m, và các n hàng c a khách hàng, XML có l+ là "nh d ng phù h p. & ng th$i, XML có kh n ng mô t c d li u có c u trúc và d li u không có c u trú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 pureXML và so sánh nó v i các ti p c n c a các NXD c i n. V i so sánh này, tôi ã ch n m t d án mã m tên là eXist-DB. C eXist-DB và DB2 Express-C u mi*n phí và cung c p r t nhi u ch c n ng thân thi n v i ng $i dùng. N u b n mu n l u tr l ng d li u c c l n, tôi khuyên b n mua m t phiên b n th ng m i c a DB2. & u tiên, DB2 có l+ nghe nh là m t cái gì ó r t n ng n , nh ng b n có th cài t DB2 Express-C trên m t máy bàn ho c máy xách tay th nghi m kh n ng pureXML d* dàng. M c dù không có phiên b n th ng m i c a eXist, Mark Logic là l a ch n thay th x ng áng cho eXist khi mà các yêu c u hi u su t và tính m r ng v t quá kh n ng c a eXist. B n có th dùng th Mark Logic b(ng cách s d ng gi y phép dùng th 30 ngày ho c m t phiên b n c ng ng mà b" gi i h n l u tr m c 100MB. Tôi có th t ng t ng th y nhu c u v so sánh s n ph%m gi a các s n ph%m t ng t nh là DB2 và Orcale. B n có th tìm th y m t s tranh lu n tr c ây trên m ng v hai s n ph%m này. M t th o lu n c b n h n là so sánh các tính n ng c a pureXML trong DB2 Express-C và trong eXist-DB. Ho c, m t cách t ng t , so sánh DB2 v i Mark Logic.
  3. So sánh các ph ng pháp ti p c n c s d li u XML Page 3 of 6 C s d li u XML nguyên g c Gi ng nh h u h t các tên phân lo i s n ph%m, thu t ng c s d li u XML nguyên g c gây hi u nh m ôi chút. Nó làm cho b n th,c m,c ki u nh : C s d li u là gì? XML nguyên g c là gì? DB2 có ph i là NXD không? Theo Wikipedia, "m t c s d li u máy tính là m t t p h p có c u trúc các b n ghi ho c d li u cl u tr trong m t h th ng máy tính." XML nguyên g c là cách dùng c a các công ngh liên quan n XML mà không pha t p v i các công ngh phi XML. T c là kh n ng s d ng XQuery và XPath không có m t chút SQL nào. IBM d oán tr c câu h i có ph i DB2 là XML nguyên g c không b(ng cách g i các c tính c a nó là pureXML. Tôi s+ quay tr l i "nh ngh-a ó trong ph n sau. Khi so sánh các NXD v i RDBMS có h tr XML, tôi ngh- r(ng m t NXD i n 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 s d ng các tính n ng, )ng nh m l#n s tinh vi c a các c t XML v i s thi u kh n ng XML. Tên pureXML c chính th ng hóa theo hai cách: D li u XML c l u tr trong "nh d ng cây nguyên b n, tách bi t kh i d li u quan h . B n c phép truy c p t t c d li u — c quan h và XML — thông qua m t giao di n XML n nh t. XQuery 1.0 không b" gi i h n b i vi c truy v n các tài li u XML. IBM cung c p các hàm XQuery mà cho phép b n truy v n d li u quan h và tr n và i sánh các k t qu v i XML t) các c t XML. K t c a c a d li u k t h p có th c tr l i trong "nh d ng XML. DB2 là n n t ng c s d li u nguyên b n. Nó không cung c p m t l p m ng các ch c n ng ch a tài li u mà r t nhi u NXD khác cung c p. &i u ó không có ngh-a là b n không th s d ng DB2 th c hi n ch a tài li u — cho dù m ng hay dày. Hi n nay, h u h t các kho ch a tài li u nh là Alfresco c cài t trên các RDBMS không h tr XML h n là các NXD. S d ng DB2 nh là c s cho nh ng kho ch a này ít nh t c ng cho k t qu t ng t , nh ng, h n th n a, v i l i ích c thêm vào c a các mô hình d li u
  4. So sánh các ph ng pháp ti p c n c s d li u XML Page 4 of 6 m m d'o h n s d ng kh n ng l u tr XML. Nó có th là th$i i m tr c khi các s n ph%m nh là Alfresco có c các tính n ng ch.ng h n nh là pureXML. Lý do là nh ng s n ph%m ó không mu n b" trói bu c vào m t s n ph%m c s d li u riêng bi t nào. B t ch p XQuery 1.0, cách mà ngôn ng XQuery c s d ng trong các s n ph%m c s d li u v#n thi u s tiêu chu%n hóa. V i nh ng s n ph%m này, cách an toàn là ch$ i các kh n ng m i c a các c s d li u XML, ch$ i ng d ng ng nh t h n c a XQuery và các giao th c k t n i, và bây gi$, t gi i h n b n thân chúng n các tiêu chu%n v i các cài t ng nh t gi ng nh WebDAV ho c các b k t n i c s d li u quan h . 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 (front-end) c a kho ch a tài li u hay chúng t p trung vào m t sau (back-end)? N u b n mu n nhi u ch c n ng cho ng $i dùng cu i nh là m t giao di n qu n tr", dòng làm vi c, và tr c quan hóa, thì r t nhi u s n ph%m trên th" tr $ng, nh là Alfresco, cung c p ki u h tr này. N u b n quan tâm n các c ch truy v n m nh m+, nh là XQuery và tìm ki m v n b n y , và l u tr hi u qu các tài li u bán c u trúc, thì các NXD nh là eXist ho c Mark Logic có l+ là l a ch n c a b n. Th gi i c a các gi i pháp c s d li u b" chi ph i b i m t s ít các nhà cung c p l n. IBM là m t trong s ó. Các NXD v#n là m t th" tr $ng nh . Các câu h i th $ng là li u nh ng ng $i ch i nh bé có th s ng sót qua s c nh tranh hay không, hay li u h s+ b" mua b i các t p oàn l n h n (nh là X-Hive b" mua b i EMC), ho c li u h s+ m t th" ph n cho các gi i pháp lai. M t i u rõ ràng, các nhà cung c p RDBMS, s+ không b(ng lòng t) b th" ph n cho NXD, cung c p các gi i pháp XML tích h p tiêu chu%n xu t x ng nh ng c tích h p t t c a chính mình áp ng nhu c u c a các khách hàng.
  5. So sánh các ph ng pháp ti p c n c s d li u XML Page 5 of 6 Tài nguyên H ct p XQuery 1.0: Tìm hi u v tiêu chu%n truy v n XML m nh m+ c s d ng trong t t c các c s d li u XML. Th vi n k thu t XML: Truy c p developerWorks XML Zone xem các bài vi t, các th thu t, các h ng d#n, các tiêu chu%n và IBM Redbooks. Web qu ng bá và các s ki n k thu t c a developerWorks: C p nh t thông tin công ngh v i các ph n này. developerWorks podcasts: Nghe các th o lu n và ph ng v n dành cho các nhà phát tri n ph n m m. Kho sách công ngh : Tìm các sách v công ngh ây. L y s n ph m và công ngh DB2 pureXML: Tìm hi u v các kh n ng c a n n t ng DB2 y bao g m các kh n ng pureXML. DB2 Express-C v i pureXML: Dùng th công ngh pureXML b(ng cách s d ng phiên b n c ng ng mi*n phí. eXist-DB: T i NXD mã m mà t)ng b c tham gia c nh tranh v i MySQL. Mark Logic: Khi các yêu c u c a b n v hi u su t và tính kh m v t quá kh n ng c a eXist, Mark Logic là l a ch n phù h p. Th o lu n Di*n àn th o lu n XML: Tham gia vào các th o lu n liên quan n XML. developerWorks blogs: Xem xét nh ng blogs này và tham gia vào c ng ng developerWorks. ôi nét v tác gi Adriaan de Jonge là chuyên gia phát tri n ph n m m hi n ang làm vi c cho chính ph Hà Lan, x lý m t vài d án v i các vai trò khác nhau. Adriaan ã vi t các bài vi t liên quan n XML cho developerWorks c a IBM và Amazon IBM, IBM logo, ibm.com, DB2, developerWorks, Lotus, Rational, Tivoli, và WebSphere là th ng hi u c a t p oàn International Business Machines Corporation M và các n c khác. Nh ng th ng hi u này và các thu t ng th ng hi u c a IBM c xác l p khi chúng xu t hi n l n u tiên v i các ký hi u t ng ng (® ho c ™), xác "nh ã c ng ký M hay lu t th ng hi u chung s h u b i IBM t i th$i i m thông tin c phát hành. Nh ng th ng hi u ó c ng có th c ng ký ho c là th ng hi u c a lu t chung các n c khác. Danh sách hi n t i c a các th ng hi u c a IBM có http://www.ibm.com/legal/copytrade.shtml Bi u tr ng Adobe, the Adobe logo, PostScript, và PostScript là các th ng hi u ã c ng ký c a Adobe
  6. So sánh các ph ng pháp ti p c n c s d li u XML Page 6 of 6 Systems Incorporated M và các n c khác. Microsoft, Windows, và bi u tr ng Windows là th ng hi u c a Microsoft Corporation M và các n c khác. Tên các d"ch v , s n ph%m, công ty, có th' là th ng hi u ho c d"ch v ã ng ký. Tên c a công ty, s n ph%m hay d"ch v có th là nhãn hi u ng ký ho c nhãn hi u d"ch v c a ng $i khác.

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản