Navigation überspringen

Was sind Datenbanken?

Definitionen, Typen und Beispiele für Datenbanken

Was sind Datenbanken?

Gemäß der grundlegendsten Definition ist eine Datenbank eine Sammlung miteinander verknüpfter Informationen. Wenn Sie eine Einkaufsliste auf ein Stück Papier schreiben, erstellen Sie im Grunde eine kleine analoge Datenbank. Was ist eine Datenbank jedoch im Informatikbereich? In diesem Kontext wird eine „Datenbank“ als Sammlung von Informationen definiert, die als Daten auf einem Computersystem gespeichert werden, z. B. der Bestand Ihres örtlichen Lebensmittelgeschäfts.

Wofür werden Datenbanken verwendet?

Datenbanken werden zum Speichern und Organisieren von Daten verwendet, um die Verwaltung und den Zugriff zu vereinfachen. Wenn eine Sammlung von Daten wächst und komplexer wird, wird es immer schwieriger, diese Daten organisiert, zugänglich und sicher zu halten. Daher verwenden Sie Datenbankverwaltungssysteme, die Verwaltungstools umfassen, um dies zu vereinfachen.

Was sind Daten?

Daten beziehen sich auf jegliche Informationen, die zu einer Person, einem Ort, einem Ding oder einem Objekt (als Entität bezeichnet) sowie den Attributen einer solchen Entität erfasst und gespeichert werden.

Wenn Sie beispielsweise Informationen über lokale Restaurants erfassen und speichern, stellt jedes Restaurant eine Entität dar, während der Name, die Adresse und die Geschäftszeiten Attribute dieser Entität darstellen. Alle Informationen, die Sie über Ihre Lieblingsrestaurants sammeln und speichern, sind Daten.

Datenbanktypen

Datenbanken werden grob in relationale und nicht relationale Datenbanken unterteilt. Relationale Datenbanken sind hochgradig strukturiert und verstehen eine Programmiersprache namens SQL (Structured Query Language, strukturierte Abfragesprache). Nicht relationale Datenbanken sind sehr unterschiedlich und unterstützen eine Vielzahl von Datenstrukturen. Da viele nicht relationale Datenbanken SQL nicht verwenden, werden sie häufig als NoSQL-Datenbanken bezeichnet.

Datenstrukturtypen

Tabellenstrukturen sind relationale Datenbankstrukturen, die Daten in Zeilen und Spalten organisieren. Zeilen enthalten Entitäten, während Spalten Entitätsattribute enthalten. Breite Tabellen oder Wide Column Stores (spaltenorientierte Datenbanken) verwenden Sparsespalten mit leeren Attributen, um die Gesamtzahl der Spalten drastisch zu erhöhen, die in der Tabelle enthalten sein können. Da einige Bereiche leer sind, sind breite Tabellen ein Beispiel für die nicht relationale Datenbankstruktur.

Lineare Strukturen organisieren Elemente in einer Sequenz.

Array

Verknüpfte Liste

Binäre Struktur

Baumstrukturen dienen zum Organisieren von Elementen in einer hierarchischen Datenbank von Knoten in Beziehungen mit übergeordneten und untergeordneten Knoten, die von einem Stammknoten abstammen.

Graph

Graphstrukturen organisieren Elemente in ein nicht hierarchisches Netzwerk von Knoten, die in komplexen Beziehungen zueinander stehen.

Hashtabelle

Hashbasierte Strukturen ordnen Schlüssel Werten mithilfe von Hashfunktionen zu, die ähnliche Daten zuordnen, indem Indizes zu Hashtabellen zugewiesen werden.

Dokumentorientierte Datenbanken

Dokumentorientierte Datenbanken organisieren Mengen von Informationen über eine Entität in ein einzelnes Objekt (das Dokument), das von anderen Objekten getrennt ist. Objekte müssen nicht einander zugeordnet werden, und ein einzelnes Objekt kann ohne Auswirkungen auf andere Objekte bearbeitet werden.

Relationale Datenbanken

In einer relationalen Datenbank – die gängigste Art von Datenbank – werden Daten in Tabellen organisiert, die Informationen über jede Entität enthalten und vordefinierte Kategorien mithilfe von Zeilen und Spalten darstellen. Diese strukturierten Daten sind hinsichtlich des Zugriffs sowohl effizient als auch flexibel.

Beispiele für relationale Datenbanken sind SQL Server, Azure SQL, MySQL, PostgreSQL und MariaDB.

Nicht relationale Datenbanken

Nicht relationale Datenbanken speichern unstrukturierte oder teilweise strukturierte Daten. Sie verwenden Tabellen mit Spalten und Zeilen nicht auf dieselbe Weise wie relationale Datenbanken. Sie verwenden stattdessen ein Speichermodell, das für die spezifischen Anforderungen des Typs der gespeicherten Daten optimiert ist. Nicht relationale Datenbanken ermöglichen den Zugriff auf, das Ändern und schnelle Analysen von größeren Mengen verteilter Daten.

Beispiele für nicht relationale Datenbanken sind MongoDB, Azure Cosmos DB, DocumentDB, Cassandra, Couchbase, HBase, Redis und Neo4j.

Einige nicht relationale Datenbanken werden als NoSQL-Datenbanken bezeichnet. NoSQL bezieht sich auf Datenspeicher, die kein SQL oder nicht nur SQL für Abfragen verwenden. Stattdessen verwenden NoSQL-Datenbanken andere Programmiersprachen und Konstrukte zum Abfragen der Daten. Viele NoSQL-Datenbanken unterstützen SQL-kompatible Abfragen, jedoch unterscheidet sich die Weise, in der sie diese Abfragen ausführen, in der Regel davon, wie eine herkömmliche relationale Datenbank dieselbe SQL-Abfrage ausführen würde.

Eine Art von nicht relationalen Datenbanken – Objektdatenbanken – verwendet objektorientierte Programmierung. Objekte werden mit einem Zustand (tatsächliche Daten), der in einem Feld oder einer Variablen gespeichert wird, sowie mit einem Verhalten codiert, das durch eine Methode oder Funktion dargestellt wird. Objekte können auf unbestimmte Zeit im permanenten Speicher gespeichert werden und ohne eine API oder ein Tool direkt gelesen und zugeordnet werden, was zu schnellerem Zugriff auf Daten und besserer Leistung führt. Allerdings sind Objektdatenbanken nicht so beliebt wie andere Datenbanktypen und können schwierig zu unterstützen sein.

In-Memory-Datenbanken und Caches

Alle Daten in einer In-Memory-Datenbank werden im RAM (Random-Access Memory, Arbeitsspeicher) eines Computers gespeichert. Wenn Sie diese Art von Datenbank abfragen oder bearbeiten möchten, müssen Sie direkt auf den Hauptarbeitsspeicher zugreifen. Es ist kein Datenträger beteiligt. Die Daten werden schnell geladen, da der Zugriff auf den Hauptarbeitsspeicher (der sich auf der Hauptplatine in der Nähe des Prozessors befindet) deutlich schneller als der Zugriff auf einen Datenträger erfolgt.

In-Memory-Datenbanken werden häufig zum Speichern von Kopien von Informationen verwendet, auf die häufig zugegriffen wird, z. B. für Preis- oder Bestandsdaten. Dies wird als Caching bezeichnet. Wenn Sie Daten zwischenspeichern, speichern Sie eine Kopie der Daten in einem temporären Speicherort, damit sie beim nächsten Aufruf schneller geladen werden. Erfahren Sie mehr über das Caching.

Datenbankbeispiele

Datenbanken mögen wie unverständliche Mysterien erscheinen, aber die meisten Menschen interagieren tagtäglich mit ihnen. Hier finden Sie einige gängige Beispiele für relationale Datenbanken, NoSQL-Datenbanken und In-Memory-Datenbanken:

Finanztransaktionen

Banken verwenden Datenbanken, um die Kundentransaktionen nachzuverfolgen. Dies umfasst alle Vorgänge: vom Abrufen des Kontostands bis hin zu Überweisungen zwischen Konten. Diese Transaktionen müssen nahezu sofort erfolgen, und die Daten für große Mengen von Transaktionen müssen stets auf dem neuesten Stand sein. Für diese Zwecke nutzen Banken Online-Transaktionsverarbeitungssysteme, die mit relationalen Datenbanken erstellt werden, die die große Menge von Kunden und die häufigen Datenänderungen durch Transaktionen verarbeiten können sowie schnelle Antwortzeiten bieten.

E-Commerce-Kataloge

Wenn Sie eine E-Commerce-Website besitzen, enthält Ihr Katalog einzelne Produkte, die jeweils eine eigene Vielzahl von Attributen besitzen. Eine dokumentorientierte Datenbank – ein Beispiel für eine nicht relationale Datenbank – verwendet einzelne Dokumente, die alle Attribute eines Produkts beschreiben. Sie können die Attribute im Dokument ändern, ohne dass sich diese Änderungen auf Ihre anderen Produkte auswirken. In-Memory-Datenbanken werden häufig zum Zwischenspeichern von E-Commerce-Daten verwendet, auf die häufig zugegriffen wird, z. B. Bestands- und Preisdaten, um den Datenabruf zu beschleunigen und die Last für die Datenbank zu senken.

Soziale Netzwerke

Wenn Sie einem sozialen Netzwerk beitreten, werden Ihre Informationen zu einer nicht relationalen Datenbank hinzugefügt, die alle Benutzer des Netzwerks umfasst. Wenn Sie mit anderen Personen in diesem Netzwerk in Verbindung treten, werden Sie Teil eines sogenannten „Social Graphs“. Daher können Sie eine gefilterte Liste Ihrer Freunde oder beruflichen Kontakte anzeigen und neue Personen finden, die Ihre Freunde und Kontakte kennen.

Personalisierte Ergebnisse

Nicht relationale Datenbanken unterstützen die Onlinepersonalisierung, die so weit verbreitet ist, dass Sie sie möglicherweise gar nicht wahrnehmen. Wenn Sie einen Flug über eine Reisewebsite buchen, werden Ihnen auch Optionen zum Buchen von Hotels und Leihwägen angezeigt. Die Datenbank der Website enthält eine Vielzahl unstrukturierter Informationen – Details zu Ihrem Flug, Ihre Reisevorlieben, vorherige Buchungen von Leihwägen und Hotels – die dazu verwendet werden, Ihnen personalisierte Vorschläge zu bieten, um Ihnen Zeit, Geld oder Aufwand zu sparen. In-Memory-Datenbanken werden ebenso als Sitzungsspeicher verwendet, um temporäre Benutzerdaten während der Verwendung der Anwendung effizient zu speichern, z. B. Sucheinstellungen oder Warenkörbe.

Business Analytics

Wenn Organisationen Erkenntnisse aus ihren eigenen Daten gewinnen möchten, unterstützen relationale Datenbanken sie bei der Verwaltung ihrer Analysen. Ein Technologie-Helpdesk könnte Kundenprobleme beispielsweise in unterschiedlichen Dimensionen nachverfolgen. Dazu gehören unter anderem der Problemtyp, der Zeitaufwand zum Lösen des Problems und die Kundenzufriedenheit. Eine relationale Datenbank mit einer Tabellenstruktur organisiert Kundenproblemdaten immer anhand von zwei Dimensionen – allerdings wird ein Online-Analyseverarbeitungssystem verwendet. Der Helpdesk kann mehrere Tabellen gleichzeitig betrachten, wodurch die multidimensionale Analyse zum Verarbeiten großer Datenmengen mit hohen Geschwindigkeiten ermöglicht wird.

Datenbankverwaltungssysteme

Datenbankadministratoren nutzen Datenbankverwaltungssysteme zum Steuern von Daten – insbesondere, wenn sie mit Big Data arbeiten. Big Data stellen große Mengen strukturierter und nicht strukturierter Daten dar, die häufig in Echtzeit oder in Quasi-Echtzeit vom System empfangen werden. Ein Datenbankverwaltungssystem unterstützt auch die Verwaltung von Daten, die in mehreren Anwendungen verwendet werden oder sich an mehreren Standorten befinden.

Verschiedene Verwaltungssysteme bieten ein unterschiedliches Maß an Organisation, Skalierbarkeit und Nutzung. Neben der Art der Daten, die Sie organisieren möchten, und des gewünschten Zugriffstyps, hängt das zu verwendende Datenbankverwaltungssystem auch davon ab, wo sich Ihre Daten befinden, welche Art von Architektur Ihre Datenbank nutzt und wie Sie die Skalierung planen.

Speichern Sie Ihre Daten lokal, in der Cloud oder in beiden Umgebungen?

Bei lokalen Datenbanken befinden sich die Daten auf privater Hardware vor Ort (diese wird häufig als private Cloud bezeichnet). Zum Hinzufügen von Datenkapazität müssen Datenbankadministratoren entweder sicherstellen, dass die Server vor Ort über ausreichend Speicherplatz verfügen, oder ihre Infrastruktur mit neuer Hardware erweitern, um für mehr Speicherplatz zu sorgen.

Bei cloudbasierten Datenbanken befinden sich strukturierte oder unstrukturierte Daten auf einer privaten, öffentlichen oder Hybrid-Cloud-Computing-Plattform (eine Plattform, die privaten und öffentlichen Cloudspeicher kombiniert). Da Clouddatenbanken für virtuelle Umgebungen konzipiert sind, sind sie sowohl hochgradig skalierbar als auch hochverfügbar. Außerdem tragen sie zur Kostensenkung bei, da Sie nicht so viel Hardware kaufen müssen und nur für die Speicherressourcen zahlen, die Sie verwenden.

Handelt es sich bei Ihrer Datenbankarchitektur um eine zentralisierte Datenbank, eine verteilte Datenbank oder eine Verbunddatenbank?

In einer zentralisierten Datenbank werden alle Daten in einem System an einem Ort gespeichert. Dieses System stellt den Zugriffspunkt für alle Benutzer dar.

Eine verteilte Datenbank kann sowohl relationale als auch nicht relationale Datenbanktypen umfassen. In verteilten Datenbanken werden die Daten an mehreren physischen Standorten entweder auf mehreren lokalen Computern gespeichert oder auf ein Netzwerk miteinander verbundener Computer verteilt.

In einer Verbunddatenbank werden mehrere unterschiedliche Datenbanken, die auf unabhängigen Servern ausgeführt werden, zu einem großen Objekt vereinheitlicht. Eine Blockchain stellt eine Art von Verbunddatenbank dar, die dazu verwendet wird, finanzielle Ledger und andere Transaktionsdatensätze sicher zu verwalten.

Erzielen Sie Wachstum mit Ihren Daten durch Hochskalierung oder Aufskalierung?

Das Hoch- oder Herunterskalieren (auch als vertikale Skalierung bezeichnet) beschreibt den Prozess zum Hinzufügen bzw. Entfernen von Ressourcen, z. B. Arbeitsspeicher oder leistungsstärkerer CPUs, zu einem vorhandenen Server.

Beim Aufskalieren bzw. Abskalieren (auch als horizontale Skalierung bezeichnet) werden weitere Computer zu Ihrem Ressourcenpool hinzugefügt bzw. aus diesem entfernt.

Mithilfe einer horizontalen anstelle einer vertikalen Skalierung wird der Lebenszyklus der vorhandenen Hardware erweitert, Ihnen wird das anbieterunabhängige Durchführen von Upgrades ermöglicht, die Kosten werden reduziert, und ein langfristiges Flexibilitätspotenzial wird geschaffen.

Azure-Datenbanken

Vereinfachen Sie Ihre Datenvorgänge mit vollständig verwalteten Datenbanken, die die Skalierbarkeit, Verfügbarkeit und Sicherheit automatisieren. Wählen Sie aus relationalen Datenbanken, NoSQL-Datenbanken und In-Memory-Datenbanken aus, die proprietäre sowie Open-Source-Engines umfassen.

Informationen zu Datenbanken der Azure SQL-Familie

Vereinheitlichen Sie Ihr SQL-Portfolio ohne Einbußen bei der Kompatibilität. Sie können Anwendungen auf Ihre Weise mithilfe vertrauter SQL Server-Technologie vom Edge zur Cloud migrieren, modernisieren und bereitstellen.

Sorglose Skalierung mit Azure Database for PostgreSQL

Mit Azure Database for PostgreSQL können Sie Ihre Workload schnell und zuversichtlich mit Hochverfügbarkeit, KI-gestützter Leistungsoptimierung und erweiterter Sicherheit skalieren.

Weitere Informationen zu Azure PostgreSQL

Entwickeln Sie leistungsstarke Apps mit Azure Cosmos DB

Azure Cosmos DB ist eine vollständig verwaltete NoSQL-Datenbank mit offenen APIs und garantierter Geschwindigkeit in beliebiger Größenordnung.

Mehr über Azure Cosmos DB erfahren

Hohen Datenverkehr mit Azure Cache for Redis effizient verarbeiten

Mit Azure Cache for Redis können Sie Tausende gleichzeitiger Benutzer mit nahezu sofortiger Geschwindigkeit verarbeiten, indem Sie eine Ebene für die schnelle Zwischenspeicherung zur Architektur Ihrer App hinzufügen.

Weitere Informationen zu Azure Cache for Redis