As you may be aware, there has not been a HailDB release for several years now, the last one being 2.3.2 in 2011. Since then, many things have changed. InnoDB has come a long way, and quite simply, I have not had the time to put into HailDB to update the InnoDB on which it is based.
It’s time to declare it: HailDB is no longer going to be maintained.
HailDB was a project to pick up where embedded_innodb left off, bringing the benefits of InnoDB to any software project that needed a transactional data store, with a nice and clean C API.
Since embedded_innodb and HailDB, there have been a number of other high quality transactional databases follow the “keep the core database engine in its own library” design pattern, and I encourage any remaining HailDB users to look at these.
If you are looking for an embedded database library, have a look at:
It is unfortunate that InnoDB development has moved away from providing InnoDB as a shared library. The original embedded_innodb project and then HailDB attempted to bring the benefits of the InnoDB engine to a larger audience while with HailDB and Drizzle, provide a good clean interface between the SQL server and the storage engine.
I am not planning any future updates to HailDB, although will happily transfer the domain and Launchpad accounts over to anyone who wants to continue development or maintenance.
Sunny Gleason’s talk at the MySQL Conference that talks about building a high performance REST enabled storage service on top of HailDB are up on slideshare: http://www.slideshare.net/sunnygleason/highperformance-storage-services-with-haildb-and-java
Stewart’s slides from the talk he gave at the MySQL Conference and Expo are up on slideshare: HailDB: A NoSQL API Direct to InnoDB.
We’ve just released HailDB 2.3.2! It brings the following improvements:
- Using doxygen to generate API documentation (available for download)
- API for forcing table statistics update now available
- Index Statistics API available
- various bug fixes
We’re still calling 2.3 a development series, although it is incredibly solid.
Download Source Tarball
You can also grab a PDF of the Doxygen generated API Documentation or in HTML.
Padraig has gotten some preliminary Ruby bindings for HailDB up on github. Check them out, feedback is very much appreciated!
I’ve just uploaded some doxygen generated API documentation for HailDB. It’s based on the current development tree (2.3.2-cairo). It includes a bit on the new APIs introduced in HailDB over embedded_innodb.
See HTML, or PDF.
We have a new developer release of HailDB out! This is in the 2.3 series, named ‘athens’. It brings a number of new things to HailDB:
- When hitting a constraint violation (duplicate key), HailDB returns which key was violated for more sensible error messages.
- HailDB provides an API to table statistics
- HailDB now properly registered to use trx_is_interrupted, which determines if the currently running transaction has been interrupted
- Merged code from Innodb 1.0.7 as included in MySQL 5.1.46
We’ll likely have two more developer releases before the next stable release of HailDB. Let us know if you have any problems!
Go to the Launchpad HailDB 2.3-athens page for a source tarball.
We’ve just released the 2.2.0 release! It was announced first on the Drizzle Blog last night. It’s a minor release, with some bug fixes since 2.1.0.
Head on over to the 2.2 page on launchpad to grab the source tarball.
We now continue work on the next release, which will have several new features along with improvements from the InnoDB tree since the last Embedded InnoDB release.
As you know, HailDB is based on the InnoDB Storage Engine (to be specific, currently based on the last release of Embedded InnoDB). It is the goal of HailDB to continue to provide an API to the InnoDB engine that can directly be used in applications (e.g. a database server such as Drizzle). There have been improvements in InnoDB in later MySQL releases, and we do aim to bring these to HailDB.
If you are interested in how various InnoDB (and hence HailDB) internals work, I’d recommend a few blogs:
HailDB source tarball, version 2.1.0 has been released.
NOTE: This release was delayed slightly to resolve some last-minute build issues.
In this release:
- ib_status_get_all – like ib_cfg_get_all (which gets a list of all configuration names available to get/set), but for status variables
- updated pandora-build to 0.141
- removed UNIV_STATIC, which is no longer used in the innodb plugin either
- removed WITH_ZIP
The HailDB download file can be found here