Posts Tagged ‘MySQL’

Google Summer of Code 2009

After checking with the relevant parties, MySQL has just submitted an application for the Google Summer of Code 2009. We’ve successfully participated in SoC during 2007, and 2008, and we’re hoping to get another shot at SoC, for our third year running.

What is Summer of Code? It means different things to many different people. If you’re a student, it means you get to hack on MySQL and the related products, and churn out code, that over eleven million people use, while you sit on the beach in your bathers! And when successful, you get a nice wad of cash even!

If you’re a mentor, it means having someone to help you write features, you’ve been wanting — someone to spend a good fourty-hours per week, hacking on the feature you most want (and its do-able within 12 weeks or so). As usual, mentors, we have an ideas page up. Mentors, go forth and fill it up.

Students, should also feel free to discuss their ideas, either on the wiki, or via the mailing list. You don’t need to apply yet (in fact, you can’t till we get accepted into the program to begin with!).

Remember, this is the year to Make MySQL Contributor Friendly (MMCF). Check the interview with Masood Mortazavi for more. So much potential for server contributions abound.

If you have any other queries, please don’t hesitate to drop me a comment, or an email at colin@mysql.com. Now, on toward happy hacking!

FathomDB: Database as a service, in the cloud

A lot of people are into the whole cloud computing scenario these days. However, no one has talked about offering DBA-like services in the cloud, all automated, so that startups don’t have to get their own DBAs.

Enter FathomDB. They are poised to offer databases as a service (maybe they’ll charge per database – so you can in theory run both WordPress and Mediawiki, if you prefix wp_ and mw_ in your table creation, for example). They are using MySQL. They’ve also taken the worry of running a database out – they will backup, they will setup (so you don’t have to issue GRANT commands :P), and they will also monitor your databases for you.

But what really takes the cake? The fact that they will also offer performance advisors. This totally reminds me of the MySQL Enterprise Monitor (aka Merlin), offered in the cloud, with advisors.

No word if they’re actually running Merlin, or what kind of MySQL builds they’re running. They have a FAQ that I suggest you read, pricing has not been released, but I think this stuff is totally cool and has a future. I mean, you can run your database using their services and EC2, and if you need to do load balancing (Proxy, anyone?), or replication, they’ll set it up for you.

Its going to be real useful for startups, that are already embracing the cloud and going the EC2 way. This is just yet another service, they’ll probably pay for. Because scaling your database, sometimes, isn’t the easiest thing to do.

Can’t wait for a beta invite. If I get one, I’ll give it a twirl and tell you how it went.

Note: This is a Y Combinator company, I first read about this in TechCrunch, and apparently, there was some mention of this during their cloud event last week, where Lew Tucker, Sun’s VP and CTO of Sun’s cloud computing initiative was at. I however don’t know anymore than what I’ve seen online, and lack any other insider knowledge.

Posterous and FriendFeed talk infrastructure

A couple interesting things coming out of startup land.

For one, Posterous has a little writeup on Building and Scaling a Startup on Rails: 12 Things We Learned the Hard Way. Good things to take away include using Sphinx/Solr for search, but the real important takeaway for the MySQL crowd is Storage engine matters, and you should probably use InnoDB. If you’re writing an application, know your storage engines. There are also bits to tell you how to use query_viewer and New Relic to help you fix database bottlenecks, use memcached later, and more. Its a great read.

Next up, there’s How FriendFeed uses MySQL to store schema-less data. I hope Bret from FriendFeed writes more on their infrastructure over time. Its interesting to see that they thought of going the CouchDB route, but never saw it as “proven” technology (in comparison to MySQL).

Dictionary data for MySQL?

I’m told WordWeb, a dictionary application for Windows, allows you to find words, quite unlike the MacOSX dictionary. I’ve never even found a usable dictionary when I use Linux, that doesn’t require me to go online.

The whole idea is that if I search for the phrase cure all, I get back a thesaurus entry that suggests the word panacea. OK, that example alone wasn’t so great, because cure-all tends to be a word in these dictionaries. WordWeb Online allows me to have a “reverse dictionary” result, which I think is just fabulous (as long as I have access to an Internet connection).

Does such a Mac app exist? Seems WordWeb exists for the iPhone, but their Java app, requires an Internet connection.

What’s interesting is that they sell the dictionary data. They are powered by MySQL, and if you’re wanting to grab their dictionary data in either tab separated plain text files or a MySQL database, you fork out a mere USD$999.

That’s a lot of money for a database file. I have no intention of spending that much money, considering the restrictive licensing on their site. So I searched, and found GCIDE_XML – described as “The GNU version of The Collaborative International Dictionary of English, presented in the Extensible Markup Language”. I tried to see if it had reverse dictionary search results, but it didn’t.

So, does anyone know if there’s English dictionary data out there, for MySQL, that doesn’t cost a bomb and is comparable, to WordWeb? Of course, it also comes with sensible licensing, will be an added bonus.

On Ma.gnolia, and data recovery

There’s a good podcast from Chris Messina and Larry Halff, about what really happened at Ma.gnolia. If you’re at all interested in what happened (i.e. how did they lose all their bookmark data), don’t hesitate to watch the video. I took some quick notes:

  • half a terabyte database file got corrupted
  • a mysql 5 database
  • everything was running even though there was corruption, and eventually, the site went down
  • backup system also failed, as it didn’t backup the data from mysql
  • backup was just backing up corrupted data (file sync over a firewire network was the backup mechanism)
  • a Rails application, he now recommends clouds over running your own infrastructure for startups
  • a couple of xserves (for database, etc.) and four intel mac minis as front end web servers
  • the site didn’t actually make any money

So I don’t know if Baron can rescue Ma.gnolia, per se, but I think the problem was largely:

Doing a file sync over the Firewire network, as the backup mechanism

You can’t safely backup MySQL that way. I don’t know what mechanism was used, but it sounds like rsync, and as much as I love rsync, I wouldn’t use it to backup a live running MySQL database that way.

With two servers, there should have been MySQL replication.

I’m curious if the data recovery Baron talks about is that of using the utility ddrescue? After all, ddrescue gets the raw data off the block device, without even trying to mount it. After that, you can attempt to recover the MySQL data off disk. In fact, I was surprised that the Ubuntu folk have a very nice Data Recovery page – no information about extracting MySQL databases, but its nothing a little hackery won’t get you.

I tried to ping Larry on Twitter, to ask what engine they were using… No response, per se. Good luck, and I hope the users get their data back, in time!

MySQL 5.1 release t-shirt

Look what arrived in the mail! MySQL 5.1 Release t-shirts!


MySQL 5.1 Release T-shirt (Front)
The front

MySQL 5.1 Release T-shirt (Back)
The back – with all our names

We made something similar for the MySQL 5.0 release and 10th anniversary, and sold that. I don’t know if we have plans to sell the MySQL 5.1 t-shirts, but if you think you’d like to buy one, maybe drop me a comment and if there’s enough requests for it, I’m sure we’ll try to sort something out.


i