Launching HailDB

HailDB is a relational database that is embeddable within applications. You embed HailDB by linking to a shared library and calling a clean and simple API. HailDB is a continuation of the Embedded InnoDB project. It is not itself a database server, but is a library implementing the storage layer. With the addition of the HailDB plugin to Drizzle you get a full SQL interface.

Q: Why name it HailDB?

A: Hail comes from clouds.

Q: No, really?

A: Hail is solid. (we also wish to have some distinction from InnoDB and avoid any even remote possibility of trademark issues).

Q: Why exist at all?

A: InnoDB development is currently a rather closed process with code only seeing the outside world every 4 to 7 months. We work on a much faster schedule and want to be able to incorporate fixes and use them in Drizzle on a much shorter timeframe.

Q: Are HailDB changes going back to Embedded InnoDB?

A: It is not in our interest to diverge a lot from the upstream project as that creates more work for us.

Q: Is this a reaction to Embedded InnoDB being “under review” and lagging behind InnoDB Plugin ?

A: Partly.

Q: Does the InnoDB team know that we’re doing this?

A: Yes, we’ve spoken to some people on the InnoDB team at Oracle.

Q: Are you compiling with all compiler warnings?

A: We use pandora-build, and get all compiler warnings. There are a lot of them.

Q: What are your plans?

A: In the short term we see improvements in the performance and capability of the Embedded InnoDB API, improvements in the build system, integration of XtraBackup and packaging.

We are working on a Storage Engine for Drizzle that speaks the HailDB API. This will be as performant and featureful as the current Innobase plugin in Drizzle.

Q: Where can I get it?

A: Development is done through HailDB on Launchpad.

Q: Is it a company?

No. It’s a free and open source software project

4 Responses to “Launching HailDB”

  1. Eric Bergen says:

    Hail causes about a billion dollars of property damage per year in the US.

    Interesting idea though. Why does it need to be a separate project instead of just drizzle’s default storage engine?

  2. Stewart Smith says:

    By providing a shared library we get a nice layering between the SQL front end (Drizzle) and the raw storage (HailDB). It also enables embedded apps that are much closer to the storage instead of having to use a SQL interface.

  3. says:

    […] HailDB engine = embedded Innodb, but better […]

Leave a Response