Wednesday 29 September 2010

Drizzle7 Beta Released! (now with MySQL migration!)

Today is a big day for us working on the Drizzle project.  Our first official Beta! We have come a long way since the original MySQL 6.0 fork and we couldn't have done it without the many community contributors involved, so many thanks to everyone who has helped us to get here (you know who you are).

One feature I have been working on recently is a MySQL migration tool.  This is basically a large modification to drizzledump which can do two extra things:

Firstly, it will automatically detect whether it is connecting to a MySQL or Drizzle server.  When connecting to a MySQL server it will automatically convert the table structures and data to create a Drizzle compatible dump file.

On top of this there are new options so that drizzledump can connect straight to a Drizzle server at the same time as a MySQL server and pipe the data over, converting on-the-fly, without any intermediate dump file!

To help read up about how to use this, another new feature is the integration of Sphinx Documentation Generator.  We are still in the process of writing documentation but we already have information on how to use the drizzledump migration options available.

The Drizzle server can already talk the MySQL protocol, so in many cases there will be little to no application modifications needed to switch from MySQL to Drizzle, you can even still use libmysqlclient!

Please test this and let us know what you think, we are always open to feedback.

Tuesday 28 September 2010

Sphinx Documentation Generator RPMs

So, thanks to the excellent work of Monty Taylor we now use a documentation generator in Drizzle!  He has added Sphinx Documentation Generator to the build system so that you can you can create documentation simply by doing:
make html
or
make epub

(yes, you can create epubs!)

There are other formats available.  Running 'make sphinx-help' will give you a full list of options available.

To use this you need to be using the latest trunk of Drizzle or the release that is due this week.  A minimum python-sphinx 1.0 also needs to be installed (older versions will work, but some output will be incorrect).  Unfortunately Ubuntu Lucid/Maverick and Fedora 13 all have Sphinx 0.6.6, so if you are running Ubuntu the Drizzle Developers PPA has 1.0 ready for you to install.  For Fedora 13 users I have built some RPMs which you can download here:

Sphinx: python-sphinx-1.0.4-1.fc13.noarch.rpm
Sphinx's documentation: python-sphinx-doc-1.0.4-1.fc13.noarch.rpm
Sphinx source: python-sphinx-1.0.4-1.fc13.src.rpm

Now, we just need to write the documentation!  We have several of us writing the basics right now, but as always any community help on this would be greatly appreciated.