Beiträge

Eine Datenbank ist eine organisierte Sammlung von elektronischen Daten. Der physischen Datenbank übergeordnet ist ein Datenbank Management System (DBMS). Das DBMS ist die Software, die mit Endbenutzern, Anwendungen und der Datenbank selbst interagiert, um die Daten zu erfassen, zu analysieren, verwalten oder zu löschen. Zusammen bilden diese beiden Komponenten ein Datenbanksystem (DBS).

Warenwirtschaftssysteme, Enterprise Ressource Planning (ERP) Software und CRM Systeme nutzen Datenbanksysteme im Hintergrund. Datenbanksysteme wie MariaDB und MySql installieren Internet Service Provider standardmäßig für das Hosting von Onlineshops und Content Management Systemen (CMS) wie WordPress oder Joomla.

Der Begriff Datenbank bezieht sich formal auf eine Reihe verwandter Daten und deren Organisation. Der Zugriff auf diese Daten wird normalerweise durch ein Datenbank Management System, abgekürzt DBMS bereitgestellt. Das DBMS ermöglicht Benutzern die Interaktion mit einer oder mehreren Datenbanken und den Zugriff auf die gespeicherten Daten. Aufgrund der engen Beziehung zwischen DBMS und Datenbank wird der Begriff „Datenbank“ häufig verwendet, um sich sowohl auf eine Datenbank als auch auf das DBMS zu beziehen, mit dem sie bearbeitet wird.

Funktionen des Datenbank Management Systems (DBMS)

Die vier Hauptfunktionen eines Datenbank Management Systems sind:

Datendefinition: Erstellen, Ändern und Entfernen von Definitionen, mit der die Organisation der Daten festgelegt wird

Update: Einfügen, Ändern und Löschen der Daten

Abruf: Bereitstellung von Informationen in einer direkt verwendbaren Form oder zur Weiterverarbeitung durch andere Anwendungen. Die abgerufenen Daten können in einer Form zur Verfügung gestellt werden, die im Wesentlichen dieselbe ist, wie sie in der Datenbank gespeichert ist, oder in einer neuen Form, die durch Ändern oder Kombinieren vorhandener Daten aus der Datenbank erzeugt wird.

Administration: Hierzu gehören die Registrierung und Überwachung von Benutzern, Durchsetzung der Datensicherheit, Überwachung der Leistung, Aufrechterhaltung der Datenintegrität, Handhabung der Parallelitätskontrolle und Wiederherstellung von Informationen, die durch ein Ereignis wie einen unerwarteten Systemfehler beschädigt wurden.

Arten von Datenbanksystemen

Ethernet

Die Benutzer eines Datenbanksystems müssen in der Lage sein, die darin enthaltenen Informationen jederzeit schnell zu manipulieren. Für große Unternehmen, die viele unabhängige Dateien mit verwandten und sich überschneidenden Daten aufbauen, ist häufig das Verknüpfen von Daten aus mehreren Dateien erforderlich. Zur Unterstützung unterschiedlicher Anforderungen wurden verschiedene Arten von DBMS entwickelt: flach, hierarchisch, verteilt, relational und objektorientiert.

Flache Datenbanken

In frühen Datenbanksystemen wurden die Daten sequenziell, das heißt alphabetisch, numerisch oder chronologisch gespeichert. Die Entwicklung von Speichermedien mit direktem Zugriff ermöglichte den wahlfreien Zugriff auf Daten über Indizes.

In flachen Datenbanken werden Datensätze nach einer einfachen Liste von Entitäten organisiert. Die Tabellen in diesen Datenbanken enthalten nur Daten und keine Verknüpfungen zu anderen Tabellen. Viele einfache Datenbanken für PCs sind flach aufgebaut.

Hierarchische Datenbanken

Die Datensätze in hierarchischen Datenbanken sind in einer baumartigen Struktur organisiert, wobei jede Datensatzebene in eine Reihe weiterer Kategorien verzweigt. Bei diesem Datenbanksystem wird die „Eltern-Kind-Beziehung“ zum Speichern von Daten verwendet.

Diese Art von Datenbanksystem wird heute nur selten verwendet. Die Struktur ähnelt einem Baum mit Knoten, die Datensätze darstellen, und Zweige, die Felder darstellen. Die Windows-Registrierung in Windows XP ist ein Beispiel für eine hierarchische Datenbank.

Verteilte Datenbanken

Hierbei handelt es sich um ein Datenbanksystem, in dem nicht alle Speichergeräte an einen gemeinsamen Prozessor angeschlossen sind. Eine verteilte Datenbank kann auf mehreren Computern gespeichert werden, die sich am selben physischen Ort befinden, oder über ein Netzwerk miteinander verbundener Computer verteilt sein. Im Gegensatz zu eng miteinander verbundenen Parallelsystemen, die ein einziges Datenbanksystem bilden, besteht ein verteiltes Datenbanksystem aus lose verbundenen Standorten, die keine physischen Komponenten gemeinsam nutzen.

Systemadministratoren können Datensammlungen an mehreren physischen Standorten verteilen. Eine verteilte Datenbank kann sich auf organisierten Netzwerkservern oder auf dezentralen unabhängigen Computern im Internet, in Intranets oder Extranets von Unternehmen oder in anderen Organisationsnetzwerken befinden. Da verteilte Datenbanksysteme Daten auf mehreren Computern speichern, können verteilte Datenbanken die Leistung an den Arbeitsplätzen der Endbenutzer verbessern.

Relationale Datenbanken

Eine relationale Datenbank basiert auf dem 1970 von E. F. Codd entwickelten relationalen Datenmodell. Im relationalen Datenmodell werden Daten in einer oder mehreren Tabellen, oder „Relationen“ aus Spalten und Zeilen organisiert. Jeder Zeile ist ein eindeutiger Schlüssel zugeordnet. Die Zeilen werden auch als Datensätze oder Tupel bezeichnet.

Die Spalten in einer relationalen Datenbank werden als Attribute bezeichnet. Im Allgemeinen stellt jede Tabelle / Relation einen „Entitätstyp“ dar, zum Beispiel einen Kunden oder ein Produkt. Die Zeilen repräsentieren Instanzen dieses Entitätstyps wie „Josef“ oder „Zündkerze“. Die Spalten repräsentieren Werte, die dieser Instanz zugeordnet sind – zum Beispiel die Adresse oder den Preis.

Ein Softwaresystem zum Verwalten relationaler Datenbanken ist ein relationales Datenbank Managenent System (RDBMS). Praktisch jede relationale Datenbank verwendet SQL (Structured Query Language) zur Abfrage und Pflege der Datenbank. Die bekanntesten relationalen Datenbanksysteme sind:

Oracle Database

Die Oracle Database Software, oft einfach als Oracle bezeichnet, ist ein Datenbankmanagementsystem mit mehreren Datenmodellen, das von der Oracle Corporation hergestellt und vermarktet wird.

MySQL

Dieses kostenlose Open Source-RDBMS, basiert auf Structured Query Language. MySQL läuft auf praktisch allen Plattformen, einschließlich Linux, UNIX und Windows.

MariaDB

MariaDB ist ebenfalls ein Open Source RDBMS, das aus MySQL hervorgegangen ist.

Microsoft SQL Server

Microsoft SQL Server, kurz MS-SQL, ist ein kostenpflichtiges RDBMS, das eine Vielzahl von Transaktionsverarbeitungs-, Business Intelligence– und Analyseanwendungen in Unternehmens-IT-Umgebungen unterstützt. MS-SQL ist unter Windows und Linux Systemen verfügbar.

PostgreSQL

PostgreSQL, oft einfach Postgres, ist ein objektrelationales Datenbankverwaltungssystem (ORDBMS), das den Schwerpunkt auf Erweiterbarkeit und Einhaltung von Standards legt.

DB2

DB2 von IBM ist ein Datenbanksystem, das große Datenmengen effizient speichern, analysieren und abrufen kann.

Objektorientierte Datenbanken

DatenbankEine Objektdatenbank ist ein Datenbankverwaltungssystem, in dem Informationen in Form von Objekten gespeichert werden, wie sie in der objektorientierten Programmierung verwendet werden. Objektdatenbanken unterscheiden sich von relationalen Datenbanken, die tabellenorientiert sind. Objektrelationale Datenbanken sind eine Mischung aus beiden Ansätzen.

Objektorientierte Datenbankverwaltungssysteme (OODBMS), auch ODBMS (Object Database Management System) genannt, kombinieren Datenbankfunktionen mit objektorientierten Programmiersprachenfunktionen. OODBMS ermöglichen objektorientierten Programmierern, ein Produkt zu entwickeln, als Objekte zu speichern und vorhandene Objekte zu replizieren oder zu modifizieren, um neue Objekte in der OODBMS zu erstellen.

Da die Datenbank in die Programmiersprache integriert ist, kann der Programmierer die Konsistenz innerhalb einer Umgebung aufrechterhalten, indem sowohl das OODBMS als auch die Programmiersprache dasselbe Repräsentationsmodell verwenden. Im Gegensatz dazu sorgen relationale DBMS für eine klarere Trennung zwischen Datenbankmodell und Anwendung. Beispiele für objektorientierte Datenbanken sind IRIS von Hewlett Packard und ORION von Microelectronics.

NoSQL Datenbanken

Als NoSQL Datenbanken im Sinne von „No“ oder kein SQL wurden ursprünglich Datenbanksysteme bezeichnet, die keinen SQL Zugriff auf die Daten ermöglichten. Seit etwa 2009 wird NoSQL im Sinne von „Not Only “ SQL (Nicht nur SQL) verwendet.

NoSQLDatenbank Management Systeme verfügen im Allgemeinen über kein starr definiertes Schema, wie die in die Datenbankeingefügten Daten typisiert und zusammengesetzt werden müssen. NoSQL-Datenbanken können schema-agnostisch sein, wodurch unstrukturierte und halb strukturierte Daten gespeichert und bearbeitet werden können.

NoSQL-Datenbanken werden zunehmend in Big-Data– und Echtzeit-Webanwendungen verwendet. Beispiele von NoSQL-Datenbanken sind Oracle NoSQL DatabaseRedisRiak und MongoDBMongoBD ist eine relativ junge Datenbankentwicklung, die die besten Eigenschaften relationaler Datenbanken beibehält und gleichzeitig die Vorteile von NoSQL nutztMongoDB ist eine dokumentenorientierte NoSQL-Datenbank, mit der User Sammlungen von JSON-ähnlichen Dokumenten verwalten können.

Blockchain Datenbank

Mit der Blockchain steht uns eine absolute Revolution im Bereich des World Wide Web ins Haus. Nachfolgend gibt es einen kleinen Überblick über das Geheimnis der Bitcoins sowie die möglichen Veränderungen unseres Lebens aufgrund dieser Entwicklungen.

Zwar hat der Begriff „Peer-to-Peer“ aufgrund von immer wiederkehrenden Problemen mit Themen wie Raubkopie, Abmahnung oder Piraterie zurzeit einen eher negativen Beigeschmack. Dennoch kann Bitcoin in diesem Zusammenhang den Stein wieder ordentlich ins Rollen bringen. Genauer gesagt geht es dabei um die Datenbank hinter den Bitcoins, die sogenannte Blockchain.

Dadurch könnte es zukünftig möglich sein frei von verbindlichen Verträgen, Ärger mit diversen Telekommunikationsanbietern sowie Kündigungsfristen zu agieren. Als Nutzer müsste dann schon bald nur noch die Zeit zwischen zweier Hotspots zahlen.

Das hat es mit Blockchain auf sich

Bitcoin BlockchainAuf den ersten Blick können die meisten Leute mit diesem Begriff vermutlich nicht sonderlich viel anfangen. Dabei verbirgt sich dahinter nicht viel mehr als das Grundgerüst der Kryptowährung Bitcoin. Es kann auch als eine Art „Erinnerung“ gesehen werden, die sämtliche Transaktionen zwischenspeichert, damit diese nicht in Vergessenheit geraten.

Der Vorteil solcher zusammenhängender Blöcke liegt dabei auf der Hand. Durch diese Log-Datei benötigen die Bitcoins keine Bank oder ein anderes Institut, sondern ermöglicht eben direkt die Transaktionen von A nach B. Dadurch sind schnelle und günstigere Überweisungen im Vergleich zu einer realen Währung möglich.

Eine Verteilung der Datenbank ist hierbei gegeben. Zwar ist es nichts Neues, das eine Erlaubnis zur Verteilung über mehrere Nodes vorhanden sein muss, damit alles einwandfrei funktioniert. Jetzt kommt aber der große Vorteil: Der Besitz einer Node ist nicht exklusiv und somit von Jedermann möglich. Auch muss zusätzlich kein Vertrauen unter den Nodes gegeben sein, damit konsistente Daten erhalten bleiben. Dieses sonst übliche Vertrauen wird seitens der Log-Datei durch ein „Proof-of-Work“ ersetzt, was hohe Kapazität und Ressourcen erfordert. Möglichen Manipulationen will man auf diese Art und Weise den Riegel vorschieben.

Revolution am Peer-to-Peer Sektor

Wahrscheinlich erinnert sich der ein oder andere noch an die Zeiten wo Wikileaks präsent war, als durch ein Einfrieren sämtlicher PayPal-Konten der Zufluss weiterer Gelder in Form von Spenden unmöglich gemacht wurde. Nachdem es in diesem Fall einen direkten Übergang der Kryptowährung vom Spender zum Empfänger geben würde, entfällt das Druckmittel, welches durch die Abwicklung über dritte Anbieter wie PayPal vorhanden gewesen ist.

Mit Bitcoins soll das Ende der Fahnenstange in diesem Bereich aber noch lange nicht erreicht sein. Es könnte ein vollkommen neues Zeitalter der Technologie hervorrufen.

Begrenzte Möglichkeiten vorhanden

Auch wenn viele Experten hier erst den Beginn eines viel Größeren sehen, gilt es die Euphorie in gewisser Weise etwas zu bremsen. Denn im Falle einer Änderung der Skalierung, geht eine Veränderung der Grundprinzipien des Bitcoins-Protokolls einher. Zudem mangelt es an einer Autorität, wodurch die notwendige Performance gar nicht gegeben wäre.

Letztendlich gibt es die Blokchain nur aus dem einzigen Grund, um eben dadurch die Kryptowährung Bitcoins ins Leben rufen zu können. Eine komplexe High-Tech-Lösung dahinter sucht man vergebens.

Blockchain dient als Bitcoins Grundstein

Kryptowährung Blockchain BitcoinWas eigentlich als großer Vorteil galt, wird bei genauerer Betrachtung zum ernsthaften Problem. Nämlich genau dann, wenn diese nicht wie ursprünglich vorgesehenen für buchhalterische Zwecke verwendet werden würde. Damit die Welt der Bitcoins am Leben gehalten wird, generieren deren Nutzer eben solche Blöcke, die für eine Interaktion zwischen den einzelnen Parteien notwendig sind. Womit wir auch schon wieder beim damit auftretenden Problem angekommen wären.

Damit eben diese Blockchain am Laufen gehalten werden kann, ist die Erschaffung von Blöcken Grundvoraussetzung. Würden diese Blöcke nämlich nicht mehr existieren, so würde das System letztendlich in sich zusammenbrechen. Dies wiederum ist der Grund dafür, warum sich die Entwickler eben die Kritik gefallen lassen müssen, dass die Bitcoin-Welt nach und nach zu einem oligarchischen System verkommt. Denn immer weniger Nutzer werden eine immer größere Menge an Bitcoins besitzen, während es für den Rest immer schwieriger werden dürfte solche zu bekommen. Zu früheren Zeitpunkten war die Generierung neuer Bitcoins deutlich einfacher, wodurch jene, die schon sehr früh Teil des Systems geworden sind, einen großen Vorteil besitzen. Neue Anwender müssen sich dagegen nun an die Hoffnung klammern, dass von diesen „Oligarchen“ kein Missbrauch des Systems vollzogen wird. Somit steht eben genau diese Entwicklung im Widerspruch zum eigentlichen Vorteil der Blockchain, nämlich dass man keiner Autorität Vertrauen entgegenbringen muss.

Kommen durch die Blockchain neue Innovationen voran?

Grundlegend lässt sich diese Frage wohl eher mit einem Nein beantworten, wobei in gewissen Anwendungsfällen durchaus diese Möglichkeit besteht. Im Moment ist die Blockchain nicht mehr als eine Plattform für Innovation, wobei erst in den kommenden Jahren und evtl. Jahrzehnten genau hervorgehen wird, welche Entwicklungen und Fortschritte diese mit sich bringt.

Selbiges Szenario gab es in der Branche bereits in den 1990er Jahren, wo TCP/IP seinen Ursprung hatte. Auch damals konnte niemand vorhersehen, in welche Richtung sich das World Wide Web entwickeln würde. Somit erscheinen diese neumodischen Verträge erst der Beginn einer neuen Ära zu sein.