Ein Key-Value Store ähnlich LevelDB und BerkeleyDB

HamsterDB

Redaktion JAXenter
© shutterstock.com/stock_shot
Titel

HamsterDB

Version

2.1.8

Erscheinungsdatum

13.7.2014

Hersteller

Christoph Rupp

Lizenz

Apache 2.0

Link

Ein Datenbanksystem, das man im Auge behalten sollte: HamsterDB ist ein transaktionaler Key-Value Store für den eingebetteten Einsatz, der für die analytische Datenverarbeitung optimiert wurde – vergleichbar mit einer spaltenorientierten Datenbank.

Das vor neun Jahren lancierte Datenbanksystem ermöglicht u. a. Verschlüsselung, Kompression und unterstützt SIMD-(Single Instruction, Multiple Data-)Hardwarearchitekturen. Entwickelt wird es von dem Münchener Christoph Rupp. HamsterDB kann nativ in C/C++ verwendet werden und bietet Anbindungen für Erlang, Python, Java, .NET und Ada.

Eine Besonderheit ist, dass die Art des Schlüssels, z. B. „Strings“ oder „64bit Integers“, definiert werden kann. Auch Schlüssel mit variabler Länge sowie Schlüssel-Duplikate werden unterstützt.

B-Baum-Datenstruktur

Die Daten werden in HamsterDB in einer B-Baum-Struktur abgelegt. Implementiert werden die B-Baum-Indizes mit C++-Templates. Sind Transaktionen zulässig, so wird zusätzlich ein „Transaktionsbaum“ erstellt. Die Struktur wird In-Memory gespeichert. Bei hinzukommenden Transaktionen werden die Updates mit dem persistenten B-Baum zusammengeführt, bei verworfenen Transaktionen schlicht die In-Memory-Strukturen gelöscht.

Besonderes Augenmerk lag bei der neunjährigen Entwicklung des Datenbanksystems auf Testbarkeit und Automatisierung, wie Christoph Rupp in einem neulich veröffentlichten Blogpost berichtet.

HamsterDB ist Apache-2-lizenziert und unter hamsterdb.com zu erreichen und herunterzuladen. Aktuell ist die Version 2.1.8. Eine kommerzielle Variante mit erweiterten Funktionen gibt es ebenfalls. 

Aufmacherbild: Cute Golden Hamster (Syrian Hamster) on a rock von shutterstock.com / Urheberrecht: stock_shot

Geschrieben von
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: