20

Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,
Page 2: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

Datenbanken &Informationssysteme

(WS 2016/2017)

Klaus Berberich([email protected])

Wolfgang Braun([email protected])

Page 3: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

0. Organisatorisches

Page 4: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

4

Dozenten§ Klaus Berberich ([email protected])

§ Sprechstunde nach Vereinbarung per E-Mail

§ Wolfgang Braun ([email protected])

§ Sprechstunde nach Vereinbarung per E-Mail

Page 5: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

5

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

Page 6: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

6

Prüfung§ Schriftliche Klausur am Ende des Semesters

§ Keine Hilfsmittel (z.B. Taschenrechner) außerdrei von Hand beschriebenen DIN-A4 Blätter

§ Termin wird rechtzeitig in der Vorlesung bekannt gegeben

Page 7: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

7

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/

Page 8: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

8

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

Page 9: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

9

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

Page 10: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

10

Inhalt§ 1. Einführung

§ 2. Datenbanken

§ 3. Datenbanksysteme

§ 4. Data Warehouses

§ 5. Information Retrieval

§ 6. Data Mining

§ 7. NoSQL

Page 11: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

1. Einführung

Page 12: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

12

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

Page 13: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

13

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

Page 14: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

14

Datenbanken§ Wie setzt man ein relationales

Datenbanksystem effektiv ein?

§ Entity-Relationship-Modell

§ Relationales Modell

§ Relationale Normalisierung

§ Relationale Algebra

§ Structured Query Language (SQL)

§ Kapitel 2: Datenbanken

Professoren

prüfen

Studenten Vorlesungen

PersNr

Note

lesen

hören

Vorname

Vorname

MatrNr

SWS

Titel

VorlNr

Semester

Name

N M

N

11

MN

Assistenten arbeiten für

Name

1N

PersNr

Vorname

Name

Tätigkeit Fach

Studenten

MatrNr Vorname Name Semester

13765 Moritz Muller 1

18877 Peter Parker 7

18879 Marty McFly 3

1 select KundenNr , Vorname , Name

2 from Kunden

3 where Wohnort = ’Mannheim ’

Datenbanken & Informationssysteme / Kapitel 1: Einführung

‡ [ Name = “Meier” ‚ Name = “Muller” ] ( Kunden )

Page 15: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

15

Datenbanksysteme§ Wie ist so ein relationales Datenbanksystem

eigentlich implementiert?

§ Typische Architektur

§ Datenspeicherung

§ Indexstrukturen (z.B. B+-Bäume)

§ Selektivitätsschätzung

§ Anfrageoptimierung

§ Verlaufsprotokolle

§ Sperrstrategien

§ Kapitel 3: Datenbanksysteme

Datenbanken & Informationssysteme / Kapitel 1: Einführung

fi[S.Vorname, S.Name, V.Titel]

ÛÙ

‡[ Semester > 3 ] h

ÛÙ V

S

Page 16: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

16

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

Page 17: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

17

Information Retrieval§ Was steckt eigentlich hinter der Volltextsuche z.B. in

§ Relationalen Datenbanksystemen

§ Desktopsuche (Windows Desktop Search, Spotlight)

§ Websuchmaschinen

§ Information Retrieval

§ Invertierter Index

§ Modelle zur Relevanzbewertung

§ Stoppwörter und Stammformreduktion

§ Kapitel 5: Information Retrieval

Datenbanken & Informationssysteme / Kapitel 1: Einführung

IR&DM ’13/’14

1. Vector Space Model (VSM)

• 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

!34

sim(q,d) =q · d

kqk kdk

=

P|V |i=1 qi diqP|V |

i=1 q2i

qP|V |i=1 d

2i

=q

kqkd

kdk

q

d

IR&DM ’13/’14

Partitioning (cont’d)

• Term-partitioned inverted index

• each compute node holds posting lists for a subset of terms

• queries are routed to compute nodes with relevant terms

• lower resource consumption, susceptible to imbalance (because of skew in the data or query workload), index maintenance non-trivial

!21

Page 18: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

18

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

Page 19: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

19

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: NoSQLDatenbanken & Informationssysteme / Kapitel 1: Einführung

Page 20: Datenbanken & InformationssystemeKapitel 7: NoSQL Datenbanken & Informationssysteme / Kapitel 1: Einführung 20 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme – Eine Einführung,

20

Literatur[1] A. Kemper und A. Eickler: Datenbanksysteme – Eine

Einführung, De Gruyter Oldenbourg, 2015 (Kapitel 1)

Datenbanken & Informationssysteme / Kapitel 1: Einführung