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.