1 / 24

Lore: A Database Management System for XML

Lore: A Database Management System for XML. 컴퓨터언어연구실 석사2학기 992 COG10 김 혜 진. 목차. Lore 의 소개 Semistructured data OEM Data Model XML 과 OEM Lorel DataGuides Lore 의 system architecture An XML document and its graph 실제 사용 예 Conclusion and Status. Lore 의 소개. Lore

Download Presentation

Lore: A Database Management System for XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lore: A Database Management System forXML 컴퓨터언어연구실 석사2학기 992COG10 김 혜 진

  2. 목차 • Lore의 소개 • Semistructured data • OEM • Data Model • XML과 OEM • Lorel • DataGuides • Lore의 system architecture • An XML document and its graph • 실제 사용 예 • Conclusion and Status

  3. Lore의 소개 • Lore • Lightweight Object Repository • A DBMS designed specially for managing semistructured information. • 처음에는 Lightweight라는 말은 Lore에 의해 사용되는 simple object model과, single-user, read-only access를 지원하는 lightweight system 둘 다를 의미하며 사용 (기존의 DBMS를 heavyweight라 표현) • Stanford 대학교에서 4년 전부터 시작. • OEM을 semistructured data model로 삼았다가, 최근 XML이 등장하면서 강한 유사성을 발견하고, XML로도 작업이 가능하도록 migration

  4. Semistructured data • Data가 구조를 가졌다 해도, 그 구조는 traditional database management system에서 요구하는 구조처럼 엄격하거나 일정하거나완벽하지는 않다. • Sources of semistructured data • integration of heterogeneous sources • extraction from World-Wide Web • XML • also calledunstructured data, loosely structured data • self-describing : schema is contained within the data

  5. The Semistructured Data Model-OEM

  6. OEM • OEM: Object Exchange Model • simple nested object model • object들은 label을 통해 self-describing • 정해진 schema는 없다. • Directed labeled graph • node는 object • labeled edge는 object-subobject 관계를 나타냄. • Leaf 부분에서는 atomic value를 갖는다. (integer, real, string, gif, avi, etc.)

  7. An XML document and its graph DBGroup &1 Project <DBGroup> <Member Name=“Smith” Advisor=“m1”> <Age>28</Age> </Member> <Member ID=“m1” Project=“p1”> <Name>Jones</Name> <Advisor>Ullman</Advisor> </Member> <Project ID=“p1” Member=“m1”> <Title>Lore</Title> </Project> </DBGroup> Member {Name=”Smith”, Advisor=“m1”} Member Advisor Project &2 &3 &4 {ID=”m1”, Project=“p1”} {ID=”p1”, Member=“m1”} Title Age Name Advisor &8 &5 &6 &7 Text Text Text Text &9 &10 &11 &12 ”28” ”Jones” ”Ullman” ”Lore”

  8. OEM이 XML과 다른 점 • OEM은 subelement, attribute, IDREF를 섞어 놓음. • OEM은 순서가 없다. • Lore를 통해 ordering을 보존 • OEM은 schema-less: DTD가 없다.

  9. LOREL - The LORE Language • Lore의 query language. • 기본 원리 • No errors • 불규칙하고 불완전한 데이터를 깨끗하게 다룬다. • 사용자는 전체 object 구조를 알 필요가 없다. • OQL의 확장 • class가 없고 엄격한 type-checking을 하지 않음 • 넓은 자동 형 변환(type coercion) • atomic values • 집합과 원소 • heterogeneous sets • very general path expressions

  10. LOREL: Query Examples • Simple example select DBGroup.Member. Name where DBGroup.Member. Office(.Room%|.Cubicle)? like “%252” • declarative update language update p.Member += (select DBGroup.Member where DBGroup.Member. Name = “Clark” ) from DBGroup.Project p where p.Title = “Lore” or p.Title=“Tsimmis”

  11. Lore’s XML Query Language • attribute와 subelement 사이의 구별 • path expression qualifier: subelement; >, attribute;@로 구분 • 비교 • 서로 다른 종류의 비교가 가능. 예) 상수와 attribute 값, element text의 비교 • 범위 한정자 • [2-4,7] 예)select y from DBGroup.Member x, x.Office[1-2] • Order-by clause • 질의 결과가 원래 XML 문서에 기초하여 질의 결과가 순서화 • 변형 및 구조적 결과 • 갱신 • expressive하고 declarative한 질의 언어 지원

  12. DataGuide • semistructured database는 일반적으로 미리 정의된 고정된 schema를 가지고 있지 않다. • DB의 기초를 이루는 간결하고 정확한 구조적 정리 • DataGuide: dynamic structural summary of current DB • database에서의 각 label path가 정확히 DataGuide에서 한번 나타남 • 각 label path는 original database에서 존재하는 graph • Schema의 역할 • database가 변화하면 점진적으로 수용. • 향후 연구: DTD와의 결합 • DTD에 의해 지배되지 않는 부분들에 대해 적당한 곳에 적당한 link와 함께 DataGuide를 만들 수 있다.

  13. Lore의 구조 Applications Textual Interface HTML GUI API Results Lore System Query Compilation Queries Parsing Preprocessing (Lorel to OQL) Query Plan Generator Query Optimizer Data Engine External, Read-only Data Sources Non-Query Requests External Data Manager Object Manager Query Operators Utilities -DataGuide Mgr -Loader -Index Mgr Physical Storage

  14. 실행환경 • graphical interface: http://www-db.stanford.edu/lore/demo • The system is a C++ server that communicates to Lore via standard Application Program Interface (API). • textual interface: 5/5/99 Lore Version 5.0 release(Sun OS용) Workstation: Sun의 Ultrasparc 2.6 install (XML로 migrate한 첫번째 version) • 사용한 document: dream.xml Shakespeare's "A Midsummer Night's Dream”

  15. Query example in Lore- Textual Interface • Ultrasparc에서 실행한 결과 화면 [pllab]~/lore/bin >dbcreate dream Database dream created successfully. [pllab]~/lore/bin >dbload dream ../db_files/dream.xml Registering Name: PLAY. File ../db_files/dream.xml loaded successfully. [pllab]~/lore/bin >lore dream LORE: select PLAY.TITLE; XML answer: <TITLE>A Midsummer Night's Dream</TITLE>

  16. Query example in Web- graphical interface(1) • Web 상에서의 Java로 이루어진 DataGuide에서 원하는 element를 선택.

  17. Query example in Web - graphical interface(2) • 관련된 query 설정

  18. Query example in Web - graphical interface(3) • 주어진 조건을 나타내는 화면

  19. Query example in Web - graphical interface(4) • 직접 query를 입력하는 경우

  20. Query example in Web - graphical interface(5) • 주어진 query의 결과 화면

  21. 사용한 XML 문서 Shakespeare's "A Midsummer Night's Dream”의 일부 <PLAY> <TITLE>A Midsummer Night's Dream</TITLE> <fm> <p>Text placed in the public domain by Moby Lexical Tools, 1992.</p> <p>SGML markup by Jon Bosak, 1992-1994.</p> <p>XML version by Jon Bosak, 1996-1997.</p> <p>This work may be freely copied and distributed worldwide.</p> </fm> <PERSONAE> <TITLE>Dramatis Personae</TITLE> <PERSONA>THESEUS, Duke of Athens.</PERSONA> <PERSONA>EGEUS, father to Hermia.</PERSONA> <PGROUP> <PERSONA>LYSANDER</PERSONA> <PERSONA>DEMETRIUS</PERSONA> <GRPDESCR>in love with Hermia.</GRPDESCR> </PGROUP>

  22. 결론 • XML을 지원하기 위해 Lore의 data model과 질의 언어를 migrate • 문서와 복사본을 저장하고 그 둘 간의 mapping을 유지하면서 database에서 XML 문서의 부분을 그들의 component와 혼합하는 새로운 접근을 고려

  23. 참고문헌 • http://www-db.Stanford.edu/lore • R. Goldman, J. McHugh, and J. Widom,” From Semistructured Data to XML: Migrating the Lore Data Model and Query Language,” Proceedings of the 2nd International Workshop on the Web and Databases (WebDB '99), Philadelphia, Pennsylvania, June 1999. • J. McHugh, S. Abiteboul, R. Goldman, D. Quass, and J. Widom, “Lore: A Database Management System for Semistructured Data,” SIGMOD Record, 26(3):54-66, September 1997. • 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. • P. Buneman, “Semistructured Data, “ In Proceedings of the 6th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, pages 117-121, Tucson, Arizona, May 1997.

  24. 참고문헌 • Dan Suciu, ”From Semistructured Data to XML,” VLDB’99, 1999.

More Related