Flickr’s upgraded shard

While going about my day, I stumbled upon John Allspaw’s tweet about his experience with MySQL 5.0.51 versus Percona’s 5.0.83 highperf Percona build. For those that don’t remember John from the MySQL Conference & Expo’s, he’s the guy managing operations at Flickr, and he recently even wrote a book about webops.

Click on the photo above, to see when the upgrade happened. Amazed?

Haven’t tested this out myself, though I’m curious to see how this stacks up against MySQL 5.4, which is also aimed at being a high performance release. In another note, it seems like the mysql-cacti-templates could use a bit more verbose documentation.

MySQL in RHEL5/CentOS5 gets an update

It’s worth noting that Red Hat Enterprise Linux (RHEL) 5 has had an update to MySQL in the last month. This naturally means that CentOS 5 also had a similar update. It’s now bumped up to MySQL 5.0.77 (goodbye 5.0.45!; which is what RHEL5 shipped with). This is a moderate security release, so consider updating, if you can afford a mysqld restart.

Read more about the 4 CVE bugs fixed. CentOS followed suit within two weeks.

foss.my 2009: are you registered already?

foss.my 2009 is happening October 24-25 2009, in Kuala Lumpur, Malaysia. There is already a tremendous schedule, and the registration prices are still ridiculously cheap.

If you’re in the region, consider flying in by many of the budget airlines available. Also, time is running out to register to win a free netbook, for two lucky winners. I hear it comes with GNU/Linux pre-loaded :)

In other news, the foss.my team had a press conference on Tuesday 6 October 2009, and the superstar reporter from The Star, Joanne Timbuong already wrote up a good article for The Star’s In.Tech titled: Open-source experts gathering at Foss.my.

So, great program, great lineup, what’s keeping you from registering?

Why politicians should use Twitter

Yesterday, local politician, Khairy Jamaluddin was given some advice about his usage of Twitter, from a senior media figure:


has been given unsolicited advice by a senior media figure to stop tweeting if I want to be taken seriously as a politician. :(

Khairy is not just any ordinary politician. He’s young (33), the leader of UMNO Youth (the youth organisation for the largest political party in Malaysia, that creates the majority of the component party Barisan Nasional), overseas educated from young, and seems like a smart chap. He’s tomorrow’s leader. He’s got a pretty lengthy Wikipedia entry, if you want to know his credentials.

The media in Malaysia has painted nothing but a fairly negative picture of Khairy. When his father-in-law was the Prime Minister, he was widely criticised. When his father-in-law left, the current Prime Minister decided not to pick him for a position in the Cabinet, despite being the leader of the UMNO Youth (first in history, I believe). So to be fair, I myself have never held Khairy in high regards.

OK, let’s go back to the fact that Khairy is young. And he’s the leader of the young guns (aka future voters). So he’s more versatile to adopting to the communication mediums of the young. And that’s something the rest of his archaic party members just don’t seem to get.

Thanks to Twitter, I’ve seen the human-side of Khairy. He appeals to me more as a politician now. In fact, if more from his party do that (and more importantly, do it correctly), there’s going to be a swing to getting more people voting for the Barisan Nasional.

Politicians have never really been very accessible. With Twitter, even though Khairy only follows 55 people, he has 2,589 followers. Why? He reads his @reply queue. He occasionally responds to them (in a very politically correct fashion — he never engages in anything that may seem detrimental quite naturally). So even if he doesn’t respond, you know he’s reading your comments. So you can choose to be snarky, you can choose to have your own opinions, and he’s going to read them (short of him blocking you).

Anyway, back to the point. I take Khairy more seriously as a politician because he tweets. Another Twitter user @kamal, basically said: “Fox Communications is just being a spoiled sport you are handling your own PR”. That could very likely be it. Eight minutes later, Khairy tweeted: “Notwithstanding +ve tweet replies from tweeps, KJ is re-evaluating tweet career in case “seriousness” is KPI at next reshuffle. :p”. Good to note that people told him to continue using the social medium, known as Twitter.

Oh, and I’m young. The other youngsters aren’t bothered about listening to government propaganda. They’re getting information off the Web. They want to be interacted with. Perils of the Gen Y voter, eh? And Khairy understands them… because he himself is a Gen Y voter (I should think).

Kudos Khairy. Continue Tweeting. Continue utilising social media. And good luck in your political career.


For those interested, I’ve started a list with regards to Politicians in Malaysia Using Social Media. Its far from complete, but you can help!

SecuRich

I got to meet, and share a meal with a most interesting Darren Cassar at FRoSCon/OpenSQLCamp, who’s the mastermind behind SecuRich. Some sparse notes, while we await his slides. I think there’s some great potential here, and SecuRich is exciting and should be given some more love.

Designed to work with Sybase and MySQL in mind (because he’s hacking on migrating Sybase to MySQL).

How often do we audit user privileges and access levels? How often do we forget temporary elevated privileges?

What you have in MySQL today: Authentication against ‘username’@’hostname’, and the password is hashed by PASSWORD() function. There is wide range of privileges, and the granting of privileges is controlled.

What are limitations in MySQL today: Password limits are not available (password size limit, password history, password complexity meter, password minimum age), its quite complex to manage, there are no roles, it is easily unsecured (if you provide an access to the MySQL database, you can try brute force attacks, etc.). Once you drop the database, the grants are still there – obsolete grants are not removed.

SECURICH has password limits, reduces complexity to manage, has roles, is a lot more secured, and soon, there will be removal of obsolete grants.

Compatible with MySQL 5.0 and later, as it uses INFORMATION_SCHEMA extensively. It requires I_S.processlist, which is only available in MySQL 5.1 though.

I don’t see why this wouldn’t work on Windows, besides some scripts written in BASH. My only experience with this is however on Linux and OSX.

Sharding for the masses: Introducing the SPIDER storage engine (OpenSQLCamp @ FrOSCon)

This is the Sharding for the masses: Introducing the SPIDER storage engine by Giuseppe Maxia, given at OpenSQLCamp, at FrOSCon, in August 2009. These are somewhat live notes, and the slides are available too.

Why sharding? Scaling, of course. The MySQL way to solve this, is replication (even Yahoo! and Google use this).

When the master doesn’t have enough resources to cope with what you do (i.e. large data sets), replication chokes.

You can use proxies for sharding. There exists MySQL Proxy (can be programmed using a scripting language – Lua), HSCALE (built on top of MySQL Proxy), SpockProxy (a fork of MySQL Proxy, without LUA scripting, specialised for sharding), in the market these days. This however, is the single point of failure – everything has to pass through one proxy.

Enter SPIDER – a MySQL storage engine, built on top of the partitions engine. It associates a partition with a remote server, and is transparent to the user. Its developed by Kentoku Shiba.

Installation: Get 5.1.37 sources, then get the source code for Spider 1.0, and then get the patch for condition pushdown.

Why the condition pushdown patch? Remote server works less, by receiving the condition. The SPIDER engine without the condition pushdown patch is still fast, but it can be more than 10x faster with condition pushdowns.

http://dev.mysql.com/doc/refman/5.1/en/condition-pushdown-optimization.html (works with NDBCLUSTER), http://dev.mysql.com/doc/refman/5.4/en/condition-pushdown-optimization.html (works with MyISAM). The patch by Kentoku, will add cond_push and cond_pop, to ha_partition – so now, every storage engine that uses table partitioning can get condition pushdown through ha_partition.

You need to setup the engine first: http://datacharmer.org/downloads/spider_setup.sql (the SQL is also available in the DOCS).

spider_remote_employees.sql – use this in conjunction with http://launchpad.net/test-db/ – a good example of how to use the SPIDER storage engine.


i