I’m really happy (and a little bit proud) that Tony Bain mentions hamsterdb in his newest post.
What else is on the plate? I’m currently merging lots of patches submitted by Ger Holland with bug fixes, performance improvements and new functionality (“Approximate Matching”) form hamsterdb Embedded Database. I hope we can make a release in the next two weeks.
Afterwards, i’ll work on the next release for hamsterdb Transactional Database – performance improvements and reclaiming deleted disk space.
I’m really happy to announce the first release of hamsterdb Transactional Storage – an ACID compliant, concurrent key/value store.In a nutshell:
- ACID compliant transactions in a lock-free architecture; Transactions do not hold locks during their life-time. Conflicts are resolved in memory, without accessing the disk
- Fast; performance-relevant functions are moved to the background
- Logical, idempotent logging and Recovery
- Multithreaded; every handle can be used from arbitrary threads
- portable ANSI-C code (Linux/Unix/Win32)
- Easy to use
Early adaptors can download it here:
The linux/unix version is stable – but win32 still has some issues (although it works most of the time). This release is not intended for production use.
The next releases will improve performance, improve win32 and add more features. See the TODO file in the source package for more details.
I also wrote a Whitepaper to explain the architecture of hamsterdb Transactional Storage. It’s available for download here:
Coding, hamsterdb, Libraries
I decided to rename hamsterdb to “hamsterdb Embedded Storage” and hamsterdb2 to “hamsterdb Transactional Storage”. hamsterdb2 was never intended to replace the previous hamsterdb. Instead, both will coexist in parallel because they’re targeting completely different markets.
hamsterdb Embedded Storage concentrates on raw performance and a high level of configurability. It will run great on embedded devices and high-speed applications.
hamsterdb Transactional Storage is meant to run on modern hardware with multi-core CPUs, lots of RAM and is suited for applications which are in need of ACID compliant transactions.
I hope the new names will make it clear that both libraries will coexist and live on.
Currently a lot of brouhaha is generated around NoSQL databases. If you’re interested, here are some meeting points:
NoSQL LinkedIn Group: http://www.linkedin.com/groups?home=&gid=2085042&trk=anet_ug_hm
NoSQL Google Group: http://groups.google.com/group/nosql-discussion
Highavailability.com featuring this week’s best blog entry title: “It must be crap on relational databases week”:
And from the other side – Curt Monash on NoSQL (BI point of view): http://www.dbms2.com/2009/07/01/nosql-sql-alternative/