hamsterdb Embedded Storage is an embedded database engine written in ANSI-C. It includes B+Trees with variable length keys and records. It supports in-memory databases and endian-independent files, database cursors, multiple databases in one file, "record number" databases, and duplicate keys. hamsterdb is very fast and highly configurable. It compiles and runs on Unix platforms, Linux, Microsoft Windows, and Windows CE.
| Tags | Database Database Engines/Servers API Software Development Libraries |
|---|---|
| Licenses | GPLv2 GPLv3 |
| Operating Systems | Windows Windows Windows CE POSIX Unix Mac OS X |
| Implementation | C C++ |
Recent releases


Release Notes: This is the first stable release of the 2.x branch. It features a complete re-implementation of the Transaction support, now allowing an unlimited number of Transactions in parallel. It integrates the Java and .NET APIs. Sources, documentation, and prebuilt libraries for Win32 (including .NET and Java) are available on the (redesigned) webpage.


Release Notes: This release further stabilizes the 2.x branch and fixes all known issues from the previous rc2 release. Performance was improved in many areas. Sources and precompiled Win32 libraries are available for download on the Web page.


Release Notes: This release improves performance and scalability for databases with several million items. It fixes a bug when erasing extended keys caused an SMO (btree re-balancing). A new function ham_cursor_get_record_size was introduced. The cache size is now a 64-bit variable and can be > 4 GB. Large files were enabled on 32-bit Linux.


Release Notes: This is the first stabilization release of the new (unstable) 2.0.0 branch, which re-implemented the Transaction handling. Several bugs were fixed, and most of the code was refactored. A C++ compiler is now required to compile hamsterdb. All new features and bugfixes of 1.1.14 (will be released soon) were merged. This release is not ready for production. There will be at least one more stabilization release.


Release Notes: This release fixes a performance regression when aborting Transactions. During abort, hamsterdb tried to re-create pages from the transaction log, even if they were not modified in the current Transaction. This was correct but unnecessary and caused a performance drop. Sources and precompiled Win32 binaries are available for download.