Informationsmanagement Vorlesung 10: Grundlagen der Datenmodellierung Univ.-Prof. Dr.-Ing. Wolfgang Maass Lehrstuhl für Betriebswirtschaftslehre, insb. Wirtschaftsinformatik im Dienstleistungsbereich (Information and Service Systems ISS) Universität des Saarlandes, Saarbrücken SS 2012 Donnerstags, 10:00 – 12:00 Uhr (s.t.) Audimax, B4 1 Vorlesungsagenda Übersicht 1. Einleitung Managementsicht des Informationsmanagement 2. Grundlagen des Informationsmanagement 3. Aufgaben des Informationsmanagement – Management der Informationswirtschaft (2-stündig!) 4. Aufgaben des Informationsmanagement – Management der Informationssysteme und Führungsaufgaben (2-stündig!) 5. Aufgaben des Informationsmanagement – IT-Controlling Unternehmensarchitekturen 6. Grundlagen der Unternehmensarchitekturen – Gastvortrag Dr. Steffen Roehn (2-stündig!) Systemarchitekturen 7. Architekturen von Informationssystemen 8. Webarchitekturen (2-stündig!) 9. Mobile & Cloud Computing Datenmodellierung 10. Grundlagen der Datenmodellierung (2-stündig!) 11. Semantische Datenrepräsentationen (2-stündig!) Prozessmodellierung 12. Grundlagen der Prozessmodellierung Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 2 Rückblick User Presentation • Was versteht man unter Daten im Kontext von Informationssystemen? Business Logic Data is provided by some • Wie werden Daten modelliert, so dass sie von Informationssystemen genutzt werden können? • Wie können Daten gespeichert und verarbeitet werden? Infrastructure Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 3 Was sind Daten? 1. Wirtschaftstheorie: Bezeichnung für volkswirtschaftliche Gegebenheiten, die den Wirtschaftsablauf beeinflussen, ohne von diesem selbst - zumindest unmittelbar und kurzfristig - beeinflusst zu werden. “A reinterpretable representation of information in a formalized manner, suitable for communication, interpretation or processing.“ 2. Wirtschaftsinformatik: Zum Zweck der Verarbeitung zusammengefasste Zeichen, die aufgrund bekannter oder unterstellter Abmachungen Informationen (d.h. Angaben über Sachverhalte und Vorgänge) darstellen. (Technologiestandard ISO/IEC 2382-1) (Gabler Wirtschaftslexikon) Informatik und Datenverarbeitung: • Daten = (maschinen-) lesbare und (maschinen-) bearbeitbare, in der Regel digitale Repräsentation von Information ① Kodierung des Inhalts in Zeichen -> Syntax, z.B. Zahlenfolge „123456“ = Aneinanderreihung von Ziffern ② Interpretation der Daten in einem Bedeutungskontext, um aus ihnen Informationen zu gewinnen, z.B. Zahlenfolge „123456“ kann in Abhängigkeit vom Kontext für Telefonnummer, Kontonummer o.ä. Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 4 Was sind Daten? • • • Semiotik (Wissenschaft der Zeichensysteme) definiert Daten als potenzielle Information Semiotisches Dreieck à Beziehung zwischen einem Zeichen und dem entsprechenden Gegenstand ist indirekt à sie verläuft über eine mentale Repräsentation des Gegenstands Erst über geistiges Konzept ('Begriff' genannt) wird die Zuordnung von Zeichen zu Objekten ermöglicht (Peirce, 1907; de Saussure, 1916) Begriff Zeichen Gegenstand 'Baum' Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 5 1,8 Zettabytes an Daten! (Stand: 2011) • • Weltweit 1,8 Zettabytes (1021 Byte = 1.000.000.000.000.000.000.000 Byte = 1,8 Billionen Gigabytes) an digitalen Informationen (Stand 2011) Wachstum des Gesamtvolumens in den letzten 5 Jahren um den Faktor 5 Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Trillion Slide 6 Kategorisierung von Daten o Strukturierte Daten • Daten unterliegen einer allgemeinen Struktur - Datenmodell liegt vor • z.B. relationales Datenbankmodell für Datenbanken <?xml version="1.0" encoding="UTF-8"?> <rezept xmlns:lm="http://lebensmittel.org"> <zutaten anzahl="3"> <lm:zutat>Ei</lm:zutat> <lm:zutat>Mehl</lm:zutat> <lm:zutat>Salz</lm:zutat> </zutaten> <anleitung> Alles zusammenrühren und backen. </anleitung> <foto><![CDATA[BELIEBIGE DATEN]]> </foto> </rezept> o Semistrukturierte Daten • Daten unterliegen keiner allgemeinen Struktur, sondern tragen einen Teil der Strukturinformation mit sich • z.B. HTML, Extensible Markup Language (XML), Email o Unstrukturierte Daten • Digitalisierte Informationen, die in einer nicht formalisierten Struktur vorliegen • Automatische Nutzbarkeit unstrukturierter Daten stark eingeschränkt, da kein Datenmodell vorliegt -> um Daten zu strukturieren, ist Modellierung erforderlich • z.B. Grafiken, Audio-Daten, natürliche Sprache Beispiel: E-Mail • Semistrukturiert – E-Mail liegt in gewisser Struktur vor: Empfänger, Absender, Text der E-Mail und eventuell Betreff • Text der E-Mail ist aber unstrukturiert Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 7 Semi-strukturierte Daten Beispiel Email Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 8 Datenmodellierung • Datenmodellierung = Verfahren der Informatik zur formalen Abbildung der in einem definierten Kontext relevanten Objekte mittels ihrer Attribute und Beziehungen • Ziel: eindeutige Definition und Spezifikation der in einem Informationssystem zu verwaltenden Objekte, ihrer erforderlichen Attribute und der Zusammenhänge zwischen den Informationsobjekten • Vorteil: Überblick über die Datensicht des Informationssystems • Ergebnis: Datenmodelle, die nach dem Durchlauf mehrerer Modellierungsstufen zu einsatzfähigen Datenbanken bzw. Datenbeständen führen • • Datenmodelle -> längere Lebensdauer als Funktionen und Prozesse (Software) - "Data is stable – functions are not." "Daten sind Allgemeingut." -> sollten den Anwendungen zur Verfügung stehen, die sie benötigen und nicht (ausschließlich) einer bestimmten IT-Anwendung gehören Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Abstract Information System Model (AISM) (Maass & Janzen, 2011; Ferstl & Sinz, 2006) Slide 9 Vorgehen bei der Datenmodellierung Relevante Objekte der “realen Welt” im Kontext des Informationssystems, z.B. Personen (1) Konzeptueller Entwurf (2) Logischer Entwurf (3) Physischer Entwurf Konzeptuelles Modell Fachliches Abbild durch Typisierung und Beschreibung, z.B. EntityRelationship-Modell Logisches Datenbankschema Datentechnische Festlegung des Datenbankmodells, z.B. Schlüssel Physisches Datenbankschema Script zur Erstellung der Datenbank gemäß Datenbank Management System (DBMS) Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 10 (1) Konzeptioneller Entwurf • • • Betrachtung eines Ausschnitts der realen Welt -> Analyse sowie grafische und textuelle Beschreibung der Objekte mit allen relevanten Eigenschaften De-facto Standard für den konzeptuellen Entwurf im Rahmen der Datenmodellierung = Entity Relationship Modell (ERM) (Chen, 1976) ERM … • … besteht aus Grafik – ER-Diagramm (ERD) – und textueller Beschreibung der darin verwendeten Elemente • … behandelt das “Was” (Sachlogik) und nicht das “Wie” (Technik) • … stellt Datenstrukturen vereinfacht dar -> erleichtert interdisziplinäre Arbeit am Datenbestand des Informationssystems • ... erfasst Informationsobjekte der realen Welt (z.B. Angestellter, Projekte) und verbindet diese mittels Beziehungen (z.B. Angestellter – leitet Projekt) (Bildquelle: wikipedia.de) Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 11 Entity-Relationship-Modell Komponenten des ERD (Chen-Notation) Entitätstyp (Entity): Typisierung gleichartiger Entitäten, d.h. Dinge / Objekte der Wirklichkeit, die eindeutig identifizierbar sind, z.B. Student, Unternehmen, Projekt Student Student Veranstaltung besucht Student 05.07.12 M besucht 1:N – Beziehung: 1 Geschäftsstelle : N Mitarbeiter M:N –Beziehung: M Projekte : N Projektarbeiter 1:1 – Beziehung: 1 Geschäftsführer : 1 Person Attribut (Value): Typisierung gleichartiger Eigenschaften von Entitäten, z.B. Nachname, Vorname für Entitätstyp Student -> Attribute, die Entität eindeutig beschreiben, werden identifizierende Attribute genannt, z.B. Projektnummer für Entitätstyp Projekt Vorname N Beziehungstyp (Relationship): Typisierung gleichartiger Beziehungen zwischen zwei oder mehreren Entitäten, z.B. Student besucht Veranstaltung Veranstaltung Kardinalität (Cardinality): Festlegung der Anzahl der beteiligten Entitäten bei Beziehungstypen, z.B. Student besucht M Veranstaltungen Univ.-Prof. Dr.-Ing. Wolfgang Maass Slide 12 Entity-Relationship-Modell Komponenten des ERD Beispiel in Chen- und UML-Notation Eine Person ist in maximal einem Ort geboren. Ein Ort ist Geburtsort von beliebig vielen Personen. Ein Ort kann ein Geburtsort sein, muss es aber nicht sein. (Bildquelle: wikipedia.de) 05.07.12 Univ.-Prof. Dr.-Ing. Wolfgang Maass Slide 13 Entity-Relationship-Modell Vorgehen ② ③ ④ Erkennen und Zusammenfassen von Entitäten zu Entitätstypen durch Abstraktion (z.B. Studenten Fritz Maier und Paul Lehmann -> Entitätstyp Student) Erkennen und Zusammenfassen von Beziehungen zwischen je zwei Objekten zu Beziehungstyp (z.B. Student Paul Lehmann besucht Vorlesung “Informationsmanagement” und Student Fritz Maier besucht Vorlesung “Web Technologien” -> Beziehungstyp „Student besucht Vorlesung“ Bestimmung der Kardinalitäten -> Darf ein Student mehrere Vorlesungen besuchen? Von wie vielen Studenten kann eine Vorlesung besucht werden? Bestimmung relevanter Attribute für Entitätstypen, z.B. Vorname, Nachname bei Typ Student Erstellung des ERD ① • Beschreibung der Attribute, Entitätstypen und Beziehungen, z.B. Beispiele für Entitäten, Aussagen von Beziehungen (Mitarbeiter leitet Projekt), Wertebereiche für Attribute (Alter: 1-99) • Bestimmen geeigneter Attribute eines Entitätstyps als identifizierende(s) Attribut(e), z.B. Matrikelnummer für Typ Student 05.07.12 Univ.-Prof. Dr.-Ing. Wolfgang Maass Slide 14 Dokumentation des ERD Darstellung von Details zu Entitäten, Attributen und Beziehungen - Ziel: einheitliche und klare Kommunikation der detaillierten Sachverhalte Vorgehen bei der Datenmodellierung Relevante Objekte der “realen Welt” im Kontext des Informationssystems, z.B. Personen (1) Konzeptueller Entwurf (2) Logischer Entwurf (3) Physischer Entwurf Konzeptuelles Modell Fachliches Abbild durch Typisierung und Beschreibung, z.B. EntityRelationship-Modell Logisches Datenbankschema Datentechnische Festlegung des Datenbankmodells, z.B. Schlüssel Physisches Datenbankschema Script zur Erstellung der Datenbank gemäß Datenbank Management System (DBMS) Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 15 (2) Logischer Entwurf • • • Überführung eines konzeptuellen Modells in ein logisches Datenbankschema Diverse Datenbankmodelle, z.B. relational, objektorientiert, graphenbasiert Bekanntestes Datenbankmodell -> Relationales Datenbankmodell (Codd, 1983): Speicherung von Daten auf Basis von teilweise untereinander verknüpften Tabellen Datenbankmodell hat drei Eigenschaften (Codd, 1980) ① Generische Datenstruktur, die die Struktur von Daten in einer Datenbank beschreibt • Beispiel: relationale Datenbank besteht aus Relationen (Tabellen) mit eindeutigen Namen • Relation = Menge von Tupeln (Datensätzen) gleichen Typs • Relationen und ihre Attribute (Spalten) können beliebig gewählt werden ② Menge von generischen Operatoren, die man auf die Datenstrukturen (siehe 1) anwenden kann, um Daten einzutragen, zu ändern, abzufragen oder abzuleiten ③ Menge von Integritätsbedingungen, mit denen die zulässigen Datenbankinhalte über die Datenstrukturen (siehe 1) weiter einschränken kann • Beispiel: im relationalen Datenbankmodell kann jedes Attribut einer Relation als eindeutig bestimmt werden -> zwei Tupel dieser Relation dürfen dann nicht den gleichen Wert in diesem Attribut haben, ansonsten Verletzung der Integritätsbedingungen Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 16 (2) Logischer Entwurf Relationales Datenbankmodell Tabelle Kunden KN Straße 1 Name Kunde n Adresse hat ... Stadt Kundennummer Name 10000 Max Müller 10001 Franziska Maier 10002 Schmid und Söhne GmbH ... Aufgaben des logischen Entwurfs u.a.: • Überführung des ERM in relationales Datenschema • Festlegung der identifizierenden Schlüssel • Festlegungen zur technischen Umsetzung von Beziehungen • Methodische Überprüfung der modellierten Ansätze durch Normalisierung Tabelle Adressen AdressID Kundennummer Straße 0 10000 Hauptstraße 1 10000 Bahnhofsstraße ... Kernfragen: • Welche Tabellen benötige ich? • Welche Spalten in den Tabellen benötige ich? • Wie sehen die möglichen Beziehungen zwischen den verschiedenen Datensätzen aus? Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 17 (2) Logischer Entwurf Relationales Datenbankmodell - Terminologie • Datenbank/Database: Ein Behältnis zum Speichern von Daten Relationales Datenbankmodell: • Tabelle/Table: Der Teil einer Datenbank, welche die Daten enthält. Eine Tabelle hat Spalten/Columns zur Speicherung der zeilenweise abgelegten Daten. • • • Tabelle Kunden Kundennummer Name Kundentyp 10000 Max Müller 0 10001 Franziska Maier 0 10002 Schmid und Söhne GmbH 1 Spalten/Columns: Jede Spalte enthält ein Attribut eines Datensatzes in einem festgelegten Datentyp (z.B. string (Text), integer (Zahl), date) Tabelle Kundentypen TypID Typbezeichnung 0 Privatkunde 1 Geschäftskunde Zeile/Row: Der Datensatz in einer Tabelle Primärschlüssel/Primary Key: Eine oder mehrere Spalten, welche eindeutige Werte zur Referenzierung eines Datensatzes enthalten, z.B. Kundennummer Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 18 (2) Logischer Entwurf Vorgehen - Normalisierung • Minimierung von Redundanzen und inneren Abhängigkeiten Normalisierung eines relationalen Datenschemas = Zerlegung von Relationen (Tabellen) gemäß Normalisierungsregeln -> 4 Normalformen (Codd, 1970) (Normalform 1-3 sind Gegenstand dieser VL) • Datenredundanzen können zu inkonsistenten Datenbeständen führen, da der Fall eintreten kann, dass mehrfach enthaltene Daten nur teilweise geändert werden -> zudem unnötig Speicherplatz • Vorgehen um ein relationales Datenschema in eine Normalform zu bringen -> fortschreitend Tabellen in einfachere Tabellen zerlegen bis keine weitere Zerlegung mehr möglich ist ohne Verlust von Daten • Essentiell: das Schlüsselkonzept -> ein Schlüssel ist eine Menge von Attributen (eines oder mehrere), die eine Datenzeile einer Tabelle eindeutig identifiziert, z.B. Kunden-ID Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 19 (2) Logischer Entwurf Vorgehen - Normalisierung 1. Normalform (1NF): Jedes Attribut der Relation muss einen atomaren Wertebereich haben. • Zusammengesetzte Wertebereiche sind nicht erlaubt • Ziel: kein Attributwertebereich kann in weitere (sinnvolle) Teilbereiche aufgespalten werden, z.B. Adresse wird aufgeteilt in PLZ, Ort, Straße, Hausnummer • Nutzen: Abfragen der Datenbank werden erleichtert bzw. überhaupt erst ermöglicht, da die Attributwertebereiche atomar sind; Felder, die einen ganzen Text aus Titel, Vorname und Nachname enthalten, kann man nicht nach dem Nachnamen sortieren (Bildquelle: wikipedia.de) Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 20 (2) Logischer Entwurf Vorgehen - Normalisierung 2. Normalform (2NF): Eine Relation ist in der zweiten Normalform, wenn die erste Normalform vorliegt und kein Nichtschlüsselattribut funktional abhängig von einer echten Teilmenge eines Schlüsselkandidaten ist. • Jedes Nichtschlüsselattribut ist von der Gesamtheit des Schlüssels abhängig (nicht nur von einem Teil des Schlüssels) • Ziel: jede Tabelle modelliert nur einen thematischen Zusammenhang • Nutzen: Redundanz und damit Gefahr von Inkonsistenzen wird reduziert, da sich nur noch logisch/ sachlich zusammengehörige Information in einer Tabelle befindet (Bildquelle: wikipedia.de) Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 21 (2) Logischer Entwurf Vorgehen - Normalisierung 3. Normalform (3NF): Die dritte Normalform ist erreicht, wenn sich das Relationenschema in 2NF befindet, und kein Nichtschlüsselattribut von einem Schlüsselkandidaten transitiv abhängt. • Ein Nichtschlüsselattribut darf nicht von einer Menge aus Nichtschlüsselattributen abhängig sein, sondern nur direkt von einem Schlüssel abhängig sein • Ziel: jede Tabelle modelliert nur einen Sachverhalt • Nutzen: verbliebene thematische Durchmischungen werden behoben; nach der 3NF sind Tabellen zuverlässig monothematisch • • Interpret einer CD lässt sich aus der CD_ID bestimmen, das Gründungsjahr der Band/ Interpreten hängt vom Interpreten und damit transitiv von der CD_ID ab Datenredundanz: wird neue CD mit existierendem Interpreten eingeführt, so wird das Gründungsjahr redundant gespeichert (Bildquelle: wikipedia.de) Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 22 Vorgehen bei der Datenmodellierung Relevante Objekte der “realen Welt” im Kontext des Informations-systems, z.B. Personen (1) Konzeptueller Entwurf (2) Logischer Entwurf (3) Physischer Entwurf Konzeptuelles Modell Fachliches Abbild durch Typisierung und Beschreibung, z.B. EntityRelationship-Modell Logisches Datenbankschema Datentechnische Festlegung des Datenbankmodells, z.B. Schlüssel Physisches Datenbankschema Script zur Erstellung der Datenbank gemäß Datenbank Management System (DBMS) Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 23 (3) Physischer Entwurf • • • • Umsetzung des logischen Datenbankschemas in ein physisches Datenbankschema: Formulierung aller Angaben in der Syntax des DatenbankManagement-System (DBMS) zur Datenbankgenerierung DBMS = Menge aus Komponenten zur Definition, Erstellung und Verwaltung von Datenbanken Abfrage und Manipulation der Daten überwiegend durch Datenbanksprache SQL (Structured Query Language) Beispiel: Anlegen einer Datenbank “Shop” sowie einer Tabelle “Kunden”, die anschließend wieder gelöscht werden mittels SQL (im Rahmen eines relationalen DBMS) SQL Kommandozeile mysql> create database `Shop`; Query OK, 1 row affected (0.00 sec) mysql> use `Shop`; Database changed mysql> create table `Kunden` (`Kundennummer` INT NOT NULL AUTO_INCREMENT, `Name` VARCHAR(45), PRIMARY KEY (`Kundennummer`)); Query OK, 0 rows affected (0.02 sec) mysql> drop table `Kunden`; Query OK, 0 rows affected (0.00 sec) DBMS Datenbank-­‐ Dateien Anwendung Datenbanksystem Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 mysql> drop database `Shop`; Query OK, 0 rows affected (0.04 sec) Slide 24 (3) Physischer Entwurf Physischer Entwurf unter Einsatz von Generatoren automatisch oder halbautomatisch möglich, z.B. MySQL DBMS Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 25 Speicherung und Verarbeitung von Daten im Kontext des Cloud Computing User Presentation Speicherung von Daten Business Logic Data is provided by some • • • Infrastructure Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Relationale Datenbanken: Leistungsprobleme bei datenintensiven Applikationen, wie z.B. Indexierung von großen Dokumentmengen Effizient bei häufigen, kleinen oder große, seltenen Transaktionen Können schlecht mit gleichzeitig hohen Datenanforderungen und häufigen Datenänderungen umgehen (Agrawal et al., 2008) Slide 26 Alternative Ansätze zur Datenspeicherung NoSQL • NoSQL = not only SQL (SQL = Sprache zur Definition, Abfrage und Manipulation von relationalen Datenbanken) -> Datenbanken, die einen nicht-relationalen Ansatz verfolgen • Merkmale: Vertiefung in Veranstaltung “Web Technologien” im WS12/13 kein festgelegtes Datenbankschema Nicht relational Kann mit vielen Schreib-/Leseanfragen umgehen Schwache Garantien hinsichtlich Konsistenz oder auf einzelne Datensätze eingeschränkte Transaktionen - Unterstützung von verteilten Datenbanken mit redundanter Datenhaltung auf vielen Servern -> Systeme können einfach skalieren und Ausfälle einzelner Server überstehen - - - - • Bekannte Implementierungen, z.B. Google BigTable, Amazon Dynamo; Open-Source-Implementierungen, z.B. CouchDB, Apache Cassandra, MongoDB • Anwendung von NoSQL-Ansatz z.B. bei Facebook, eBay Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 27 Alternative Ansätze zur Datenspeicherung NoSQL-Typen • Graphendatenbank, z.B. Neo4j: Speichern von komplexen Baum- und Netzwerkstrukturen, z.B. bei Twitter um FollowerBeziehungen zwischen den Mitgliedern abzulegen • Objektorientierte Datenbanken, z.B. db4objects: Speicherung von Daten als Objekte; Einbettung in Anwendungen, die ojektorientiert programmiert sind • Spaltenorientierte Datenbanken, z.B. HBase: Inhalte werden spaltenweise statt zeilenweise abspeichert; Vorteile beim Festplattenzugriff • Dokumentorientierte Datenbanken, z.B. CouchDB: Dokumente bilden Grundeinheit zur Speicherung der Daten, z.B. JSON-formatierte Dokumente (XML-basiert) • Key/Value-Stores, z.B. memcached: Einfache schlüsselbasierende Zugriffe auf Daten, die als Schlüssel-WertPaare abgelegt sind Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 28 Speicherung und Verarbeitung von Daten im Kontext des Cloud Computing User Verarbeitung von Speicherung von Daten Daten Presentation Business Logic Data is provided by some • Verarbeitung vieler Datensätze (Big Data) • schneller Import großer Datenmengen • sofortige Abfrage importierter Daten (RealtimeProcessing) • kurze Antwortzeiten auch bei komplexen Abfragen • Möglichkeit zur Verarbeitung vieler gleichzeitiger Abfragen (Concurrent Queries) • • Infrastructure Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 • Relationale Datenbanken: Leistungsprobleme bei datenintensiven Applikationen, wie z.B. Indexierung von großen Dokumentmengen Effizient bei häufigen, kleinen oder große, seltenen Transaktionen Können schlecht mit gleichzeitig hohen Datenanforderungen und häufigen Datenänderungen umgehen (Agrawal et al., 2008) Slide 29 Alternative Ansätze zur Verarbeitung von Big Data MapReduce • • • • • MapReduce = von Google eingeführtes Framework für nebenläufige Berechnungen über große (mehrere Petabyte) Datenmengen auf Computerclustern (US-Patent 2010) Performance: Speedup with respect to sequential execution 1 - Workers: Für große Datenmengen Für Datenverarbeitung ohne viel Synchronisation Keine schnellen Antwortzeiten Keine komplexen Rechenoperationen (Ranger et al., 2007) Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 30 Alternative Ansätze zur Verarbeitung von Big Data MapReduce 2 - Datasize (Ranger et al., 2007) Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 31 Alternative Ansätze zur Verarbeitung von Big Data MapReduce User Presentation Business-Logic Data is provided by some ? Infrastructure Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 32 Alternative Ansätze zur Verarbeitung von Big Data MapReduce MapReduce Schritte: (1) Daten in Arbeitspakete aufteilen (2) Arbeitspakete an die Knoten verteilen (3) Map: Jeder Knoten wendet die Arbeitslogik auf sein eigenes Arbeitspaket an Ergebnis: Liste aus Schlüssel/Wert-Paaren mit z.T. Schlüssel-Duplikaten (4) Reduce: Zueinander gehörende Teilergebnisse (gleicher Schlüssel) werden aggregiert Ergebnis: Liste aus Schlüssel/Wert-Paaren mit einzigartigen Schlüsseln (5) Weitere Zusammenführung zu Endergebnis Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 33 Alternative Ansätze zur Verarbeitung von Big Data MapReduce - Beispiel ! Quelle: http://blog.jteam.nl/2009/08/04/introduction-to-hadoop/ Weiteres Beispiel zu MapReduce in der Übung am 12. Juli Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 34 Alternative Ansätze zur Verarbeitung von Big Data MapReduce - Beispielimplementation Apache Hadoop Distributed File System (HDFS) = Key-Value-Store (Hbase) + MapReduce Framework Quelle: http://en.wikipedia.org/wiki/Hadoop Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 35 Literatur Bücher: • • • • Ferstl, O. K. & Sinz, E. J. (2006), Grundlagen der Wirtschaftsinformatik, Oldenbourg Wissenschaftsverlag. Peirce, C. S. (1907), Pragmatism. de Saussure, F. (1995), Cours de linguistique générale, PAYOT. Embley, D. W. & Thalheim, B., ed. (2011), Handbook of Conceptual Modeling: Theory, Practice, and Research Challenges, Springer. Paper: • • • • • • Agrawal, R.; Ailamaki, A.; Bernstein, P. A.; Brewer, E. A.; Carey, M. J.; Chaudhuri, S.; Doan, A.; Florescu, D.; Franklin, M. J.; Garcia-Molina, H.; Gehrke, J.; Gruenwald, L.; Haas, L. M.; Halevy, A. Y.; Hellerstein, J. M.; Ioannidis, Y. E.; Korth, H. F.; Kossmann, D.; Madden, S.; Magoulas, R.; Ooi, B. C.; O'Reilly, T.; Ramakrishnan, R.; Sarawagi, S.; Stonebraker, M.; Szalay, A. S. & Weikum, G. (2008), 'The Claremont report on database research', SIGMOD Rec. 37(3), 9—19. Chen, P. P.-S. (1976), 'The Entity-Relationship Model–Toward a Unified View of Data', ACM Transactions on Database Systems 1(1). Codd, E. F. (1983), 'A relational model of data for large shared data banks', Commun. ACM 26(1), 64—69. Codd, E. F. (1980): Data models in database management, Proceedings of the 1980 Workshop on Data Abstraction, Databases and Conceptual Modeling, Maass, W. & Janzen, S. (2011), Pattern-Based Approach for Designing with Diagrammatic and Propositional Conceptual Models, in '6th Int. Conf. on Design Science Research in Information Systems and Technology (DESRIST 2011), Milwaukee, Wisconsin, USA’. Ranger, C.; Raghuraman, R.; Penmetsa, A.; Bradski, G. & Kozyrakis, C. (2007), Evaluating MapReduce for Multi-core and Multiprocessor Systems, in 'Proceedings of the 2007 IEEE 13th International Symposium on High Performance Computer Architecture', IEEE Computer Society, Washington, DC, USA, pp. 13—24. Web: • • • http://wirtschaftslexikon.gabler.de/ http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=7229 http://blog.jteam.nl/2009/08/04/introduction-to-hadoop/ Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 36 Vorlesungsagenda Übersicht 1. Einleitung Managementsicht des Informationsmanagement 2. Grundlagen des Informationsmanagement 3. Aufgaben des Informationsmanagement – Management der Informationswirtschaft (2-stündig!) 4. Aufgaben des Informationsmanagement – Management der Informationssysteme und Führungsaufgaben (2-stündig!) 5. Aufgaben des Informationsmanagement – IT-Controlling Unternehmensarchitekturen 6. Grundlagen der Unternehmensarchitekturen – Gastvortrag Dr. Steffen Roehn (2-stündig!) Systemarchitekturen 7. Architekturen von Informationssystemen 8. Webarchitekturen (2-stündig!) 9. Mobile & Cloud Computing Datenmodellierung 10. Grundlagen der Datenmodellierung (2-stündig!) 11. Semantische Datenrepräsentationen (2-stündig!) Prozessmodellierung 12. Grundlagen der Prozessmodellierung Univ.-Prof. Dr.-Ing. Wolfgang Maass 05.07.12 Slide 37 Univ.-Prof. Dr.-Ing. Wolfgang Maass Lehrstuhl für Betriebswirtschaftslehre, insb. Wirtschaftsinformatik im Dienstleistungsbereich (Information and Service Systems ISS) Universität des Saarlandes, Saarbrücken Univ.-Prof. Dr.-Ing. Wolfgang Maass