analytical

hamsterdb is a transactional key-value database. It stores your data like modern column stores do – compact and optimized for analytical functions. hamsterdb is very fast, highly configurable, production proof and easy to use.

polyglot

hamsterdb is a C/C++ library that can also be used with Java, .NET, Erlang and other languages. Or you can connect remotely with google’s Protocol Buffers.

versatile

hamsterdb runs on a variety of platforms, including tablets and phones, desktop machines and cloud instances. All major operating systems are supported.

embedded

hamsterdb is directly linked into your application. It has zero deployment costs and no administrative overhead.

column store

hamsterdb uses column store features similar to modern enterprise databases. Use hamsterdb to build your own massive database optimized for your specific needs!


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.



Licensing
hamsterdb 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.
Portability
Written 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 Performance
Fast 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 Rich
hamsterdb 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 Proof
hamsterdb 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 Use
The 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.




UA-431090-1