,QVHUW3LFWXUH+HUH! 1LFKWUHODWLRQDOH'DWHQLQGHU2UDFOH'DWHQEDQN Ulrike Schwinn Dipl.-Math. Oracle Deutschland GmbH Kultur und Informatik Datenverwaltung 04.Juli 2007 'DWHQRUJDQLVDWLRQ *HWUHQQWH'DWHQKDOWXQJ • • • • Viele Datenhaltungs-Systeme Große Aufwände zur Integration Interaktion sehr langsam Verwaltung umständlich .... 6WUXNWXULHUWH'DWHQ 1LFKWUHODWLRQDOH 'DWHQZLH7H[WH ;0/6HPDQWLVFKH 1HW]H 1LFKWUHODWLRQDOH'DWHQ ZLH%LOGHU9LGHRV 9HUZDOWXQJLQGHU'DWHQEDQN 9RUWHLOH • Ein einziges zentrales Repository • Einheitlicher Administrationsbereich • Nutzung der Backup/Recovery- und SecurityFunktionen der Datenbank • Einfache Integration aller Techniken über SQL (siehe Beispiel nächste Seite) • Massendatenverarbeitung • • • • Indizierung Partitionierung Parallelisierung Laden der Daten usw. 9HUZDOWXQJLQGHU'DWHQEDQN ,QWHJULHUWHU$QVDW] • Beispiel: VHOHFWSLGSQDPH RTH[WUDFW SRTXDQWLW\ JHW1XPYDOTXDQWLW\ IURPSURGXFWSRUGHUBTXHXH ZKHUH DQG RTPVJBVWDWH RTFXVWRPHUFVWRUHV &$1&(/(' RTH[WUDFWYDOXHSRB[PO SRSURGXFWBLG SLG 0HVVDJH ;0/ DQGFRQWDLQVSQRWHVIX]]\ /LHIHUNRVWHQ ! DQG RTH[WUDFWYDOXHSRB[PO SRFXVWBLG DQGVVWRUHBLG FFXVWBLGV 7H[W DQGVGRBZLWKLQBGLVWDQFHFORFDWLRQ VORFDWLRQ GLVWDQFH 758( 5HODWLRQDO /RFDWLRQ $OO<RXU,QIRUPDWLRQ in der Datenbank • Früher: • Speicher für relationale Daten • Spezialisierte Daten ausserhalb des Datenbanksystems • Heute: • Spezielle Datentypen und Indizes für Informationssysteme verschiedenster Arten • Methoden zur Verarbeitung • Realisierung: • Nutzung von Objekttypen und speziellen Indizes (Domain Indizes) ;0/'% 6SDWLDO2QWRORJLHQ 0XOWLPHGLD 7H[W0LQLQJ 5HODWLRQDOH'DWHQ $OO<RXU'DWDEHUGLH-DKUH (QWZLFNOXQJ ¾ 8/'% ¾ /RFDWLRQ 6HUYLFHV ¾ ¾ /2%¶V ¾ ;0/'% ¾ 25'%06 ¾ 5HSRVLWRU\ ¾ 7H[W ¾ 64/;0/ ¾ 6SDWLDO ¾ 0HGLD ¾ 5HODWLRQDO ¾ 9/'% ¾ ([WHQVLELOLW\ ;4XHU\ ¾ 2QWRORJLHQ ¾ 6HFXUH)LOHV ¾ ',&20 ¾ %LQDU\;0/ ¾ ;0/,QGH[ 2UDFOH2EMHNWW\SHQ 'HILQLWLRQ • Schemaobjekt das aus Name, Attributen und Methoden besteht • Beispiel: &5($7(255(3/$&(7<3(DGGUHVVBW$62%-(&7 VWUHHWYDUFKDU FLW\YDUFKDU VWDWHYDUFKDU ]LSYDUFKDU &5($7(255(3/$&(7<3(SHUVRQBW$62%-(&7 ODVWBQDPHYDUFKDU ELUWKGDWH GDWH DGGUHVVDGGUHVVBW127),1$/ &5($7(7$%/(SHUVRQ 2)SHUVRQBW 'DV'DWHQEDQN7\SHQV\VWHP %HLVSLHOH • Im Lieferumfang enthaltene ("built-in") Datentypen: &+$5Q9$5&+$5Q180%(5 %,1$5<B)/2$7%/2%&/2%%),/(XYP • Objekt -"Know How" in der Datenbank $UWGHU'DWHQ 2UDFOH'DWHQW\S XML-Dokumente XMLTYPE Geodaten SDO_GEOMETRY Texte OrdDoc Bilder OrdImage URL UriType(+7738UL7\SH) RDF Triple SDO_RDF_TRIPLE_S 2UDFOH'RPDLQ,QGH[ 'HILQLWLRQ • • • • Applikationsspezifische Indizes Grundlage ist das Extensible Indexing Framework Enthält Operatoren, die den Indextyp unterstützen Beispiele: &5($7(,1'(;LBQDPH!21WBQDPH!VSDOWH! ,1'(;7<3(,6LQGH[W\SH! Index für räumliche Daten (R-Tree) MDSYS.SPATIAL_INDEX Index für Image Signatures ORDSYS.ORDIMAGEINDEX Index für Texte CTXSYS.CONTEXT XML Index XDB.XMLINDEX %HLVSLHOH (LQH$XVZDKO 9ROOWH[WUHFKHUFKH , Klassifizierung und Clustering, Katalogabfragen, Abfragen von Geodaten, Geocoding, Abfragen im RDF Modell, 64/Metadatenextraktion ;0/$EIUDJHQPLW von Bildern, Thumbnails, RSS Feeds auslesen mit Uritypes, ;4XHU\$QZHQGXQJHQ UHODWLRQDOH'DWHQLQ;0/ UHODWLRQDOH6LFKWHQ , DXI;0/'DWHQ 'RNXPHQWH%LOGHUXQGPHKULP$OOWDJ (LQLJH$QIRUGHUXQJHQ • :LHKHLHQGLH6SUHDGVKHHWVXQG'RNXPHQWHGLHLFK]XP 7KHPHQEHUHLFK± Ä$QZHQGXQJVHQWZLFNOXQJ³HUVWHOOWKDWWH" • *LEPLUDOOH'DWHQ%LOGHUXQG'RNXPHQWH]XP%DXWHLO DGDVLP3URGXNW=LP-DKUHLQJHVHW]WZXUGH • :RILQGHLFKGDV9LGHR7RQ'RNXPHQW]XU5HGHXQVHUHV 9RUVWDQGHVDXIGHUOHW]WHQ7DJXQJLQ" • *LEPLUDOOH.XU]QDFKULFKWHQGLHLQGHUOHW]WHQ:RFKH]XP 7KHPD*JHVHQGHWZRUGHQVLQG 2UDFOH7H[W,PSOHPHQWLHUXQJ %HLVSLHOPLW$3(; 2UDFOH7(;7 ,QGH[ • Domain Index • Unterstützung aller gängigen Datentypen • XMLTYPE, VARCHAR2, CLOB, BLOB, ... • Filter bei Binärdaten möglich • Unterstützung unterschiedlicher Formate (über 150) • Auch mehrere Indizes pro Tabelle 64/!&5($7(,1'(;LG[BWH[WLQGH[ 21GRNXPHQWBWDEGRNXPHQW ,1'(;7<3(,6&7;6<6&217(;7 ,QGH[FUHDWHG 2UDFOH7(;7 ,QGL]LHUXQJVSUR]H • Eigene Implementierungen möglich )LOWHU 6HFWLRQHU $872B),/7(5 /H[HU %DVLF± :KLWHVSDFH 7KHPHQ(QJLQH 3ODLQ7H[W +70/ ;0/ 1HZV(0DLO 'HFRPSRXQGLQJ DOWHUQDWHVSHOOLQJ ,QYHUWLHUWH/LVWH ,GHH Tabelle mit Dokumenten ID DOCUMENT 1001 night and day, day and night 1002 It was a stormy night 1003 The dog runs ..... 1 night 2 3 4 5 6 and day day and night "tokenize" "discard stopwords" night day ... Index TOKEN Word 1,6 Word 3,4 TOKEN_INFO ....... night (Doc 1 Info 1,6) (Doc 2 Info 5) day (Doc 1 Info 3,4) stormy (Doc 2 Info 5) "aggregate across documents" $EIUDJHP|JOLFKNHLWHQ %HLVSLHOH • Exakte Wort/Phrasensuche ... wher e cont ains(t ext , night )>0 • Logische Kombinationen ... wher e cont ains(t ext , day AND night ) >0 • Wildcard-Suche ... wher e cont ains(t ext , ni%t AND d_y ) >0 • Soundex ... wher e cont ains(t ext , !night ) >0 • Fuzzy matching ... wher e cont ains(t ext , ?night ) >0 • Multilinguale Stammsuche ... wher e cont ains(t ext , $ r un ) >0 • ISO 2788 konformer Thesaurus ... wher e cont ains(t ext , SYN(dog,[t hes] >0) • ..... $XVGHU3UD[LV • Der Spiegel Verlag: • Digitales Archivierungssystem für Recherche und Verifikation der Online- und Print-Redaktionen • Quelle: http://www.oracle.com/global/de/pub/knowhow/spiegel.html ;0/LQGHU'DWHQEDQN (LQLJH$QIRUGHUXQJHQ • Weiterverarbeitung von relationalen Daten in XML (Bsp.: Warehouse-Applikationen) • Bereitstellung von relationalen Daten in XML • Zusätzliche Validierung (durch Trigger und Constraints) • Suche innerhalb eines XML Dokuments oder einer Anzahl von XML Dokumenten • Zugriff über Standardprotokolle wie FTP, WEBDAV und HTTP • Verwendung mit Technologien wie Java, SQL, XPATH und XSLT ;0/'DWHQEDQN (LQhEHUEOLFN 2UDFOH;0/'% ;4XHU\ ;3DWK 64/ 7UDQVIRUPDWLRQHQ ;0/ 6LFKWHQ 64/1HW +773:HE'$9 )73 5HFKHUFKHQ 5HODWLRQDOH6LFKWHQ 6SHLFKHUXQJVIRUPHQ ;0/VSH]LILVFK • Nutzung des Datentyps XMLTYPE für Speicherung als: • CLOB • Objektrelational (XML Schema basierend) &5($7(7$%/(RUGHUBWDE LGQXPEHURUGHUBGRF[POW\SH ;0/7<3(&2/801RUGHUBGRF6725($62%-(&75(/$7,21$/ ;0/6&+(0$KWWS[POGERUDFOHFRPSXUFKDVH2UGHU (/(0(17SXUFKDVH2UGHU • In Zukunft: &RPSDFW%LQDU\;0/ • Speicherungsform richtet sich nach ... • • • • Konkurrierendem Zugriff Vokabular-Änderung Performance (Daten laden, Abfragen) XML Schema-Support =XJULIIPLW64/ 5HODWLRQDOH'DUVWHOOXQJ • Verwendung der Funktionen: • EXTRACT • EXTRACTVALUE • EXISTSNODE FUHDWHYLHZDV VHOHFW H[WUDFWYDOXH YDOXHSR 3XUFKDVH2UGHU5HIHUHQFH UHIHUHQFH H[WUDFWYDOXH YDOXHSR 3XUFKDVH2UGHU8VHU DVXVHUQDPH H[WUDFWYDOXH YDOXHSR 3XUFKDVH2UGHU&RVW&HQWHU DVFF IURP 385&+$6(25'(5B7$%SR ;0/'RNXPHQWHHU]HXJHQ 64/;0/)XQNWLRQHQ create or replace view DEPARTMENT_XML_VIEW of xmltype .... as 6(/(&7[POHOHPHQW'HSDUWPHQW [PODWWULEXWHVGHSWQRDV LG [POHOHPHQWQDPHGGQDPH [PODJJ [POHOHPHQW 'HSDUWPHQW:RUNHU [PODWWULEXWHVHHPSQRDV [POIRUHVW HHQDPHDV LG HQDPHHVDODV VDODU\ $6UHVXOW )520VFRWWGHSW G/()7287(5-2,1VFRWWHPS 86,1*GHSWQR *5283%<GHSWQRGGQDPH H ;0/'RNXPHQWHHU]HXJHQ ;48(5< create or replace view DEPARTMENT_XML_VIEW of xmltype ... as VHOHFW[POTXHU\ IRU GHSW UHWXUQ LQRUDYLHZGHSW52: GHSDUWPHQWLG ^GHSW'(3712`! QDPH!^GHSW'1$0(WH[W`QDPH! ^IRU HPS ZKHUH LQRUDYLHZHPS52: HPS'(3712 GHSW'(3712 UHWXUQHPSOR\HHLG ^HPS(0312`! HQDPH!^HPS(1$0(WH[W`HQDPH! VDODU\!^HPS6$/`VDODU\! HPSOR\HH!` GHSDUWPHQW! UHWXUQLQJFRQWHQW DVUHVXOW IURP GXDO ;0/'RNXPHQWHHU]HXJHQ 64/;0/DP%HLVSLHO • Ergebnis ... ;0/'%LP(LQVDW] 7K\VVHQ.UXSS ;0/'%LP(LQVDW] 7K\VVHQ.UXSS ,QIRUPDWLRQHQ • Oracle Dokumentation • Oracle Technology Network (OTN): otn.oracle.com • • • • Database Æ Content Management Æ Text Database ÆApplication Development ÆXML DB Database ÆLocation Services http://www.oracle.com/technology/tech/semantic_technologie s/index.html (semantic web) • [email protected]