Updating to Java 1.6

As of changeset 7cadcb the HEAD release of HiveDB requires Java6 (1.6). We were trying to maintain compatibility with both Java5 and Java6 but were unable to do so due to changes in the DataSource interface.

We have changed our default connection pooling implementation from DBCP to C3P0. C3P0 has better failure characteristics and we think it will make HiveDB more stable and more fault tolerant. However, it also forces us to update HiveBasicDataSource in such a way that it breaks Java5 compatibility.

Read More

Switching from SVN to Git

We are switching our version control repository from Subversion to Git. Initially I read Why Distributed Version Control Matter to You, Today and shrugged my shoulders and said, “Maybe so, but subversion works fine.” However we recently ran into a situation where we needed more robust branching and merging features than Subversion had to offer, combine that with GitHub’s easy setup and awesome interface, and we were sold.

Read More

Come see us at MySQL Conf

Massively scalable systems used to be the sole province of large corporations with acronyms for names and budgets the size of a small country’s GDP, but with the explosion of user-created content sites scaling is now everybody’s problem.

One of the main strategies for scaling databases is to partition the data across many servers. This is a simple enough idea but requires a good deal of expertise in systems design, programming, and MySQL administration to execute successfully. Many horizontal partitioning systems have been built and put into production in corporate environments, but so far none of them have:

  • Built an easily extensible platform
  • Released their system under an open source license

This session introduces HiveDB, an open source framework for partitioning MySQL that implements the core ideas behind horizontal partitioning in as clear and concise a way as possible.

Read More