hamsterdb: release 2.1.0

March 2nd, 2013

This release has some performance improvements (mostly related to improvements in mmap-related code) and finally allows using Transactions with In-Memory environments. And there are myriads of API changes which will require you to change your code. See the README for details.

Here’s the announcement:
https://groups.google.com/forum/?fromgroups=#!topic/hamsterdb-announce/m53Nphpio-E

And here are the files:
http://hamsterdb.com/download

chris Coding, hamsterdb, Libraries

hamsterdb used in Obama’s campaign

December 8th, 2012

Obama’s team used CloudOpt’s CloudOptimizer, which accelerates uploads
to various cloud providers including Amazon Web Services, Rackspace and others.

CloudOptimizer uses hamsterdb for managing their data. In fact, CloudOpt is one of hamsterdb’s largest commercial users.

Read more about CloudOpt and their products: http://www.cloudopt.com.

Read more about hamsterdb: http://hamsterdb.com.

Read more about Obama’s campain and the technology they used: http://arstechnica.com/information-technology/2012/11/how-team-obamas-tech-efficiency-left-romney-it-in-dust/

chris Coding, hamsterdb

hamsterdb: release 2.0.5

December 1st, 2012

This release fixes a few minor bugs, has a few performance improvements and fixes a segmentation fault in the .NET API.

Also, the internal C++ implementation moved into namespace “ham” to avoid conflicts with other symbols.

Files, README and Changelog are ready for download here.

This is quite a “small” release but under the hood the refactoring is ongoing and will result in a next release with many API changes. Over the last 7 years the hamsterdb API has been stable (with only 2 minor changes). It’s about time to clean up some things, get more consistent function names, remove deprecated functions and get rid of functionality that is not used (i.e. AES compression, zlib compression). All in all i hope i can remove about 10% of the code base without really affecting the functionality. It will require that users change their code, though, but the changes won’t be overwhelming.

In addition there are several performance fixes on the TODO list for the next two releases. The mmap implementation will be rewritten, and the freelist will be replaced with a newer implementation which will be faster and result in smaller files as well. The new freelist will require a new file format, therefore databases in 2.0.6 will be incompatible with those of earlier releases (and vice versa). The migration path will be via a command line tool to dump a database into json or another format, and second tool to import this exported data into a database. But i’m open for suggestions and interested in hearing your opinions.

chris Coding, Databases, hamsterdb

hamsterdb: release 2.0.4

July 23rd, 2012

This release fixes several issues including a segmentation fault, a few misplaced asserts and a data corruption. It is highly recommended to upgrade.

The number of serious issues that was reported to me over the last couple of weeks was quite astonishing, but on the other hand i had so much encouraging help from those who reported the bugs. Many helped in reproducing and they were really patient. Thanks everyone!

The most serious bug created a data corruption because the first freelist page in the database sometimes was not flushed to disk. This issue was not noticed over the last few years and my tests did not catch it. Now they do.

Everything’s available for download – including 130 megabytes of precompiled Win32/Win64 libraries (for MSVC 2008 and MSVC 2010).
http://www.hamsterdb.com/download

chris Coding, Databases, hamsterdb, Libraries

hamsterdb: release 2.0.3

June 25th, 2012

Next release – a tough one because i was swamped in work and really had troubles getting hamsterdb to run in Visual Studio 2010. What was supposed to be finished in 30 minutes then took about two weeks till it worked as expected.

Other changes include bug fixes at compilation time and link time, and a nasty bug which produced corrupt files: an important fsync was missing when flushing the log and the database file to disk. I hope that’s the last of these issues – they’re notoriously hard to test (and fix).

Files are available for download here: http://hamsterdb.com/download.

chris Coding, Databases, hamsterdb, Libraries

hamsterdb: release 2.0.2

April 27th, 2012

Just a quick note that i released 2.0.2; hamsterdb is now threadsafe.

It’s not yet concurrent and there’s only one big mutex for every Environment that you create. The next release will introduce a more fine-grained locking.

Also, a bug in the freelist was fixed therefore i recommend to update, even if you are not interested in thread-safety.

Boost is now required for building.

Files are available for download here: http://hamsterdb.com/download.

chris Coding, Databases, hamsterdb, Libraries

hamsterdb: release 2.0.1

February 19th, 2012

This release 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.

New Features

Approximate matching now works if Transactions are enabled (only for ham_find)
Added new parameter HAM_PARAM_LOG_DIRECTORY to specify the directory where the log file and the journal files are stored

Bugfixes

Win32 release builds no longer crash when using Transactions
Win32: fixed build issue if HAM_DISABLE_COMPRESSION is defined (thanks, Andy Thalmann (http://www.softdev.ch))
hamsterdb 2.0.0 failed to load database files created with hamsterdb 1.x because of a bad version check
Fixed bug where HAM_ONLY_DUPLICATES was ignored when used in a Transaction (thanks, Mark Ruijter)

Other Changes

The internal ham_device_t structure was rewritten as a C++ class. If you use this structure to overwrite the device handling then you have to rewrite your code.
Now using the native Win32 API for os_pwrite and os_pread (thanks, Andy Thalmann (http://www.softdev.ch))
Added a public macro HAM_API_REVISION to allow users to programmatically distinguish between new and old interface of ham_txn_begin

Files are available for download here: http://hamsterdb.com/download.

chris Coding, Databases, hamsterdb, Libraries

hamsterdb: release 2.0.0 (stable!)

January 22nd, 2012

After 1.5 years of work and 3 beta-releases I’m really happy to announce that 2.0.0 is finally stable!

Compared to rc3, a few minor performance improvements were added. Also, the interface of ham_txn_begin was changed. This is more or less the first API change since 1.0. I wrote a short migration guide.

Additionally, i added the Java and .NET APIs to the main repository. The Python API will follow with one of the next releases. This will basically force me to always keep them up-to-date. They were neglected for quite a long time.

And finally the webpage was redesigned. Have a look and tell me if you like it!

chris Coding, Databases, hamsterdb

hamsterdb: release 2.0.0.rc3

November 29th, 2011

Another stabilization release of the 2.0.0 branch – the last few known issues were fixed, and performance was improved.
The next release might already be the final 2.0.0 release. It will feature more performance improvements (i will get rid of the physical log for most of the transactional operations), more refactoring and most likely some small API changes. The file format will continue to be compatible to 1.x and the ABI will also be compatible (the header file will change, the library interface not.)

Everything’s available for download, including precompiled win32 libraries.
http://hamsterdb.com/download.

Even when 2.0 is stable i will continue to maintain 1.x over the next few years (at least).

chris Coding, hamsterdb, Libraries

hamsterdb: release 1.1.15

November 8th, 2011

This is a minor bug fix release.

The bug was a type conversion of the cache size to a 32bit value. If you use cache sizes > 2 GB then you should upgrade. If not then you can skip this release.

Get the new files here: here.

chris Coding, Databases, hamsterdb, Libraries