Unlike other key-value databases, hamsterdb knows about the type of the keys and will use that information to optimize storage and algorithms. A database storing integer keys uses a completely different memory layout than variable length binary keys. This memory layout drastically reduces the file size, reduces I/O, increases performance and improves scalability.
Licensinghamsterdb is licensed under the Apache Public License 2.0 and can be used freely for any purpose, including distribution and modification in closed source, commercial applications. hamsterdb pro is the commercial sibling of hamsterdb, offering additional features like AES encryption, transparent compression and SIMD hardware support.
PortabilityWritten in standard C/C++, hamsterdb runs, or has been reported to run, on many architectures: Intel-compatible (x86, x64), PowerPC, SPARC, ARM, RISC and others. Supported operating systems are Microsoft Windows, Linux, MacOS, but Android and iOS were also reported to work.
High PerformanceFast algorithms and data structures guarantee high performance for all scenarios. The implementation of these algorithms minimizes disk access and operating system calls (i.e. memory allocations). Data structures try to take advantage of modern CPU caches and store your data optimized for analytical workloads.
Feature Richhamsterdb is slim and lightweight and still offers all the features that you would expect from an embedded database, including transactions, recovery, cursors, in-memory databases, duplicate keys, auto-incrementing keys ("Record numbers"), remote databases with an embeddable http-based server (or a standalone http daemon) and many other features.
Production Proofhamsterdb has a mature code base which is in development since 2004. Each release has to pass an excessive test cycle consisting of static code analysis, dynamic memory tracing, more than 1700 unittests, 40000 acceptance tests and additional performance benchmarks. Applications using hamsterdb are deployed on tens of millions of desktops, but also on cloud instances, cell phones and other embedded devices.
Ease of UseThe hamsterdb API is simple and self-documenting. Extensive documentation, FAQ and a tutorial are provided. The interface is similar to other widely-used database engines. APIs for Java, .NET (i.e. C#, VB.NET) and Erlang are also available.