hamsterdb

Software Screenshot:
hamsterdb
Software Details:
Version: 2.1.8
Upload Date: 17 Feb 15
Developer: Christoph Rupp
Distribution Type: Freeware
Downloads: 1

Rating: nan/5 (Total Votes: 0)

hamsterdb is an open source, lightweight, embedded and cross-platform database engine software written in ANSI C and designed to act as a "NoSQL" key-value store that supports a B+Tree index structure.

Features at a glance

Key features include support for ACID (Atomicity, Consistency, Isolation, Durability) transactions, supports partial reads and writes, support for transparent AES (Advanced Encryption Standard) encryption, CRC32 verification support, and SIMD (Single instruction, multiple data) hardware support.

In addition, it supports record-number databases, in-memory databases for ephemeral data, duplicate keys, transparent compression for the transactional journal, keys and records, analytical functions for COUNT DISTINCT, SUM, COUNT and AVERAGE, as well as remote network support through Protocol Buffers.

hamsterdb provides the high performance, scalability and stability needed by all app developers. It uses memory mapped I/O, and supports in-memory databases. In addition, the software offers configurable cache and page size, uses 64-bit file pointers, it’s Indian-independent, comes with APIs for the C, C++, .NET, Java, Python and Erlang programming languages.

Under the hood and supported OSes

This is a platform-independent software, designed to run on all GNU/Linux distributions, as well as on the Microsoft Windows and Mac OS X operating systems. It is written entirely in the C++ programming language.

Getting started with hamsterdb

To optimize and install hamsterdb on your GNU/Linux distribution, you should download the universal sources archive distributed on Softoware free of charge, extract it on a location of your choice, open a terminal emulator and navigate to the location of the extracted files.

Execute the “./configure && make” command (without quotes) to configure and compile the project for your hardware architecture, 32-bit or 64-bit. When the compilation process finishes, which will take some time, you can install the software system wide by running the “make install” command (without quotes) as root.

What is new in this release:

  • New Features:
  • Adding the new "hola" API - hamsterdb analytical functions for COUNT, SUM, AVERAGE etc. See ham/hamsterdb_ola.h for the declarations
  • Added new API ham_cursor_get_duplicate_position
  • A new Python API was added
  • Bugfixes:
  • issue #33: upgraded to libuv 0.11.22
  • Fixing a performance regression in 2.1.7 - large fixed-length keys created too many page splits, even if they were stored as extended keys
  • Other Changes:
  • The database format no longer tries to be endian agnostic; the database is now stored in host endian format. The endian agnostic code was broken anyway, and I had no hardware to test it.
  • ham_db_get_error is now deprecated
  • header files no longer include winsock.h to avoid conflicts with winsock2.h on Windows platforms
  • Both btree layouts have been completely rewritten; PAX KeyLists can now be used in combination with duplicate RecordLists, and variable length KeyLists can now be used in combination with PAX RecordLists
  • Avoiding Btree splits if keys are appended (HAM_HINT_APPEND)
  • The internal communication with the remote server now uses a different protocol which is faster than google's protobuffer
  • PAX layout now uses linear search for small ranges; this improves search performance by 5-10%
  • Removed the ham_get_license API (and serial.h)

What is new in version 2.1.5:

  • This release fixes several bugs and improves performance. Also, hamsterdb now scales much better if the file size grows beyond several gigabytes.

What is new in version 2.1.4:

  • This release adds custom Btree layouts for variable length keys and duplicate keys. Also, small records are now stored directly in the Btree leaf node, instead of an external blob.

What is new in version 2.0.5:

  • This version fixes a few minor bugs, has a few performance improvements, and fixes a segmentation fault in the .NET API.
  • The internal C++ implementation has been moved into namespace "ham" to avoid conflicts with other symbols.
  • Please check the README for upcoming API changes in the next release.

What is new in version 2.0.3:

  • This version fixes several bugs and adds support for Microsoft's Visual Studio 2010.
  • The legacy file format of hamsterdb 1.0.9 and older is no longer supported.
  • Sources and precompiled libraries for Win32 (x86 and x64) are available for download.

What is new in version 2.0.2:

  • This version makes hamsterdb thread-safe.
  • A bug in the freelist was fixed.
  • Boost is now required.
  • Sources and pre-compiled win32/win64 libraries are available for download.

What is new in version 2.0.1:

  • This version adds a few minor features like setting a custom path for log files and re-enabling approximate matching for use with Transactions.
  • A few bugs were fixed as well.
  • Sources and precompiled Win32/Win64 libraries are available for download.

What is new in version 2.0.0:

  • 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.

What is new in version 2.0.0 RC3:

  • This version 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.

Similar Software

Comments to hamsterdb

Comments not found
Add Comment
Turn on images!