Lightweight embeddable database engine
The hamsterdb API is simple and mostly self-documenting. Extensive documentation, FAQ and tutorials are provided. The interface is similar to other widely-used database engines.
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. Memory mapped file operations are preferred to the slower read/write I/O.
By changing page size, key size and cache size, hamsterdb can be tuned for any hardware platform. The minimum static memory footprint is just 55 kb, and the minimum memory allocated for a database is one page (the page size depends on the operating system, but can be overwritten by the user).
The cache size can be hard limited to any value (if the hard limit is reached, operations will fail with an "out of cache"-error; if a soft limit is reached, hamsterdb will temporarily resize the cache). Other parameters give the user the choice between data safety or higher performance.
- Very fast sorted B+Tree with variable length keys
- Can run as an in-memory database
- Very fast database cursors
- Supports duplicate keys
- Can handle multiple databases in one file
- Supports "record number" databases ("auto-increment")
- Configurable page size, cache size and index key size
- Portable ANSI-C implementation
- Runs on Linux, Unices, Microsoft Windows, Microsoft Windows CE
- Endian-independent file format
- Uses 64bit file pointers and supports huge files
- Easy to use and well-documented
- Open source and released under the GPL 2.0 or later
In a hurry? Add it to your Download Basket!
What's New in This Release:
- New Features:
- Added new parameter to set a file size limit - HAM_PARAM_FILE_SIZE_LIMIT
- Bug fixes: