Bedrock als verteilte Datenbank

Stabile Grundlage

Mit einem kurzen Kommandozeilenbefehl startet eine verteilte, hochverfügbare Datenbank, die mit schwankenden Internetverbindungen zurechtkommt und zu MySQL kompatibel ist. Diesen Traum aller Administratoren möchte Bedrock wahr machen.
In der Dezember-Ausgabe beleuchtet IT-Administrator die Datenspeicherung in kleinen und mittleren Firmen. Darin zeigen wir unter anderem, welche neue ... (mehr)

Das amerikanische Unternehmen Expensify offeriert eigentlich Software zur Reisekostenabrechnung. Die Entwickler werkeln allerdings auch an einer quelloffenen und komplett kostenlosen Datenbank namens Bedrock [1]. Die lockt mit gleich mehreren spannenden Eigenschaften: Sie ist extrem einfach einzurichten, repliziert sich auf Wunsch über mehrere Server und nutzt zur Synchronisation eine Blockchain. Bedrock stellt dabei eine relationale Datenbank bereit, die das ACID-Prinzip erfüllt und SQL-Befehle entgegennimmt. Sie ist von Haus aus kompatibel mit SQLite und MySQL, entsprechende Clientprogramme lassen sich weiterverwenden. Dank ihres modularen Aufbaus dient sie zudem als Basis für andere Speicheranwendungen. Unter anderem lässt sich mit Bedrock eine verteilte Job Queue oder ein verteilter Cache implementieren.

Im Idealfall muss der Administrator auf jedem Server nur Bedrock starten und dabei die Hostnamen der Kollegen mit auf den Weg geben. Bedrock sorgt dann automatisch dafür, dass der Inhalt der Datenbank auf allen Servern zur Verfügung steht. Clientanwendungen können sich mit jedem beteiligten Bedrock-Server verbinden und auf den kompletten Datenbestand zugreifen. Dies macht Bedrock vor allem für Unternehmen interessant, die weltweit mehrere Geschäftsstellen oder Rechenzentren betreiben. Die verteilte Datenbank kommt sogar explizit mit Verbindungen zurecht, die unzuverlässig arbeiten oder nur eine geringe Bandbreite aufweisen.

Storage-Engine ist SQLite

Bedrock selbst kümmert sich lediglich um die Synchronisation und den Datenaustausch zwischen den eingespannten Servern. Dort schiebt Bedrock einfach sämtliche zu speichernden Daten in eine SQLite-Datenbank (Bild 1). Dies geschieht transparent, um das genaue Vorgehen muss sich der Administrator nicht weiter kümmern. Da SQLite als Bibliothek implementiert ist, läuft der Code direkt im Bedrock-Prozess und somit im

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019