Datenbanken & Informationssysteme (WS 2016/2017) Klaus Berberich ([email protected]) Wolfgang Braun ([email protected]) 0. Organisatorisches Dozenten § Klaus Berberich ([email protected]) § Sprechstunde nach Vereinbarung per E-Mail § Wolfgang Braun ([email protected]) § Sprechstunde nach Vereinbarung per E-Mail 4 Vorlesung und Übung § Vorlesung und Übung § Montag, 11:45 – 13:15 (3. Stunde), Raum 7110 § Mittwoch, 8:15 – 9:45 (1. Stunde), Raum 7110 § Übungsblatt 1 (am 26.10 ausgegeben) wird übernächste Woche am 7.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) § http://swl.htwsaar.de/lehre/ws16/dbis/ 7 Literatur zur Vorlesung § A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung, De Gruyter Oldenbourg, 2015 § 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 VorlNr Vorname N Studenten M hören Vorlesungen M N Name SWS N Titel prüfen Semester lesen Note § Entity-Relationship-Modell PersNr 1 Vorname Assistenten N arbeiten für 1 1 Professoren Name § Relationales Modell Tätigkeit Fach PersNr Vorname Name § Relationale Normalisierung § Relationale Algebra Studenten § Structured Query Language (SQL) MatrNr Vorname Name Semester 13765 18877 18879 Moritz Peter Marty Müller Parker McFly 1 7 3 ‡ [ Name = “Meier” ‚ Name = “Müller” ] ( Kunden ) § Kapitel 2: Datenbanken Datenbanken & Informationssysteme / Kapitel 1: Einführung 1 2 3 select KundenNr , Vorname , Name from Kunden where Wohnort = ’ Mannheim ’ 14 Datenbanksysteme § Wie ist so ein relationales Datenbanksystem eigentlich implementiert? § Typische Architektur § Datenspeicherung § Indexstrukturen (z.B. B+-Bäume) § Selektivitätsschätzung fi[S.Vorname, S.Name, V.Titel] § Anfrageoptimierung ÛÙ V ÛÙ § Verlaufsprotokolle ‡[ Semester > 3 ] h S § Sperrstrategien § 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 1. Vector Space Model (VSM) § Was steckt eigentlich• hinter der model Volltextsuche in Boolean retrieval provides no (or onlyz.B. rudimentary) ranking of results – severe limitation for large result sets § Relationalen Datenbanksystemen • Vector space model views documents and queries as vectors in a |V |-dimensional vector space (i.e., one dimension per term) § Desktopsuche (Windows Desktop Search, Spotlight) • Cosine similarity between two vectors q and d is the cosine of the angle between them § Websuchmaschinen sim(q, d) = § Information Retrieval § Invertierter Index § Modelle zur q·d kqk kdk q P|V |(cont’d) Partitioning q d i i = qP i=1 qP |V | 2 |V | 2 • Term-partitioned inverted index i=1 qi i=1 di d terms d node holds posting lists for a subset of • eachqcompute = kqk kdk • queries Relevanzbewertung are routed to compute nodes with relevant terms § Stoppwörter und IR&DM ’13/’14 !34 • lower resource consumption, susceptible to imbalance (becaus Stammformreduktion in the data or query workload), index maintenance non-trivial § 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, 2015 (Kapitel 1) Datenbanken & Informationssysteme / Kapitel 1: Einführung 20