Datenbanken

Was sind Datenbanken? & Welche gibt es?

Was ist eine Datenbank?

Eine Datenbank ist ein System zur elektronischen Verwaltung von Daten. Die Kernaufgabe von Datenbanken liegt in der effizienten, dauerhaften und fehlerfreien Speicherung großer Datenmengen sowie in der bedarfsgerechten Bereitstellung benötigter Informationen.

Was für Datenbanken gibt es?

Relationale Datenbanken
Speicherung von Daten in Tabellen, ideal für strukturierte Informationen, Abfrage via SQL, klassische Basis von Business Software
Objektorientierte Datenbanken
Informationen werden in Form von Objekten dargestellt, ideal einsetzbar in Kombination mit objektorientierter Programmierung
Verteilte Datenbanken
Datenbank besteht aus mehreren Dateien, die sich an unterschiedlichen Orten befinden; Speicherung kann auf mehreren Rechnern erfolgen
Data Warehouses
Datenbanktyp, der für schnelle Analysen und Abfragen optimiert ist; wird oft in Business-Anwendungen eingesetzt
NoSQL-Datenbanken
Speicherung von unstrukturierten und semistrukturierten Daten, geeignet für das Management von Big Data
Cloud-Datenbanken
Sammlung von unstrukturierten oder strukturierten Daten in einer öffentlichen, privaten oder hybriden Cloud; Zugriff via Internet
In-Memory-Datenbanken
Speichert Daten im Arbeitsspeicher eines PCs, Benutzer:in profitiert von hoher Performance bei Abfragen
Open-Source-Datenbanken
Offener Quellcode, z. B. MongoDB

Welche gibt es?

Firebase
Firebase ist eine Echtzeit-Engine mit Rückwärtsverbindung. Das heißt, man kann eine plattformübergreifende App erstellen, in der Clients Ereignisse für bestimmte Daten abonnieren und der Server Clients aktiv über Änderungen informiert. Es ist also eine Echtzeitdatenbank ohne SQL und ist ein Produkt von Google. Abfragen können somit sofort und ohne Seitenaktualisierung an und von verschiedenen Geräten gesendet werden.

Vorteile von Firebase:

  • Sofortige Aktualisierung der Daten ohne die Seite neu zu laden
  • Einfache Synchronisierung mehrerer Computer mit der Datenbank
  • Muss keine REST API schreiben (muss aber trotzdem ein paar Zeilen für den Server schreiben.)
  • Keine Panik, dass der Server zusammenbricht, wenn man doch mal Tonnen an Datenverkehr erhält

Nachteile von Firebase:

  • Man kann Firebase nicht selber Hosten.
  • begrenzte Abfragen, eher für kleine Applikationen gedacht
  • Man kann Firebase nicht lokal laufen lassen – nur durch die Cloud.

Wann sollte man Firebase nutzen?

  • Apps, die stark von Echtzeitdaten abhängig sind (Börsenkursdiagramme usw.)
  • Community- / Social-Type-Apps (Twitter, Chatrooms, Dating-Websites)

Hier findest du noch mehr Inforamtionen über Firebase

MongoDB
MongoDB ist eine Dokumentendatenbank, die frei skalierbar und sehr flexibel beim skalieren und indiziern der Daten ist. Zudem ist es eine NoSQL & Open Source Datenbank die eigens von MongoDB inc. verwaltet und entwickelt wird.

Vorteile von MongoDB:

  • flexible Datenbankstruktur
  • kann viele Daten kostengünstig speichern
  • Gute Performance bei stark frequentierten Apps mit vielen gleichzeitigen Anweisungen

Nachteile von MongoDB:

  • Die Abfragesyntax sieht komplizierter aus als SQL und sogar Firebase
  • Verwirrende "Mittelsmann" Hosting Arrangements
  • steile Lernkurve für Entwickler, die Websites mit sehr hohem Datenverkehr verwalten
  • Apps von Drittanbietern wie Mongoos lassen Mongodb sinnlos erscheinen
  • komplexe Abfragen sind sehr schwierig

Wann sollte man MonoDB nutzen?

  • Apps, die textlastig sind
  • Apps, bei denen Sicherheit ein Problem darstellt

Möchtest du mehr über MongoDB nachlesen dann schau Hier vorbei.

MySQL
MySQL ist ein open source relational database management system (RDBMS) basierend auf der Struktur der Query Language: Structured Query Language (SQL).

Vorteile von MySQL:

  • leicht zu lernen
  • kann große Datenmengen verarbeiten
  • gut im Umgang mit komplizierten Anfragen
  • stabil
  • Software von Drittanbietern verfügbar (phpMyAdmin, Navcat usw.)

Nachteile von MySQL:

  • ständige Bedrohung durch SQL-Injection-Angriffe
  • Unklar über die Leistung von MySQL auf Websites mit sehr hohem Datenverkehr

Wann sollte man MySQL nutzen?

  • Apps, die komplexe Abfragen erfordern
  • Anwendungen, die eine Menge von Arithmetik benötigen

Möchtest du mehr über MySQL nachlesen dann schau Hier vorbei.

Zurück