Skip to content

Commit

Permalink
Merge pull request #10 from ck-innoq/patch-1
Browse files Browse the repository at this point in the history
Überarbeitung Modul 2
  • Loading branch information
RainerJaspert authored Mar 22, 2024
2 parents fccb69c + 16b88a3 commit 9609357
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 52 deletions.
16 changes: 15 additions & 1 deletion docs/01-module-block-1/02-learning-goals.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,21 @@ Die Teilnehmer:innen wissen, dass analytische Anwendungen bisher häufig eine mo

[[LZ-1-7]]
==== LZ 1-7 - Lebenszyklus analytischer Daten
Die Teilnehmer:innen können die grundsätzlichen Phasen im Lebenszyklus analytischer Daten benennen, also deren Generierung, Sammlung, Speicherung und Transformation bis hin zur Bereitstellung und Auswertung. Sie kennen die querschnittlichen Themen, die in allen Phasen zu beachten sind.
Die Teilnehmer:innen können die folgenden Phasen der Datenverarbeitung zur Vereinheitlichung analytischer Daten unterscheiden:

- Sources - Das Erzeugen der Daten
- Ingestion und Transport - Das Extrahieren der Daten und deren Transport zum den Speichersystemen
- Storage - Das Abspeichern der Daten
- Query und Processing - Code zur Verarbeitung und Abfragen gegen die gespeicherten Daten
- Transformation - Transformation der Daten in eine für die Analyse geeignete Form
- Analysis und Output - Präsentation der Daten für die Analyse und deren Ergebnisse sowie Integration der Analysemöglichkeiten in Anwendungen

Den Teilnehmer:innen ist bewußt, dass begleitend zu diesen Phasen auch die folgenden Querschnittsthemen zu beachten sind:

- Data Discovery - Information bereitstellen, welche Daten es gibt, wie sie aufbereitet und wo sie zu finden sind
- Data Governance - Erarbeiten und Überwachen allgemein gültiger Regeln für die Verarbeitung der Daten
- Data Security - Gewährleisten eines angemessenen Grads an Datenschutz
- Data Quality - Gewährleisten eines angemessenen Grads an Datenqualität

[[LZ-1-8]]
==== LZ 1-8 - Abgrenzung von anderen iSAQB Modulen
Expand Down
64 changes: 14 additions & 50 deletions docs/02-module-block-2/02-learning-goals.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,88 +12,52 @@ Den Teilnehmer:innen ist der generelle Nutzen von Referenzarchitekturen bewusst:
Die Teilnehmer:innen verstehen, dass Referenzarchitekturen für analytische Anwendungssysteme generell unterschieden werden, je nachdem, ob eine Basis für

- die Vereinheitlichung und Integration analytischer Daten
- die Anwendung von Verfahren der KI und des ML auf analytischen Daten
- die Anwendung von Verfahren der KI und des ML auf analytischen Daten (nicht Bestandteil dieses Lehrplans)
- beides zugleich

geschaffen werden soll.

Die Teilnehmer:innen kennen Ansätze, ein einheitliches Framework für Referenzarchitekturen zu analytischen Anwendungssystemen zu beschreiben.

Die Teilnehmer:innen kennen Beispiele zu Referenzarchitekturen für analytische Anwendungssysteme wie etwa
Die Teilnehmer:innen verstehen, dass Referenzarchitekturen sowohl in monolithischen Ansätzen für die Architektur des Gesamtsystem herangezogen werden können, als auch in verteilten Ansätzen wie Data Mesh für die Architektur jedes Teilsystems eingesetzt werden können.

Die Teilnehmer:innen kennen Beispiele von Referenzarchitekturen für analytische Anwendungssysteme wie etwa

- Data Warehouse
- Enterprise DWH
- Scalable DWH / Data Vault
- Data Lake
- DL Architecture Framework
- DL Lambda Architecture
- Machine Learning
- Reference Architecture for big data systems
- Lambda Architecture

[[LZ-2-2]]
==== LZ 2-2 - Referenzarchitekturen zur Vereinheitlichung analytischer Daten
Die Teilnehmer:innen können die folgenden Phasen der Datenverarbeitung zur Vereinheitlichung analytischer Daten unterscheiden und wissen, welche Komponenten in den jeweiligen Phasen typischerweise zum Einsatz kommen:

- Sources - Das Erzeugen der Daten (ERP-Systeme, Logs, APIs, ...)
- Ingestion und Transport - Das Extrahieren der Daten und deren Transport zum den Speichersystemen (Workflow Manager, Replikationslösungen, Streamprocessing Engines, ...)
- Storage - Das Abspeichern der Daten (Data Lake, Data Warehouse, ...)
- Query und Processing - Code zur Verarbeitung und Abfragen gegen die gespeicherten Daten (Spark, SQL, Dataframes, ...)
- Transformation - Transformation der Daten in eine für die Analyse geeignete Form (Workflow Manager, SQL/Spark Code Generierung, ...)
- Analysis und Output - Präsentation der Daten für die Analyse und deren Ergebnisse sowie Integration der Analysemöglichkeiten in Anwendungen (Dashboards, Embedded Analytics, Report-Engines, ...)
Die Teilnehmer:innen kennen die Phasen der Datenverarbeitung und wissen, welche Toolkategorien in den jeweiligen Phasen typischerweise zum Einsatz kommen (siehe [M. Bornstein 2020]).

Den Teilnehmer:innen ist bewußt, dass Referenzarchitekturen begleitend zu diesen Phasen auch die folgenden Aufgabenbereiche mit geeigneten Komponenten abdecken müssen:
Die Teilnehmer:innen kennen Komponenten die zur Abdeckung querschnittlicher Themen geeignet sind.

- Data Discovery - Information bereitstellen, welche Daten es gibt, wie sie aufbereitet und wo sie zu finden sind
- Data Governance - Erarbeiten und Überwachen allgemein gültiger Regeln für die Verarbeitung der Daten
- Data Security - Gewährleisten eines angemessenen Grads an Datenschutz
- Data Quality - Gewährleisten eines angemessenen Grads an Datenqualität

[[LZ-2-3]]
==== LZ 2-3 - Referenzarchitekturen zur Anwendung von Verfahren der KI und des ML
Die Teilnehmer:innen können die folgenden Phasen der Datenverarbeitung zur Anwendung von Verfahren der KI und des ML unterscheiden und wissen, welche Komponenten in den jeweiligen Phasen typischerweise zum Einsatz kommen:

- Data Transformation - Konvertieren der Rohdaten in ein geeignetes Format für das Model Training (Data Labeling, Data Science Libraries, ...)
- Model Training und Development - Iteratives Trainieren der Modelle mit den Daten, Optimieren und Automatisieren der Abläufe für das Trainieren der Modelle (Feature Store, Model Registry, ML/DL Framework, Workflow Manager, ...)
- Model Inference - Anwenden der Modelle auf die zu analysierenden Daten. Monitoring der Verarbeitung
- Integration - Integration der Analyse-Verfahren und Ergebnisse in Anwendungen

[[LZ-2-4]]
==== LZ 2-4 - Architekturentscheidungen anhand von Referenzarchitekturen
Die Teilnehmer:innen können Architekturentscheidungen speziell zu den folgenden Fragestellungen anhand von Referenzarchitekturen diskutieren:
==== LZ 2-3 - Architekturentscheidungen anhand von Referenzarchitekturen
Die Teilnehmer:innen können Architekturentscheidungen etwa zu den folgenden Fragestellungen anhand von Referenzarchitekturen diskutieren:

- ob ein zentrales/monolithisches oder dezentrales/förderiertes System zu wählen ist {Single Point of Truth, Canonical Data Model, Master Data Management}
- ob ein zentrales/monolithisches oder dezentrales/förderiertes System zu wählen ist
- ob ein Deployment in der Cloud (ggfs. Cloud-Ready), hybrid oder on-Premise vorzuziehen ist
- ob ein einheitliches Schema für die auszuwertenden Daten vorgegeben werden soll
- ob eine eigenständige Entwicklung von Komponenten erforderlich ist oder das Kaufen und Konfigurieren von Standardkomponenten ausreicht
- ob die Integration von Komponenten selbst vorgenommen oder auf die Verwendung bereits integrierter Komponenten vertraut wird
- ob Stream-, Batch-Processing (ggfs Micro-Batch) oder beides unterstützt werden muss
- welches Bezahlmodell (Pay as you go, subscription fee, buy) Vorteile bietet
- welche Form der Skalierbarkeit konkret benötigt wird: Datenvolumen, Geschwindigkeit der Verarbeitung und des Datenzugriffs, Anzahl und Variabilität der Datenquellen, Anzahl der Nutzer, Anzahl und Variabilität der analytischen Auswertungen
- inwieweit Daten repliziert/redundant gespeichert werden müssen
- ob eine fachliche Modularisierung (im Sinne von DDD) erforderlich ist
- welche Form der Skalierbarkeit konkret benötigt wird, z.B. Datenvolumen, Anzahl der Nutzer
- welche Rollen und Verantwortlichkeiten vorgesehen werden müssen
- wie groß Komponenten dimensioniert werden müssen
// end::DE[]

// tag::EN[]
[[LG-2-1]]
==== LG 2-1: Storage concepts
==== LG 2-1: Overview architectural patterns
tbd.

[[LG-2-2]]
==== LG 2-2: Challenges regarding scalability
==== LG 2-2: Architectural patterns for for unifying analytical data
tbd.

[[LG-2-3]]
==== LG 2-3: Storage solutions
tbd.

[[LG-2-4]]
==== LG 2-4: Infrastructure, specialized hardware and operations
tbd.

[[LG-2-5]]
==== LG 2-5: Storage requirements
==== LG 2-3: Architecture decisions based on architectural patterns
tbd.

// end::EN[]
Expand Down
2 changes: 1 addition & 1 deletion docs/99-references/00-references.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ ATTENTION: labels have to be non-numeric.
**B**

- [[[bachmann, F. Bachmann et al. 2000]]] F. Bachmann, L. Bass, J. Carriere, P. Clements, D. Garlan, J. Ivers, R. Nord, and R. Little: Software architecture documentation in practice: Documenting architectural layers. tech. rep., Carnegie-Mellon University Pittsburgh PA Software Engineering Inst, 2000.
- [[[bornstein, M. Bornstein 2020]]] M. Bornstein, J. Li, and M. Casado: Emerging Architectures for Modern Data Infrastructure. hhttps://future.com/emerging-architectures-modern-data-infrastructure/, 2020.
- [[[bornstein, M. Bornstein 2020]]] M. Bornstein, J. Li, and M. Casado: Emerging Architectures for Modern Data Infrastructure. https://a16z.com/emerging-architectures-for-modern-data-infrastructure/#section--2, 2020.

**C**

Expand Down

0 comments on commit 9609357

Please sign in to comment.