Tuesday, August 23, 2011

XtraBackup Manager - Movement on the home front...

It has been a while since I have posted any updates on the XtraBackup Manager front and I apologise for that. Between taking some time off for vacation (how dare I!?) and various different tasks at work snagging my focus away from XBM, I really haven't had much time to work on it.

(Un)fortunately last week we encountered a DB failure that would have been much faster and less painful to recover from had we had XtraBackup Manager finished and in place. While it was a pretty rough week for us DBAs working on addressing the failure, the silver lining is that we now have a concrete example to point to for the importance of the XtraBackup Manager project.

The silver lining in the long story cut short is that I now have the support I need to focus most of my time on XBM again.

So what have I been working on?

I have added support for materialzed backups to the "Continuous Incremental" backup strategy.

I have proceeded with actually running XBM against a few sample hosts with various schedules/settings to see what issues I may encounter.

I have posted a rough design outline in the Google Code wiki for the command-line interface for configuration and started on coding it.

My plan is to follow a similar design to the way the "zfs" command works on (Open)Solaris/Nexenta. 

You can see the design doc here:


Once the CLI configurator is done, I'll proceed with some heavy documentation. After that point XBM should be pretty much ready for mass consumption in an evaluation capacity.

I have learned a lot about PHP and OO in the process of developing XBM, which has been fun, but I know code wise it isn't as elegant as it could be.

As I said when I started the project, I am not really a developer, so the internals of XBM probably aren't the cleanest code ever, but I'm doing my best while focussing on actually forging ahead to get it functional rather than getting too bogged down in how well the internals adhere to best OO design practise.

I'm hoping to get some more folks trying it out once the configurator and docs are up to snuff.

Stay tuned!

Lachlan

4 comments:

  1. "but I'm doing my best while focussing on actually forging ahead to get it functional rather than getting too bogged down in how well the internals adhere to best OO design practise."

    That's how progress is made! Too many developers "engineer" and never finish.

    ReplyDelete
  2. Thanks for the words of encouragement, Justin :)

    ReplyDelete
  3. Lachlan, I disagree: The code is pretty good actually. Once you started using exceptions instead of return codes for error conditions, I'd say this is very good and modern code. Functionality was always very well embedded in classes, creating a set of command line tools should be pretty easy for you now (and later, a gui).

    ReplyDelete
  4. Henrik - I guess I am my own harshest critic?

    In any case, striving to improve is always good :)

    ReplyDelete