Was sind die besten Erstellungs- und Nur-Lese-Datenbanken?

Dan Bernsteins cdb-Bibliothek (Constant Database) ist so viele Jahre älter als ElephantDB, dass sie aus der 32-Bit-Ära stammt, in der “4 Gigabyte für alle reichen sollten”.

Es ist in keiner Weise ein Konkurrent zu ElephantDB, aber es ist die kleinste eingebettete KVDB-Implementierung, die ich je gesehen und getestet habe. Wenn Sie also mit der 4-GB-Datenbankbeschränkung und dem skurrilen Eingabedatenformat leben können, möchten Sie vielleicht etwas geben es ist ein Versuch.

UPDATE: Es wurden mindestens zwei Versuche unternommen, um die 4-GB-Beschränkung von cdb zu beheben: cdb64 von Pierre Carrier und mcdb von Glenn Strauss. Ersteres scheint börkene Abandonware zu sein, das andere scheint mit> 4 GB Datensätzen gut zu funktionieren.

Das vielleicht interessanteste ist jedoch Spotifys eigener Sparkey, eine CKVDB-Bibliothek, die anscheinend auch in der Produktion kampferprobt wurde. Ich habe es selbst noch nicht benutzt, deshalb werde ich es nicht weiter kommentieren.

Der Begriff eines sstable (Was ist ein SSTable?), Den das Apache Cassandra-Projekt und google / leveldb verwenden, fällt mir ein. Ich bin mir jedoch nicht sicher, ob es dafür separate Bibliotheken gibt.

Das DiscoDB (DiscoDB Tutorial) verwendet eine unveränderliche Datenbank.

Die HDF Group – HDF5 kann auch von Interesse sein, wenn Sie Dateien für andere freigeben möchten. In Bezug auf die Lese-E / A-Geschwindigkeit weiß ich nichts über diese. Sie behaupten, dass es sehr effizient sein soll.