Archive for the ‘MySQL’ Category

What Wikipedia looks like when their database goes away


This wiki has a problem

An unknown error connecting to MySQL on 10.0.6.28? Oh dear me… It came back up within 2 minutes though from the time I got the screenshot.

Some Planet MySQL changes over time

First up: I normally read Planet MySQL from an RSS reader. I am assuming you do too. But in the interest of all the new features that the website itself has, I thought I’d take some time to talk about them in brief (to respect your time). Needless to say, go forth and check out Planet MySQL if you’ve not been there in a while.

A change in URL

We used to go to http://planetmysql.org but now it redirects to http://planet.mysql.com/.

Its also worth noting that from a Google PageRank of 8, Planet MySQL has dropped to a PageRank of 6. One wonders why?

Voting

Planet MySQL voting internalSometimes, Planet MySQL has got totally unrelated posts. They might be press releases that no one likes, or a post like this, which talks about Planet MySQL. Planet MySQL is after all touted as “Your blogs, news and opinions”, so I guess this post is in line with that. So unless I’m blatantly selling sexually enhancing drugs, or talking about thing that are unrelated to MySQL, I don’t think one should be voting down such a post. Anyway, I digress.

You get 5 votes per 24-hour period. This is to probably prevent gaming the system. And there’s visual appeal too, to voting. Planet MySQL - voting

Anyway, you can see the top voted (last week), and top voted (last month), on the left hand column of planet now. So if you want something to be located prominently, start getting your friends to “digg” the site ;)

Searching

searching
A feature that is not talked about often enough… Everytime the planet crawls your site (:20 minutes off the hour, if I remember correctly), it slurps the entire page. Sure, it displays it as an excerpt (so we don’t take away Google juices from you), but we do keep a massive archive of all planet postings… So even if your blog goes away from the Internet, it will always live on in the archives.

Its worth noting its searchable! So maybe you read something that’s interesting two years ago, but have no idea what its about. You can search, even by tags. Wow! I think this could be a pretty useful feature, if using Google itself, has failed you…

Tags

In WordPress, there are options for “tags” and “categories”. Tags only came around relatively recently, it was always categories previously. Now, SimplePie reads those tags when it slurps the entire page, and it gets displayed. When logged in, you can even edit the tags. I tried this, but it didn’t seem to quite work yet, even when logged in. Maybe I just found a bug, let me report it…

Buzz

Have you seen MySQL Buzz? Its a dashboard, showing you where people talk about MySQL in its entirety – voted entries, forums, Google love, and those fabulous word frequency clouds!

Today, I noticed that on Planet, we’ve seen famous words like: data, database, time, server, innodb, chrome, table, performance. In the Forums, its quite different: string, long, table, null, insert, code. Ha!

Anything else?

Go forth and vote for this post, if you’ve read this far. Next time, I’ll talk about the Librarian after I’ve tried it out. A post like this would never make it there (since this is very community focused), but think of it like a knowledge base/bank and it can be rather powerful.

Google Summer of Code in the mid-term

We had 12 projects, and by the time we’ve hit mid-terms, we’ve decided to cull 2 project so far, leaving us with 10 projects.

This year, the MySQL project can really divide itself into three groups – those hacking on MySQL, Drizzle, or phpMyAdmin. Next year, will we see others? I certainly hope so…

Drizzle – Padraig O’Sullivan is doing an excellent job at working on a new implementation of the INFORMATION_SCHEMA. Nathan Williams is doing great work at code cleanup for Drizzle, and making it conform to C++ standards. Jiangfeng Peng is hacking on batch nested loop join’s in Drizzle.

phpMyAdmin – Derek Schaefer is adding import improvements to phpMyAdmin, while Tomas Srnka is working on adding MySQL Replication support for phpMyAdmin (and impressing his mentor!). Zahra Naeem is working on change tracking of data/structures, and you’d expect some more work after the mid-term, once some problems are worked through.

MySQL – Joseph Lukas is working on new commands to allow the changing of session variables temporarily as needed in a query. Haihao Tang is working on WL#4034, which is focused around the I_S storage engine. Tulay Meuzzinoglu is working on an SQL optimiser for mod_ndb, and there’s a lot of good stuff already going into the codebase, as is.

Common problems? Timezones and language barriers. How do other open source projects deal with this?

Much thanks to all the mentors who are doing a great job! If you want to keep track, either watch the individual Launchpad accounts, or check out the summer of code list for weekly progress reports

Using Facebook Groups over Meetup.com

We’ve had MySQL meetup’s organised thanks to mysql.meetup.com for years now, and its sad to see the relationship end in about a fortnight. Never fret, because it seems that Facebook can do all that, and more.

Migration

If you’re the meetup organiser, and you checked the Members list, or even attempted to download it, you’ll be disappointed. You get a CSV file, with the name of the person, some other metadata, if they’re on the mailing list (chances is yes to all), and the URL of the member profile. What’s missing? An email address.

So while its nice to have a CSV copy of the member list, it will not assist you in any migration, whatsoever. Totally data lock in :-(

Mailing list/message board

Keep in mind that you’ve got mailing lists and message boards on meetup.com. You’ll want to make use of this, to tell people to join your new Facebook group. Mailing lists are of the form: mysql-GROUPNUM@meetup.com, and you can find out more from mysql.meetup.com/GROUPNUM/messages/archive.

In case you’ve had people unsubscribe from the mailing list, better make things redundant, to announce the move to Facebook, and also post to the message board.

As the owner of the meetup group, you can also edit the description of your meetup group – do so, pointing to the new Facebook address of the group.

Facebook Groups

Facebook | Home |Groups 1 Look at the bottom of your screen, and you’ll notice a little toolbar, and its not too hard to spot groups. Once you see the groups page, you will be able to “Create a New Group”. The exact link to creating a new group will work, as long as you’re logged into Facebook. Once you’re done, don’t hesitate to enter some relevant group information:


Facebook | Create a Group

It’s probably worth noting that naming nomenclatures might be useful. Like I liberally used: The Malaysian MySQL User Group (Kuala Lumpur), but if you’re in a country like the United States, and you’re doing this in San Francisco, a name such as: The San Francisco MySQL User Group would make sense. Used similarly, like “The New York City User Group”, or if you’re in Australia, something like “The Melbourne MySQL User Group” will make sense. In that sense, I should really be calling the Malaysian one that I organise, “The Kuala Lumpur MySQL User Group”, and I have a feeling that once there are more meetups in the states around here, I will do just that.

Next up, you’re asked to upload a picture. Go ahead, make one up, or leave it blank. Something with your city in it, might be a good one. If the meetup group has a website, then enter its URL. The default settings on “Step 2: Customize” are all accurate, so just leave it be.

Facebook | Edit The Malaysian MySQL User Group (Kuala Lumpur) Once that is done, and you click “Save”, you’re asked to publish it on your wall. This is what I call publicity to those closest in your social network — you should go for it! You want all the help you can get, to spread the word, to make your meetup even more successful!

Now comes the fun part — you can invite your friends, or invite people via email — the choice is yours.

And that’s it, now you have a Facebook group, with an appropriate URL to point people to. In my case, the Malaysian MySQL User Group is at: http://www.facebook.com/group.php?gid=82091206683. Yes, the URL’s are not friendly, so maybe you want to make use of a URL shortener (Something like bit.ly, powered by MySQL).

What to do in the Facebook Group

The Facebook group you just created is useful. It displays the members, it has a discussion board facility, it has a wall (which may not be so useful, when it comes to actual discussion). It allows for members to post photos, links, videos, and more. In short, as long as all attendees are members of Facebook and the group, you’ve just created your own little virtual community!

Facebook | The Malaysian MySQL User Group (Kuala Lumpur) Now, one thing that shone with Meetup.com was the ability to have a meetup once every month, and details go out to all members about topics, et al. Facebook allows this too. Select “Create Related Event”. In fact if you scroll down a little more, below Group Type, and Admins, you can also Create Events, as there is a nice Events tab, right before the Related Groups one.

Once you’ve selected Create an Event, you’re told to enter some event information, as follows:


Facebook | Create an Event

That’s just basically filling up relevant information, the time, the location, and some contact details of the meetup organiser. Click Create Event, and magically, you now have a new event! Again, the defaults under customisation are perfectly safe, except, for the bottom, where you should scroll down, and under the “Publicize:” option, you definitely want to tick it, and say “Show this event in search results“. The more publicity, the better.

Click Save, and again, you’re asked to publish this to your wall, like above. If I were you, I’d go for it, so that even your friends who aren’t in the meetup group, might want to come depending on the topic being addressed in that particular month.

Like earlier, you can now invite guests (even via email) to the event, and once you’re done, you should have a similar page (looks so familiar to your group page, huh?) for the event in particular. Go forth and publish that URL on Twitter and other social networks, so more people show up :-)

Remember, that if anything changes, go back to the same event page, and select: “Message Guests”. This will allow them to all receive a Facebook message with the relevant information, changes, and so forth.

What else?

That’s basically it.

I can think of one more thing that Facebook has, that you don’t have on Meetup.com – that’s chat within the browser. You can chat with your friends, and meetup attendees potentially might want to confirm some last minute details, and the chat is a great feature.

One thing I find lacking is that you don’t have mailing lists. I’m an email type of guy, and if you want mailing lists, don’t hesitate to ask for one, at lists.mysql.com. We’ll be happy to provide yet another avenue to keep your meetups going strong.

Another strong point? You can be a member of multiple meetup groups, without having to leave your own. As someone who travels somewhat frequently, I love attending other user groups just to meet the community and see what they’re doing with MySQL. I can now, as events are open ;-)

Have questions? Leave a comment and I’ll get back to you. Otherwise, happy meeting users in your own areas and areas you’re travelling to!

Interview with Rohit Nadhani, founder of Webyog

At the MySQL Conference, I had the chance to interview Rohit Nadhani, founder of Webyog, the folk that make SQLyog and MONyog. Watch the video, for more.



Generally based out of Bangalore (I visited them when I was last there), Webyog just started an office in Santa Clara, and are expanding. They boast 15,000 paid customers so far, with some big name customers: Google, Yahoo!, executive office to the US president, and more.

SQLyog is termed as an upgrade from phpMyAdmin. There is a GPL community edition, with some “power tools” that is part of the Enterprise Edition. It is very Win32 based, but easy enough to run on other OSes via WINE or some sort of virtualisation tool.

MONyog is an agentless monitoring tool. It competes directly with Enterprise Monitor from MySQL, and there is no Community edition.

All Webyog licenses are perpetual (not subscription), with updates for a year. There are also unlimited licenses (server/user).

The motto: Low priced software, but sell thousands of copies.

The MySQL DevZone has an interview from 2006, that Jay conducted with Rohit. Go forth and read it.

Barry Abrahamson, talks about WordPress.com technicals

While at the MySQL Conference, I caught up with Barry Abrahamson, the systems wrangler/de-facto DBA behind WordPress.com (and all other Automattic properties). Watch the video.



You probably already know that WordPress itself is built on top of MySQL. And despite everything you might have heard about our (MySQL/Sun’s) new founders, WordPress is MySQL today, and for the foreseeable future. Anyway, I digress.

WordPress.com has about 70 million tables, and tens of thousands of blogs. Large amount of tables, serve for easy sharding – after all, its based on WordPress MU, which creates a table for each blog (read does it scale?).

WordPress.com has a few terabytes of data in MySQL, with over 350 instances. They’re all powered by Debian servers, with MySQL.com binaries.

Of interest to lots of folk, is WordPress stats (you get them with your own install, thanks to the Stats plugin). There is about 150GB of data for stats, that enter MySQL every month, and the data is queried multiple times a second. WordPress stats currently are based on a per day basis, but real soon now, you’ll see hourly stats. So you can even switch when your day ends, because chances are, you’re not based in GMT.

WordPress has about 90%+ reads, so the single master multiple slaves replication methodology works well for them. They’re moving to solid state drives, which is giving them more capacity to their current SAS solutions, since its all many tables, MyISAM, and it fits their workload model really well. Moving to SSDs is interesting – if you weren’t at the MySQL Conference, you should definitely catch the video from Andreas von Bechtolsheim, titled The Solid State Storage Revolution. Andy is a co-founder of Sun Microsystems.

Off camera, Barry also told me that they ran HP hardware, and he gave me the tale of how PollDaddy got a new heart – i.e. they moved from .NET/SQLServer to PHP/MySQL.

So, here, I can’t wait for hourly stats to come to WordPress. And I’m most interested in seeing what comes out from this (via Matt Mullenweg’s blog post):

There are some new developments in the WordPress world, namely that I think it would be possible to add support for databases other than MySQL without changing every $wpdb call or breaking any plugins or themes. It won’t be easy, but the coolest stuff seldom is.


i