====Verschiedene Datenbanktypen===
Das Speichern von Datensätzen kann verschieden gelöst werden. Zum einen werden oft die uns nun bekannten relationale Datenbanken genutzt und Datensätze oder Felder via SQL abgefragt. Werden diese relationale Datenbanken genutzt werden, dann muss zum Analysieren dieser Daten wird oft eine andere Datenbank, sog. OLAP, verwendet. Wird mit relationalen Datenbanken gearbeitet, ist somit immer ein zweites Analysesystem nötig, um die verwalteten Daten zu analyiseren, Prognosen zu stellen oder ähnliches.\\
Falls jedoch die gesammelten Daten nicht vom gleichen Typ sind oder sich vom Typ her ändern können, dann kann nicht mehr eine relationale Datenbank genutzt werden.
{{ :gf2:datenbanken:dbtypesbytebytego.png?direct&400|}}
* Relationale DB: Stellen Sie sich vor, Sie organisieren Daten in übersichtlichen Tabellen. Die Daten sind hier sehr geordnet.
* OLAP DB: Online Analytical Processing (OLAP) ist eine Technologie, die für Analysezwecke optimiert ist. Hier werden die Relationale Datenbanken oder aber auch multidimensionale Datenwürfel verwendet, um so die vorhandenen Daten für das jeweilige Unternehmen zu analysieren und dadurch nutzbar zu machen.
* NoSQL-DBs: Dies sind die Datenbankentypen, die nicht mit den herkömmlichen SQL-Methoden gleichzusetzen sind.
* Graph DB: Als Beispiel viele soziale Netzwerke, in denen die Beziehungen zwischen Menschen am wichtigsten sind. Es ist wie ein (gerichteter) Graph, wer mit wem befreundet ist.
* Key-Value-Store-DB: Dies ist wie eine Liste, bei der jedes Feld einen eigenen Schlüssel hat. Die Felder mit dem gleichen Wert haben den gleichen Schlüssel und in den Datenbanken wird der echte Wert nur noch einmal gespeichert, anschliessend nur noch der entsprechende Schlüssel im Feld gespeichert.
* Spalten-DB: Hier werden die Daten spaltenweise gespeichert. Dies bringt den Vorteil mit sich, dass wenn viele ähnliche Werte vorhanden sind. Hier können diese zusammengefasst gespeichert werden.
* (Dokumenten-DB: Eine Dokumenten-Datenbank ist eine Art von Datenbank, die Informationen in einem JSON-ähnlichen Format speichert.)
==== Herausforderungen für grosse Datenbanken ====
{{ :gf2:datenbanken:instahubinstagram.png?direct&150|}}
Im Vergleich zu unserem Instahub mit den generierten 200 Nutzern ist Instagram mit momentan über 2 Milliarden Nutzern ([[https://de.statista.com/themen/2506/instagram/#topicOverview| Siehe hier]]) verwaltet seine riesigen Datenmengen. \\
\\
Viele heute grosse Tech-Unternehmen standen vor 10 bis 15 Jahren vor den folgenden zentralen Fragen, deren Beantwortung zur Entwicklung der nötigen Technologien für unsere heutigen (und vermutlich auch viele zukünftige) sozialen Netzwerke oder auch andere Anwendungen (Google, Amazon-Store, ...) zentral sind. \\
\\
In diesem Zusammenhang muss von BIG DAGA und der Herausforderung des Verwaltens und Analysierens von grossen Datenmengen gesprochen werden. \\
Doch, was ist überhaupt genau BIG DATA? Einen kurzen und guten Überblick bietet der Film. Sicherlich haben die vergangenen Jahre gezeigt: // Grundsätzlich werden immer mehr Daten erzeugt, diese sind oft unstrukturiert von verschiedenen Quellen und müssen fast zeitgleich verarbeitet und anschliessend gut abgespeichert werden, möglichst fehlerfrei // versteht sich. Dies scheint ein fast unmögliches Vorhaben, diese unglaublich grosse Menge an Daten zu speichern, zu bearbeiten und zu analysieren.
|{{ youtube>pIjG44CScnk }}[[https://datasolut.com/was-ist-big-data/]] |{{:gf2:datenbanken:bigdata4v.png?direct&400 | https://datasolut.com/was-ist-big-data/}}|
====Big Data und die Herausforderungen====
Um diese unglaubliche Menge an Daten überhaupt verwalten und analysieren zu können, ist eine Kombination verschiedener Technologien und Architekturen nötig. Diese sind auf **Skalierbarkeit**, **Leistung** und **Zuverlässigkeit** ausgelegt. \\
Wir betrachten die zentralen Herausforderungen von Instahub. Vieles davon gilt für alle anderen Riesendatenbanken gleich. Es werden auch sehr oft die gleichen Technologien verwendet.
Es geht darum, dass die Datenbank auf verschiedene Server (bzw. Rechenzentren) verteilt wird, dass bei steigender Anzahl an Nutzern eine Verfügbarkeit wichtig ist. Zudem sollte möglichst rasch und effizient, mit kleiner Fehlertoleranz eine Abfrage bearbeitet werden – oder Analyse von Daten möglich sein. Die Anwendung (als Beispiel Instagram), welche die riesige Datenbank nutzt, muss aber konstant und korrekt zu funktionieren, ohne Ausfälle oder Fehler. \\
**Dies ist bei dieser schieren Datenflut eine echte Herausforderung. ** \\
Im Folgenden werden einige der wichtigsten zentralen technischen Fragestellungen und Probleme der Verarbeitung von sehr grossen Datenmengen thematisiert. Diese Probleme wurden oft gemeinsam von vielen heute grossen Tech-Unternehmen wie Amazon, Google oder auch einigen Universitäten, welche sich in diesem Gebiet spezialisierten, gelöst. Eine erste Antwort ist jeweils formuliert und zusätzliches Lesematerial bereitgestellt.\\
Die mit diesem Thema einhergehenden ethischen oder auch politischen Themen werden ausgeklammert, wären aber sehr interessant. \\
[[https://www.ionos.de/digitalguide/online-marketing/web-analyse/big-data-definition-und-beispiele/
|Was ist Big-Data?]]
===Wie können Billionen von Bildern gespeichert oder auch gefunden werden?===
Die Datenbank muss auf verschiedene Server- bzw. Rechenzentren verteilt werden. Dies bedingt aber, dass es gute Datenbankmanegementsysteme gibt, die dies überhaupt ermöglichen.
Diese Insta-Datenbank und die damit verbundenen Hardware- und Softwaresysteme müssen verschiedene Kriterien erfüllen:
* Wir als Nutzer möchten, dass wir immer auf Instagram zugreifen können und es keine technischen (oder zeitlichen) Verzögerungen oder Ausfälle gibt.
* Es sollte auf Seiten Instagram möglichst wenig Fehler geben und die Daten sollten für alle Nutzer gleich aktuell sein.
* Es darf nie Probleme geben, dass ein Bild nicht gespeichert werden kann, somit muss Instagram sehr viel Speicherplatzflexibilität aufweisen können.
* Die Nutzerdaten sollten sicher auf Instagram verwaltet werden.
* ...
===Insta's Antworten auf die Herausforderung===
* Instagram hat sehr **viele Server**, alle davon stehen in Kalifornien. Das Unternehmen kann sehr schnell mehr Server dazuschalten.
* Es gibt eine gute **technische Überwachung des Systems**, welches ein gutes Management der Server, ein gutes Backup und eine optimierte Abfrage und Datenspeicherung garanitiert.
* Die Aktivität der Nutzer wird in viele kleine Anwendungen (Services) bzw. **Teilaufgaben** aufgeteilt. So können diese oft unabhängig voneinander bearbeitet werden. Spannend ist auch, dass diese Aufgaben oft **asynchron** bearbeitet werden und es hier viel Geschick brauchte, damit dieses nicht gleichzeitige Bearbeiten überhaupt fehlerfrei möglich wird und von uns Nutzern nicht bemerkt wird.
* Instagram muss zudem auch sicherstellen, dass es **keine Überlastung** von einzelnen Servern gibt (etwas von Influencer-Konten, welche viele Follower haben). Erstaunlich ist auch, dass die Daten teilweise zwei oder dreimal abgespeichert werden, somit eine Redundanz auf den Servern entsteht. Aber dadurch kann die Zugriffszeit verringert werden und eine punktuelle Überlastung vermieden werden.
* Was der Nutzer nicht merken sollte, aber sicher hin und wieder zum Einsatz kommt, ist ein gut funktionierendes **Backupsystem**, welche sicherstellt, dass auch bei einem technischen Problem immer alle Daten sicher aktuell vorhanden sind.
* Wird bei einer so grossen Datenbank eine **Abfrage** gemacht, muss diese **optimiert** werden (JOINs brauchen viel Zeit und sollten möglichst vermieden oder auf kleinere Datenmengen angewandt werden...)
* ...
===Wo werden die Daten gespeichert?===
Ein Datencenter von innen...wo die Daten physisch gespeichert sind...
https://youtu.be/_r97qdyQtIk
{{ youtube>_r97qdyQtIk }}
==Links - Technisches zu Instagram==
* [[https://scaleyourapp.com/instagram-architecture-how-does-it-store-search-billions-of-images/| Datenarchitektur von Insta]]
* [[https://medium.com/@ishwaryas1412/tech-stack-instagram-89d9f69ae9d2|Tech-Stack von Instagram]] und dazu den [[https://www.analyticssteps.com/blogs/how-instagram-uses-ai-and-big-data-technology|Begleittext zum Tech-Stack]]
===Daten sind Macht ===
== Ein Experiment ==
[[https://www.zeit.de/datenschutz/malte-spitz-vorratsdaten| Hier]] ein **Experiment** von Malte Spitz (einem Journalisten) zu Bewegungsdaten und was daraus geschlossen werden kann! Malte hat auch eine Website dazu: [[https://apps.informatik.cc/tracking/]]. Dies ist eine beeindruckende und zugleich simple Illustration der Macht verknüpfter Daten allgemein. \\
\\
== KI und Datenmengen ==
Was passiert, wenn grosse Datenmengen mit Hilfe von **KI** durchsucht, geordnet oder auch **analysiert** werden?
- Macht verknüpfter Daten mithilfe von KI [[https://www.srf.ch/news/gesellschaft/ki-und-gesammelte-daten-eine-solche-datensuchmaschine-ist-eine-weltneuheit | SRF-Beitrag]] und allgemein ein Dokument zu KI und Daten(-analyse) [[https://www.plattform-lernende-systeme.de/files/Downloads/Publikationen/AG1_Whitepaper_Von_Daten_zu_KI.pdf]]
\\
\\
==Macht der grossen Tech-Konzerne==
[[https://www.wikimedia.de/abcdesfreienwissens/abcdesfreienwissens/macht-der-daten/macht-der-daten/| Macht der Daten]] ist ein Artikel von Katharina Nocun, Publizistin, Politik- und Wirtschaftswissenschaftlerin, ehemalige Netzaktivistin, Bloggerin und Politikerin.
[[https://www.Opendata.ch | Opendata.ch]], Gegensteuer zu den grossen Tech-Konzernen, //lasst uns gemeinsam unsere digitale Zukunft gestalten, um auf soziale Bedürfnisse zu reagieren und Menschen zu unterstützen. An diesen Projekte arbeiten wir, um unsere Vision zu verwirklichen.//