Projects / hamsterdb

hamsterdb

hamsterdb 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++

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  18 May 2009 09:55
  • Rrelease-after

    Changes: This release fixes a minor bug in ham_cursor_move; if the second parameter ("record") is NULL and compression is enabled, hamsterdb crashes. Also, the unittest-dependency to cppunit was removed.

    • Rrelease-mid
    •  03 Mar 2009 14:47
    • Rrelease-after

    Changes: This release fixes a major bug during ham_erase; if too many elements of a Database page are deleted, the page is merged with other pages. If extended keys are used, the overflow area of a key could get corrupted during this merge. Sources, changelog, and precompiled win32/win64 libraries are available for download.

    • Rrelease-mid
    •  26 Feb 2009 08:45
    • Rrelease-after

    Changes: This release fixes a bug on big-endian architectures where databases from little-endian architectures were not loaded correctly, and vice versa. A typo in the Tutorial was fixed. Sources and pre-built libraries are now available for Win32 and Win64.

    • Rrelease-mid
    •  24 Sep 2008 08:03
    • Rrelease-after

    Changes: This release adds a new flag, HAM_CACHE_UNLIMITED, which uses unlimited cache and is therefore nearly as fast as a pure in-memory database. Also, the unit tests now compile with gcc 4.3.x and glibc 2.8. The C++ API has a new function to assign keys with a template parameter. The ./configure script has a new option, --enable-system-zlib, to link against -lz instead of the zlib version which is provided with hamsterdb. Finally, the tutorial has a new chapter about Transaction support.

    • Rrelease-mid
    •  13 Aug 2008 17:42
    • Rrelease-after

    Changes: This release fixes several minor issues found by static code analysis tools. A bug in the command line tool ham_dump was fixed. hamsterdb was ported to the maemo.org SDK for ATMEL-based Nokia N810 cell phones. The C++ wrapper now supports the Transaction API. On Linux, the flag O_NOATIME is specified when opening or creating files. When closing the Environment or Database, a pending Transaction can now be auto-committed (HAM_AUTO_COMMIT).

    80ade402aa9e94826ee5fa4a3908393e_thumb

    Project Spotlight

    WebIssues

    An issue tracking and team collaboration system.

    7a40da9be16c1b02718bceca9950000b_thumb

    Project Spotlight

    ttyutils

    Utilities for the UNIX/Linux terminal.