Archive for the ‘Databases’ Category

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.

KDE 4.2 brings the MySQL server to the desktop

If you’re using Fedora 10, and are a KDE desktop user, you’ll notice that your latest KDE 4.2 update, requires having a local MySQL server installed. This is due to Akonadi, part of the KDE PIM packages, that now rely on MySQL as a default server, for storing PIM data. Just a few months ago, I mentioned the news that Amarok 2 will also use MySQL as a default database.

Akonadi uses MySQL mainly as a cache, not as a data store. This is something that Debian users will also see. Eventually, anyone with KDE 4.2 will see the requirement to have a MySQL server installed. If you already have a native installation of MySQL provided for by your distribution (maintained by RPM/DPKG), it naturally won’t be installing another copy – it just uses the system-wide version.

Not everyone is happy. Especially those that use netbooks, with limited disk space. Reading Reducing the MySQL 5.1.30 disk footprint by Ronald Bradford might help in that respect – there are ways to reduce up to 25% of the space.

However, from a MySQL perspective, and as a member of the Sun Database Group, I am happy to see the ubiquity of MySQL, on the Linux desktop.

For the technical folk amongst you, its worth looking at the akonadi spec file:

BuildRequires: mysql-devel
BuildRequires: mysql-server
..
# when/if akonadi grows support for other backends, consider splitting
# these similar to how phonon is done currently.
Requires: qt4-mysql
# not *strictly* required, but we need a functional default configuration
Requires(hint): mysql-server
..
%{summary}.
Requires an available instance of mysql server at runtime.  
Akonadi can spawn a per-user one automatically if the mysql-server 
package is installed on the machine.
See also: %{_sysconfdir}/akonadi/mysql-global.conf

Sun Tech Days Hyderabad

I had the pleasure of addressing a crowd of over 1,000+ people yesterday, at the Sun Tech Days event in Hyderabad. I think this might as well be the biggest number of attendees at a talk that I’ve given. I spoke on MySQL: The Database for Web 2.0, and the notes for this talk are largely indexed at MySQL for Developers. Its more or less the standard deck for the Tech Days events these days.

The best part? The questions. I had intelligent questions, and they lasted well over twenty minutes, and there was even more chatter afterwards. Twenty minutes might not seem like a lot, but this is Asia, and in some audiences, you’d be hard pressed to get even a single question! MySQL is hot, in India. Really, really, hot.

I’m glad to see that most people are using MySQL 5 and 5.1. I’m not so glad to see that most people don’t know about storage engines – most are using MyISAM without even knowing it, and they don’t know there exist other engines. This is what I notice, every time I talk about storage engines, though. For the astute MySQL developer, the DevZone is known (thanks to the documentation, mainly), but the Forge is almost unheard of. Planet MySQL seems to be more popular, actually.

Arun Gupta has some nice pictures and videos of the event in general. For me, I was jet-lagged after a massive delay in my flight leaving Kuala Lumpur (plane was unserviceable), and I only mustered under three hours of sleep before addressing the large crowd of folk.

The Tech Days events for the (financial) year are winding down, and for the next (financial) year, we (MySQL/The Database Group, in general) need to plan to be first class citizens at the event. Not only in terms of talks, but we need booth space (we’re about the only Sun project lacking a booth). After all, we have interesting things to talk about: MySQL, Drizzle, MySQL Enterprise Tools/Merlin, Workbench, Proxy, Query Analyser/Quan, Cluster, Replication, DTrace, Virtualisation and the database (VirtualBox? xVM?), etc. This list is probably never ending, so some cool demos, lots of fact sheets, maybe even USB sticks of goodies (2GB sticks are dirt cheap, and loading it up with information not only make people want to get a stick, but makes them learn more – hopefully before they format it! :P).

DRBD Management Console

Wow, check out what just came out from Linbit: The DRBD Management Console. Written in Java (so it runs anywhere), completely open source (GPLv3), and allows you to manage DRBD and Heartbeat based clusters. You can install, configure, see your systems graphically, and a lot more. I’m interested to try the beta out, as soon as I get back to my lab (sitting in the airport now). If you know how to use DRBD/Heartbeat, and use it in production for your MySQL setup, it might be a good application to test out, and improve if need be.

From the screenshots, I’m surprised this isn’t a value added extra that Linbit would like to charge for. Kudos, Linbit, for keeping it GPLv3!


i