What is HiveDB?

HiveDB is an open source framework for horizontally partitioning MySQL systems. Building scalable and high performance MySQL-backed systems requires a good deal of expertise in designing the system and implementing the code. One of the main strategies for scaling MySQL is by partitioning your data across many servers. While it is not difficult to accomplish this, it is difficult to do it in such a way that the system is easily maintained and transparent to the developer.

Horizontal partitioning is not a new idea; far from it. It has been built and is in production by many different companies, but none of them yet have:

  • Built an easily extensible platform
  • Released the code as Open Source

HiveDB is an Open Source framework, built in Java, that implements the core ideas behind horizontal partitioning in a clear and concise way.


Horizontal Data Partitioning with HiveDB & Hibernate Shards from Britt Crawford on Vimeo.

Getting Started

Dependencies

  • Java 1.6
  • Maven
  • MySQL 5.0+

Building HiveDB from source


git clone git://github.com/britt/hivedb.git
cd hivedb
mvn install
# To install project files for your IDE use 'mvn eclipse:eclipse' or 'mvn idea:idea'



Using HiveDB with Maven

Add the HiveDB repository to your pom.xml.


<repository>
	<id>HiveDB</id>
	<url>http://www.hivedb.org/maven/</url>
</repository>



Add HiveDB as a dependency.


<dependency>
	<groupId>org.hivedb</groupId>
	<artifactId>hivedb</artifactId>
	<version>0.9.3</version>
</dependency>

Who’s behind HiveDB?

Currently the people behind the HiveDB project are:

  • Jeremy Cole, Proven Scaling LLC — Providing technical guidance, ideas, inspiration, and a bit of documentation.
  • Britt Crawford, CafePress — Doing the actual work.
  • Marco Ellwanger, CafePress — Doing the actual work.
  • Kevin Kelm, Fortress Consulting — Project Originator
  • Andy Likuski, CafePress — Doing the actual work.
  • Justin McCarthy, CafePress — Doing the actual work.

We expect that several others will become involved in the near future. See Contributing for more information.

You can join us all on the mailing list at the HiveDB-Dev Google Group.