XML 데이타 관리시스템과 유전체 데이타베이스에의 응용

An XML Data Management System and Its Application to Genome Databases

  • 발행 : 2004.08.01

초록

최근 들어 XML의 급속한 확산으로 인해 DBMS를 이용한 XML 데이타 관리의 필요성이 높아지고 있다. 기존의 DBMS를 이용한 XML 저장 및 검색에 관한 연구들은 편의성 측면이나 성능 측면에서 아직 해결할 문제점을 가지고 있다. 특히, 관계 DBMS를 이용하는 경우 복잡한 XML 문서를 간단한 테이블 형태로 변환하는 데이타 모델 변환과 그에 따른 질의 변환의 복잡성이 문제점으로 지적되고 있다. 본 논문에서는 UniSQL ORDBMS를 이용한 DTD 의존적 데이타 관리 시스템인 Xing을 제안한다. Xing 시스템에서는 ORDBMS의 객체 참조와 다중값 속성을 이용하므로 XML 데이타를 객체 모델로 매핑하는 것이 간단하다. 또한, DTD 의존적인 객체 스키마를 생성하므로 XML 저장 알고리즘이 간단하고, 검색을 위한 질의 변환도 용이하다. 특히, Xing에서는 SAX 파서를 이용하여 메모리 부하가 적은 고유의 Xing 트리를 생성하므로 대량의 XML 데이타를 빠르게 저장할 수 있다. 그리고, 질의결과를 XML 형태로 반환함으로써 완전한 XML 데이타 관리시스템으로 사용할 수 있다. GenBank의 유전체 XML 데이타에 대하여 Xing을 이용한 저장과 관계 데이터베이스로 저장한 경우에 검색성능을 비교한 결과 제안한 시스템이 최고 10배까지 좋은 성능을 보였다.

As the XML data has been widely used in the Internet, it is necessary to store and retrieve the XML data by using DBMSs. However, relational DBMSs suffer from the model difference between graph structure of the XML data and table forms in relational databases. We propose an ORDBMS-based DTD-dependent XML data management system Xing. Xing stores XML data in a DTD-dependent form in an object database. Since the object database schema has a graph structure and supports multi-valued attributes, mapping from an XML data model and queries into an object data model and OQLs is a simple problem. For rapid storing of large quantities of the XML data, we use SAX parser with customized Xing-tree which requires a small memory space compared with the DOM-tree. Xing also returns the query result in an XML document form. We have implemented the Xing system on top of UniSQL object-relational DBMS for the validity checking and performance comparison. For XML genome data from GenBank, and experimental evaluation shows that Xing can provide significant performance improvement (maximum 10 times) compared with the relational approach.

키워드

참고문헌

  1. W3C XML Query, http://www.w3c.org/XML/Query/
  2. K. Runapongsa and J. M. Patel, 'Storing and Querying XML Data in Object-Relational DBMSs,' EDBT Workshop, pp.266-285, 2002
  3. 정태선, 박상원, 한상영, 김형주, 'XML 데이타를 위한 객체지향 데이타베이스 스키마 및 질의처리', 한국정보과학회 논문지 : 데이타베이스, 29(2), 2002
  4. S. Abiteboul, P. Buneman. and D. Suciu, Data on the web: from relations to semistructured data and XML, Morgan Kaufmann Publisher, Los Altos, CA114022, USA, 1999
  5. I. Tatarinov and S. D. Viglas, 'Storing and Querying Ordered XML Using a Relational Database System,' In Proc. Intl. Conf.. on Management of Data, ACM SIGMOD, 2002 https://doi.org/10.1145/564691.564715
  6. XML-DBMS, http://www.rpbourret.com/xmldbms/
  7. J. Shanmugasundaram, K. Tufte, G.He, C. Zhang, D. DeWitt, and J. Naughton. 'Relational databases for querying xml documents: Limitations and opportunities,' In Proc. Intl. Conf. on 25th VLDB, 1999
  8. J. McHugh, S. Abiteboul, R. Goldman, D. Quass, and J. Widom. 'Lore: A Database Management System for Semistructured Data,' ACM SIGMOD Record, 26(3):54-66, September 1997 https://doi.org/10.1145/262762.262770
  9. UniSQL, http://www.unisql.com/
  10. N. Idris, 'Should I use SAX or DOM?,' http://www.xml.com/pub/SAX_vs_DOM, 2000
  11. 송정길, XML 정복을 위한 지름길 XML 프로그래밍, 생능출판사, pp.273-379, 2003
  12. NCBI GenBank, http://www.ncbi.nlm.nih.gov/
  13. Tamino XML database, http://www.softwareag.com/tamino/
  14. eXcelon Inc., http://www.exceloncorp.com/
  15. J. McHugh and J. Widom., 'Query Optimization for XML,' In Proc. Intl. Conf. on the 25th VLDB, 1999
  16. S. Abiteboul, D. Quass, J. McHugh, J. Widom, and J. Wiener. 'The Lorel Query Language for Semistructured Data,' International Journal on Digital Libraries, 1(1):68-88, April 1997
  17. XML-QL, http://www.w3org/TR/NOTE-xml-ql/
  18. A. Bonifati and S. Ceri, 'Comparative Analysis of Five XML Query Languages,' ACM SIGMOD Record, 29(3), pp.76-87, 2000 https://doi.org/10.1145/362084.362140
  19. XQL, http://www.w3.org/TandS/QL/QL98/pp/xql.html
  20. XPath, http://www.w3.org/TR/spath.html
  21. E. Bertino and W. Kim, 'Indexing Techniques for Queries on Nested Objects,' IEEE Trans. on Knowledge and Data Engineering, 1(2), pages 196-214, June 1989 https://doi.org/10.1109/69.87960
  22. R. Emasri and S. Navathe, Fundamentals cf Database Systems, Addison-Wesley, 3rd edition, 2000