adding a pluggable information schema table to a pluggable engine in mysql 5.1

Also now up is the patch series in my “ndb-work” tree which small patch for adding INFORMATION_SCHEMA.NDB_NODE_STATUS. It’s nearly useful… I haven’t brought in the nice “id to string” functions in the management client that make pretty printing nice… so not quite end user friendly :)

But it’s a nice patch to learn how to add an INFORMATION_SCHEMA table in a pluggable engine and put some engine specific information in it.

(kudos to the falcon code… which i looked at on how to do it).

Doesn’t take long – this was completed in less than 2hrs while watching and paying attention to sessions…. so should take next to no time if you actually concentrate on it.

Of course, this totally abuses the purity of the information schema.

Experimental NDB Patches

I’ve just put up the current “add node” patch… which is like, totally experimental and kills kittens… but could be interesting for people to have a look at as it progresses. Still lots of work before production ready – but people here at the MySQL Conf have said they’re interested in looking at the code for it.

You can grab a combined patch or the quilt series from:

http://saturn.flamingspork.com/~stewart/ndb-experimental/

Applies to 5.1… at least on a few weeks ago tree.

Zeroconf, conferences and privacy

So, probably like lots of people – i run a few web apps locally that I use for various purposes. In my case, this also includes some cool custom developed things.

I also use Zeroconf to easily discover all this foo around a network.

I run my critical mysql install by hand – it’s not constantly up. This is so, as somebody noticed (during Eben’s keynote at the MySQL Conference where he talked a lot about privacy) that one of the apps i run is entitled “tax”.

Since I’m somewhere other than at home, my mysql instance was stopped (much harder for people to grab the data out of it if the process isn’t running to begin with).

So yeah… good points – check what random people out on the network may have access to on your laptop – and know what you should not run as default (I’m careful there).

MySQL Conference: Day 2

Day 2 Photos

I gave my Intro to Cluster talk and then a Design and Internals of MySQL Cluster.

Also some photos from the DRBD BoF in the evening (which was really good). So was the BLOB streaming BoF earlier (but I didn’t take my camera out).

Currently in Eben’s keynote on Wednesday morning. As always, insightful and thought provoking.

World of awesome.

Arrived

Nine dollars (US) of Water (how many hours would somebody on minimum wage have to work to buy this 1.5L of water?):

$9USD water

Apart from that, jetlagged – managed to find food, TV, internet. All good.

I’ll be putting photos up on my gallery (which is running a MySQL Cluster 5.1 backend – with disk data) over at:

http://saturn.flamingspork.com/gallery/v/conf/mysql2007/

Nearly on way to the MySQL Conference

Tomorrow morning (11.5hrs time actually) I’ll be on a plane to SFO (then down to Santa Clara) in preparation for the MySQL Conference.

So, if you’re in the area – give us a buzz. My aussie phone will work, as will traditional email.

Also on IRC… should be easy to find me (freenode).

Working desktop (with Ubuntu 7.04 beta)

yay – got an install of Ubuntu 7.04 on my RAID5 with LVM with RAID1 /boot. Not only that, it’s booted – twice. Special.

Even plugged in my USB RAID1 array and managed to get it to mount… and am now importing photos into the f-spot store on it. Yay.

Lets see if it survives any amount of time…

I heart recordMyDesktop

So, I wanted to get some feedback before I presented my sessions at the upcoming MySQL Conference (be there, it’ll be cool). I thought… hrrm.. distributed company… I can’t just ask a couple of people to listen to me in the conference room as we don’t really have one (apart from IRC).

So… I thought.. hrrm… didn’t i see something about screencasting on the program for linux.con f.au ? Well, the answer was yes – Screencasting HOWTO. Started watching – I then proceeded to try the list of screencasting software.

Istanbul didn’t work – I got images and audio, but only when there was a change to what was being displayed… so a static slide with me talking, didn’t work. Same with a similar python script.

I then grabbed recordMyDesktop and it worked. ./configure; make; ./src/recordMyDesktop  …. and ctrl-c when done.. encodes to Ogg Theora and *WORKS*

Brilliant.

I then got to convince some coworkers to spend time listening to me speak about stuff they may already know to test it before the conf.

MySQL Conf: Getting Drunk with Eben Moglen

So Jay Pipes pointed out that Eben Moglen is speaking at the upcoming MySQL Conference in his attention grabbing post: Getting Drunk with Eben Moglen.

I saw Eben speak at linux.conf.au 2005 in Canberra – which was totally totally awesome.

I’m really looking forward to seeing him again – honestly, it’s probably worth the conference admission fee just to see this session.

Q&A with MySQL Cluster content (my 2c thrown in)

Ivan mentions the Q and As from a Q&A session in which MySQL Cluster is mentioned – I thought I’d add my perspective here as well:

Q from Matthew: When are we likely to see disk based indexing for ndb?
Disk based indexing is planned in one of the future releases, but we can’t say when we will implement it. During the webinar, Anders pointed out that he does not see this as an important thing. I tend to agree with Anders, at least considering the current status of the storage engine. At the moment, ndb can perform an unbeatable job (in terms of HA and performance) on small transactions and simple queries and we should not consider it as a full replacement for the whole database, in general. The future versions of ndb will probably be more and more general purpose and at some point a full disk based ndb will be valuable. Please take this as my personal opinion.

Implementing disk based indexes is a fair bit of work… Certainly not this year (or early next). Sure, it’s a crucial step towards world domination… but it does have to sit in a priority queue of other steps.

Q from Malcolm: Is their any difference between MysQL Cluster and the telecoms version?
As Bertrand said, MySQL Cluster Carrier Grade is a specific version for telecom, developed closely with major equipment manufacturers. During the presentation I have highlighted some differences – such as the availability of more data nodes and so on. We will cover MySQL Cluster and MySQL Cluster Carrier Grade Edition in one of the future sessions.

It’ll be good to have a special session on the difference. The basic difference is that we’re a bit more selective about what patches go into the Carrier grade trees – and sometimes some features will go there first (when customers really need it). We will typically try to be less invasive in some areas too. Odds are though, if you’re not a telco, you don’t need it.

Q from Fabio: Any plan for MySQL Cluster for Windows?
We are considering it sometimes in the future, but no plans have been made so far.

Yes, this has been “being considered” for years. No, it’s not going to happen any time soon. Patches welcome.

Q from Owen: Is it difficult to define memory requirements for MySQL Cluster?
MySQL Cluster configuration is the most important step when you adopt this technology. We have seen several do-it-yourself configurations, running perfectly. But Cluster configuration is not straightforward and we always recommend to get some help from our Professional Services team.

Each time I patch ndb_size.pl it gets more accurate and is less outrageously wrong in some scenarios now :) It can help… although you also need to know what you’re measuring – and account for future growth.

Q from Alessandro: Is carrier grade avalaible for download?
As Bertrand said, please contact us at http://www.mysql.com/company/contact/ if you are interested in MySQL Cluster Carrier Grade for telecom customers

I beleive the plan is to publish the BK trees as well… but certainly not the supported way to run it.

There was also some talk on DRBD and shared disk clusters. Neither of these prevent against file system corruption. Also, if using a non-crash safe engine (e.g. MyISAM) when you fail over you’ll probably have to do a bunch of table checks – not exactly HA.

Record autotest numbers for NDB

So, with a bunch of recent tests I added (and some bugs that have been fixed) we’re now consistently getting 203 or 204 passing tests. We’ve got typically around 8 or 9 that often fail – often because the test may be broken or not quite deterministic. Or there’s a bug… :)

(all numbers for the daily-basic list of tests for various 5.1 branches).

It would be great to hit 300 by this time next year… which means a lot of test cases… hrrm… anybody want to volunteer?

Oatmeal Raisin Biscuits (or Cookies if you’re from the land of the rolled r)

So I’ve slightly adapted this recipie (Vegan / Vegetarian Recipes – Biscuits – Oat – Oatmeal Raisin Cookies). Using soy milk instead of orange juice (couldn’t be bothered going to shops as I drank all the stuff I bought last weekend) and just olive oil instead of corn oil.

Currently in the oven. The dough tasted good though.

Update: the do taste rather good!