Lore: A Database Management System for XML

Slides:



Advertisements
Similar presentations
이혁재 /KASA NoSQL. 요약 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머.
Advertisements

1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
더존다스 경영전략과 비젼 1 ERP 개발부문
D-Guard Security Suites 제품 소개서
루틴스(EVA-EDMS)제품소개서 EVA(Enterprise Value Approach_기업자산 가치로서의 접근)
MrDataBld 2.x 제품 소개 2007.
소프트웨어시스템 실험 Software Systems Lab. (2012년 2학기) 강의 소개
T A B L E 작성자 : 이 재 학.
DB2 Information Management DB2 UDB CLP Command Summary.
2011년 봄학기 정보컴퓨터공학부 컴퓨터 소프트웨어 설계 및 실험
소리가 작으면 이어폰 사용 권장!.
APPEON SOLUTION INTRODUCTION.
Chapter 7 데이터웨어하우징 의사결정지원시스템.
데이터베이스 시스템.
KMS/Portal 에서의 효율적인 정보검색
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
개발자에게 SharePoint Services 란 무엇인가?
관계 대수와 SQL.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
Knowledge Enterprise Portal Solution(iKEP)
컴퓨터 소프트웨어.
Overview : XML과 Database
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
Introduction to Web Service Computing
웹 서비스 (Web Services).
Information Technology
Toad for SQL Server 제품 소개서 – 프로넷소프트㈜.
Information Retrieval (Chapter 4: 질의언어)
프로그래밍 언어론 2004년 가을학기 창 병 모 숙명여대 컴퓨터과학과.
 DBMS의 발전 배경(1) 화일 중심 자료처리(DP)시스템의 한계 ☞ Note
12. 데이터베이스 설계.
Excel OLAP Reporting / OWC를 이용한
데이터 베이스 란? 데이터 베이스 기능 데이터 베이스 관리 시스템 정보시스템의 구성 관게형 데이터 베이스
Korea University of Technology and Education Hongyeon Kim
제 8장. 멀티미디어 데이터베이스 및 정보검색 시스템
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
3. 데이터베이스 시스템의 구성.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
소프트웨어시스템 실험 Software Systems Lab. 데이터베이스 기초
Web상에서의 Network Management
제 2 장 데이터베이스 시스템 개념과 아키텍처 Fundamentals of Database Systems
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
웹 서비스 (Web Services).
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
SQL Server 7.0 세미나 (Performance Tuning)
객체 지향 프로그래밍.
Lecture 01: Compiler Overview
JSP 게시판 구현.
제 8 장 객체지향 데이타베이스와 데이타베이스의 새로운 응용 분야
1조 김성수 백현기 석광우 김지원 박광연.
Introduction to Programming Language
김 정 석 Web Programming 김 정 석
The Practice of KM operations
시스템 분석 및 설계 글로컬 IT 학과 김정기.
XML-II (eXtensible Markup Language) DTD/DOM
소프트웨어 형상관리: 목차 변경 및 형상관리의 기초 개념 형상항목 확인 및 버전관리 변경관리 감사 및 감사보고 99_11
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
Signature, Strong Typing
Signature, Strong Typing
Signature, Strong Typing
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
4. 데이타베이스 시스템의 구성.
ER-관계 사상에 의한 관계 데이터베이스 설계
1. 데이터베이스 환경.
Dynamic Graph Query Primitives for SDN-based Cloud Network Management Ramya Raghavendra, Jorge Lobo, Kang-Won Lee 2012 HotSDN 정보통신공학과.
3장. 데이터베이스 시스템 데이터베이스 시스템의 정의 데이터베이스의 구조 데이터베이스 사용자 데이터 언어
Presentation transcript:

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

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

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 약 180000줄의 C++ 코드로 구성

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

The Semistructured Data Model-OEM

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.)

An XML document and its graph DBGroup &1 Project Member {Name=”Smith”, Advisor=“m1”} Member Advisor Project <DBGroup> <Member Name=“Smith” Advisor=“m1”> <Age>28</Age> </Member> <Member ID=“m1” Project=“p1”> <Name>Jones</Name> <Advisor>Ullman</Advisor> <Project ID=“p1” Member=“m1”> <Title>Lore</Title> </Project> </DBGroup> &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”

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

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

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” Room% : Room이라는 string과 match되는 label pattern. |: 두 label간의 disjunction을 나타낸다. ?: 이 label pattern이 optional함을 뜻함. Like %252: data 값이 252로 끝나야 함을 뜻한다. Clark이라는 name을 갖는 모든 group member를 Lore와 Tsimmis project의 member로 추가하라.

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한 질의 언어 지원 예) 모든 group member의 처음 두 Office element를 되돌린다.

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를 만들 수 있다.

Lore의 구조 API Query Compilation Data Engine Parsing Applications Textual Interface HTML GUI API Results Lore System Query Compilation Queries Parsing Preprocessing (Lorel to OQL) Query Plan Generator Query Optimizer Non-Query Requests Lore 시스템에 접근: 직접 Lore Application Program Interface(API)를 통하거나 또는 application을 통해서 가능. textual interface: system 개발자들에 의해 쓰이는 단순한 것. system 기능과 작은 database를 탐구하기 위해 처음 단계로 쓰인다. graphical interface: end user를 위한 처음 단계 interface로서 query result를 browsing하는 강력한 tool, data의 구조를 보는 DataGuide 특징을 제공 예를 주어 간단한 query를 공식화한다. 이것은 자주 질문 되는 query를 절약하고, video, audio, Java 같은 멀티미디어 atomic type을 보기 위한 방법이다. 이러한 두 interface module은 다른 application을 따라, Lore와 API를 통해 소통한다. Query compilation layer parser, processor, query plan generator, query optimizer로 구성. Parser: query의 textual 표현을 받아들이고, 그것을 parse tree로 바꾸고, 그 parse tree를 preprocessor로 전해 준다. Preprocessor: Lorel query를 OQL-like query로 바꾸는 것을 조종 query generator: query plan은 변형된 query에서 만들어지고 query optimizer에게 전해진다. Query optimizer: query plan에서의 약간의 변형에 부가하여, index의 사용이 알맞은지 결정. 그러고 나면, optimized query plan은 Data Engine layer로 보내어진다. Data Engine External, Read-only Data Sources External Data Manager Object Manager Query Operators Utilities -DataGuide Mgr -Loader -Index Mgr Physical Storage

실행환경 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” 앞의 구조 이어서: Data Engine layer OEM object manager와 query operator, external data manager, 다양한 utility를 수용한다. object manager: OEM과 low level file construct 사이의 translation layer로 작용. object를 fetch하거나 두 object의 비교, 간단한 coercion의 수행, complex object의 subobject의 반복하는 등의 기본적인 것들을 지원 간단하게: 1) query가 parse된다. 2) parse tree가 preprocess되고 OQL-like query로 번역된다. 3) query plan이 만들어진다. 4) query optimization이 일어난다. 5) optimized query plan이 실행된다.

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> 앞의 구조 이어서: Data Engine layer OEM object manager와 query operator, external data manager, 다양한 utility를 수용한다. object manager: OEM과 low level file construct 사이의 translation layer로 작용. object를 fetch하거나 두 object의 비교, 간단한 coercion의 수행, complex object의 subobject의 반복하는 등의 기본적인 것들을 지원

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

Query example in Web - graphical interface(2)

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

Query example in Web - graphical interface(4)

Query example in Web - graphical interface(5)

사용한 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>

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

참고문헌 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.

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