Wednesday, April 20, 2011

Belated Thanks to MySQL Community

Tungsten Replicator won O'Reilly Application of the Year at the 2011 O'Reilly MySQL Conference, together with Percona's XtraBackup.  Giuseppe Maxia also received an award for Community Contributor of the Year. Having now worked with Giuseppe for almost half a year I know from personal experience his reward is truly deserved.  All in all we had a very good week, especially since the replicator award was a complete surprise.

Things were so busy during and after the MySQL conference it was difficult to write a timely thank-you note. I hope it's not too late to thank the committee now for both awards.

More importantly, I would like to thank the MySQL community as a whole.  Replicated data is the lifeblood of MySQL applications.  There has been a long history of innovation both within the MySQL engineering team as well as the community as a whole.  Working on replication for MySQL is a bit like building cars to operate on the German Autobahn.  If you can compete here you can compete anywhere.

Thursday, April 14, 2011

Settling in at code.google.com

Tungsten Replicator code is now fully open source and published on code.google.com.  Here is our new home in case you do not yet know it:  http://code.google.com/p/tungsten-replicator.  I hope you will visit our new digs and admire the furniture.

The fact that the replicator is now fully open source under GPL V2 is kind of old news, so I would instead like to talk about something else:  our initial experience setting up the replicator project at code.google.com.  In a nutshell, it has been excellent.   There are several things that stand out.
  1. The site is incredibly easy to use.   You can customize the home page, add members, add external links, etc. quickly and without having to resort to help. 
  2. It has everything we need.  The front page is excellent--clean but also all the information users need to get started.  Useful features like issue trackers and Google Groups are cleanly integrated.   
  3. It is very fast.  
  4. So far it seems to have just the right mix of open and closed for our project.  Anybody can post to the groups or log issues, but only committers on the project have write access to code and ability to move bugs through issue status. 
The only problems I have run into personally involve SVN code access.  For example, say you check out using the http rather than https URL as in:
svn co http://tungsten-replicator.googlecode.com/svn/trunk/builder
If you edit something and try to check in you get a message like the following: 
$ svn commit -m "This does not work"
svn: Commit failed (details follow):
svn: Server sent unexpected return value (405 Method Not Allowed) in response to MKACTIVITY request for '/svn/!svn/act/8d94e398-83ba-46f3-aae2-bd10cb707c4b'
svn: Your commit message was left in a temporary file:
svn:    '/home/rhodges/google/tungsten-replicator/builder/svn-commit.tmp'
This message is definitely in the "not helpful" category.  Perhaps it is some sort of defense against evildoers.  However, this might be subversion behavior and nothing to do with Google.  If you receive such a message, run svn info to check the SVN URL.  If you see http instead of https you have found the cause.   Unfortunately the cure seems to be to check out again properly in another location, copy in your changes, and then commit.

Site credentials are a more insidious problem.  Android phone users need to have a Google GMail account to access updates and download apps.  (At least that's true for my provider.)  Browsers like Firefox do not keep accounts separated properly, so you may run into account confusion when you first get started.  On Mac OS X you can get the wrong account in your keychain, which in turn leads to more confusing error messages.  This is a Google problem.  There is a creeping form of web single-signon using Google, Facebook, and other accounts as identifiers with unintended side-effects for work and personal interactions.  It makes you wonder what other problems are out there.

But I digress. As far as the project is concerned the issues look pretty minor.  At this point I would recommend code.google.com wholeheartedly for open source projects.

p.s., Tungsten Replicator 2.0.2 is on the way.  More on that in another post.

Saturday, April 2, 2011

O'Reilly Conference Tungsten Talks and Some Welcome Open Source Progress

The O'Reilly MySQL 2011 conference is coming up fast.  It should be a good conference as it covers the increasingly diverse MySQL community and MySQL alternatives very well.   As usual, there are some painful choices about which talks to attend.  I'm doing two talks myself that I hope you have on your list:
  • Curing Replication Deprivation with Tungsten -- A tutorial together with my colleague Ed Archibald.  It covers everything you ever wanted to know about how to use parallel replication, handle multi-master/multi-source, replication to PostgreSQL/Oracle, etc.  We will have a short section at the end about how to build full clusters with Tungsten Enterprise.   Giuseppe Maxia is threatening to join and do some of his famous demos.  Apparently doing a tutorial on replication in the morning is not enough to tire him out. 
  • Preparing for the Big Oops: How to Build Disaster Recovery Sites for MySQL -- Survey of methods as well as things to have in mind when building a disaster recovery site.  This will cover everything I can think of, not just Tungsten.  
If you do not get your fill from our tutorial, Ed Archibald will also be doing another talk on Tungsten Enterprise explaining how you can build Database-as-a-service using Tungsten.   

Finally, the open source news.  We have been working on getting Tungsten Replicator fully open sourced including features like parallel replication, cool multi-master capabilities, and our fast disk log.  Getting there required jumping through a few hoops internally, but I'm happy to say the jumping is done.  As soon as we finish a couple of merges between branches we will post a full copy of Tungsten Replicator 2.0 on our new home at code.google.com under a GPL V2 license.  

It will take us a while to get used to the new bug tracker, wikis, and forums based on Google Groups, but we should be starting to settle in by 7 April when Giuseppe presents Advanced MySQL Replication for the Masses at the MySQL SFO meetup.  Come visit us!  

Scaling Databases Using Commodity Hardware and Shared-Nothing Design