Datenbanken & Informationssysteme (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de)
0. Organisatorisches
Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde nach Vereinbarung per E-Mail Wolfgang Braun (wolfgang.braun@htwsaar.de) Sprechstunde nach Vereinbarung per E-Mail 4
Vorlesung und Übung Vorlesung und Übung Montag, 11:45 13:15 (3. Stunde), Raum 7110 (V+Ü) Mittwoch, 8:15 9:45 (1. Stunde), Raum 7110 (Ü) Übungsblatt 1 (am Mittwoch ausgegeben) wird übernächste Woche am 2.11 besprochen 5
Prüfung Schriftliche Klausur am Ende des Semesters Keine Hilfsmittel (z.b. Taschenrechner) außer drei von Hand beschriebenen DIN-A4 Blätter Termin wird rechtzeitig in der Vorlesung bekannt gegeben 6
Webseite Webseite zur Vorlesung: Ankündigungen Folien und Übungsblätter zum Download Sonstige Ressourcen (z.b. Software und Daten) nur aus dem Netz der HTW oder per VPN zu erreichen http://www1.htwsaar.de/~berberich/teaching/ws15/dbis/ 7
Literatur zur Vorlesung A. Kemper und A. Eickler: Datenbanksysteme Eine Einführung, De Gruyter Oldenbourg, 2013 G. Saake, K.-U. Sattler und A. Heuer: Datenbanken - Implementierungstechniken, mitp Professional, 2011 8
Literatur zur Vorlesung G. Saake, K.-U. Sattler und A. Heuer: Datenbanken - Konzepte und Sprachen, mitp Professional, 2013 H. Garcia-Molina, J. D. Ullman und J. Widom: Database Systems The Complete Book, Pearson, 2013 9
Inhalt 1. Einführung 2. Datenbanken 3. Datenbanksysteme 4. Data Warehouses 5. Information Retrieval 6. Data Mining 7. NoSQL 10
1. Einführung
Relationale Datenbanksysteme Relationale Datenbanksysteme (RDBMS) sind die heute vorherrschende Art von Datenbanksystemen basieren auf mehr als 40 Jahren Forschung & Entwicklung gibt es in Form kommerzieller und/oder offener Systeme Oracle Database IBM DB2 Microsoft SQL Server PostgreSQL MySQL SQLite Datenbanken & Informationssysteme / Kapitel 1: Einführung 12
Relationale Datenbanksysteme Relationale Datenbanksysteme (RDBMS) bilden das Rückgrat verschiedenster Anwendungen, z.b.: Enterprise Resource Planning Systeme (z.b. SAP) Content Management Systeme (z.b. Typo3, WordPress) Websites und -shops (z.b. IMDb und ebay) Wikis (z.b. MySQL hinter MediaWiki) Apps (z.b. SQLite in ios SDK) Datenbanken & Informationssysteme / Kapitel 1: Einführung 13
Datenbanken Wie setzt man ein relationales Datenbanksystem effektiv ein? MatrNr Vorname Name Semester Studenten N N hören prüfen M M Vorlesungen N lesen VorlNr SWS Titel Entity-Relationship-Modell Relationales Modell PersNr Vorname Name Tätigkeit Assistenten N Note arbeiten für 1 PersNr 1 1 Professoren Fach Vorname Name Relationale Normalisierung Relationale Algebra Structured Query Language (SQL) Studenten MatrNr Vorname Name Semester 13765 Moritz Müller 1 18877 Peter Parker 7 18879 Marty McFly 3 [ Name = Meier Name = Müller ] ( Kunden ) Kapitel 2: Datenbanken 1 select KundenNr, Vorname, Name 2 from Kunden 3 where Wohnort = Mannheim Datenbanken & Informationssysteme / Kapitel 1: Einführung 14
Datenbanksysteme Wie ist so ein relationales Datenbanksystem eigentlich implementiert? Typische Architektur Datenspeicherung Indexstrukturen (z.b. B+-Bäume) Selektivitätsschätzung Anfrageoptimierung Verlaufsprotokolle Sperrstrategien fi[s.vorname, S.Name, V.Titel] ÛÙ ÛÙ [Semester> 3] h S V Kapitel 3: Datenbanksysteme Datenbanken & Informationssysteme / Kapitel 1: Einführung 15
Data Warehouses Analytische Anfragen (Umsatz per Quartal per Produkt) müssen eine große Datenmenge anfassen sollen dennoch kurze Antwortzeiten haben (OnLine Analytical Processing) Relationale Datenbanksysteme sind optimiert für Transaktionen, die nur wenige Daten anfassen (OnLine Transaction Processing) Kapitel 4: Data Warehouses Datenbanken & Informationssysteme / Kapitel 1: Einführung 16
Information Retrieval Was steckt eigentlich hinter der Volltextsuche z.b. in Relationalen Datenbanksystemen Desktopsuche (Windows Desktop Search, Spotlight) Websuchmaschinen Information Retrieval Invertierter Index 1. Vector Space Model (VSM) Modelle zur Relevanzbewertung IR&DM 13/ 14 Stoppwörter und Stammformreduktion Boolean retrieval model provides no (or only rudimentary) ranking of results severe limitation for large result sets Vector space model views documents and queries as vectors in a V -dimensional vector space (i.e., one dimension per term) Cosine similarity between two vectors q and d is the cosine of the angle between them sim(q, d) = q d kqkkdk Partitioning (cont d) P V i=1 = i d i q q P V P V Term-partitioned inverted index i=1 q2 i i=1 d2 i each = q compute d node holds posting lists for a subset of terms kqk kdk queries are routed to compute nodes with relevant terms lower resource consumption, susceptible to imbalance (becaus in the data or query workload), index maintenance non-trivial q d!34 Kapitel 5: Information Retrieval Datenbanken & Informationssysteme / Kapitel 1: Einführung 17
Data Mining Warenkorbanalyse (frequent itemset mining) Welche Produkte werden oft zusammen gekauft? z.b. zur Empfehlung und Platzierung von Produkten Clusteranalyse (clustering) Wie kann ich meine Daten (z.b. Kunden) in homogene Gruppen aufteilen? Kapitel 6: Data Mining Datenbanken & Informationssysteme / Kapitel 1: Einführung 18
NoSQL Was wenn die Daten Speicher- und Rechenkapazität eines einzelnen Rechners überschreiten? Ansätze zur verteilten Verarbeitung großer Datenmengen MapReduce (Google) / Apache Hadoop / Apache Spark Systeme zur Datenanalyse mit SQL-artiger Sprache Apache Pig / Apache Hive Apache Drill / Cloudera Impala Kapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 19
Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme Eine Einführung, De Gruyter Oldenbourg, 2013 (Kapitel 1) Datenbanken & Informationssysteme / Kapitel 1: Einführung 20