Archive for the ‘Databases’ Category

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.

Video: Interview with Marc Delisle, of the phpMyAdmin project

I caught up with Marc Delisle (we have a relatively old interview with him on the MySQL DevZone) recently, and got him to give us an introduction to phpMyAdmin, the several books he’s written, and how the project gets new features from the Google Summer of Code. What’s really impressive? They continue winning awards (Marc won one from MySQL in 2009 as well!), and have a user base of nearly 18.5 million (this is downloads — not just users, considering how common it is in shared hosting environments). Watch the video for more.



Video: Interview with Microsoft’s PHP Evangelist

I caught up with Zach Skyles Owens, a PHP Evangelist at Microsoft. If you missed the embed, watch the video. I have some sparse notes below.



I learned some new things:

  • Microsoft spends time working with the PHP community
  • They are porting applications to work with an SQL Server backend
  • They are ensuring that the language should “just work”, with the IIS and SQL Server stack. This is quite different from the usual AMP (Apache = server, MySQL = database, PHP = language) stack that we’re quite accustomed to.
  • There is a Microsoft Web Platform, and there’s a Web Application Gallery, that brings in dependencies that you need, to use popular open source software packages.
  • Drupal for example, is a featured application, for the PHP on IIS stack. If the software allows, it brings in SQL Server Express Edition; otherwise, it even brings in MySQL!

Google Summer of Code 2009 Community Bonding Period begins

You know, amongst all the announcements this week, I should also mention that MySQL has been accepted into the Google Summer of Code 2009, and all our students are ready to rock and roll. Its the community bonding period now, and we have a bunch more mentors that will participate, its very exciting. Check out the student list for MySQL. Yes, lots of phpMyAdmin and Drizzle stuff too. They’re all part of the extended community, no?

Video: Interview with some of the folk behind my.barackobama.com

I had the pleasure of having a quick video interview with Chuck Hagenbuch and Leigh Heyman, both from Blue State Digital, and people that helped run the my.barackobama.com campaign. They’re giving the closing keynote at the MySQL Conference & Expo 2009 alongside three engineers from Google, and its going to be great.



If you missed the embed, here’s the video. Don’t forget to see them, at their closing keynote titled Database We Can Believe In: Stories from the Front Lines (and Server Rooms) of Barack Obama’s Online Presidential Campaign.

Conversations at the MySQL Conference

Today, for me is day 1 of the MySQL Confernece & Expo 2009. It seems to be going pretty well – and its only 2.45pm.

If you follow Planet MySQL, or happen to just have random conversations with people, the main buzz for the day is “Oracle buying Sun”. But let me not bore you with that. I just want to log some of my interesting conversations.

Over lunch I had a good discussion with users of MySQL, and one potential user of MySQL (his company uses Oracle, MS SQL Server, Sybase, and are now looking at MySQL). We talked about quite a number of things:

  • The documentation (which I, and the rest of the MySQL users use) seems to not be complete for an Oracle person. Why? It seems we’re missing out on things like the models. We lack enough theory. People would like to “see” (visually) what the InnoDB buffer pool does, not just read about it. In fact, it also seems like we might need to be clearer with the use of commands. And for the first time, I have found out that if you’re coming from an Oracle background, you might find the comments at the end of the manual, to be kind of confusing — also, some believe the comments are irrelevant and misguide you. Wow! I mean, this is open source, we’d like the manual to also be kind of open source… ;)
  • There seems to be a misconception amongst potential users that MySQL is only great for the Web. It fails in everything enterprise related. I know, if you’re reading this, you’re thinking this is just insane – but think again – if you’re reading this, I’m preaching to the choir. MySQL is Enterprise ready, but I think the message needs to reach out to the greater community. Heck, if you’re showing up to the conference, kudos, we’ve reached you, but its just a drop in the ocean.
  • Backups. “Why is it that you have to pay for ibbackup? This stuff is supposed to be free.” Well, the open source advocates still need to reach out further. The argument that once you start paying for MySQL Enterprise, and once you start paying for hot backups, you start realising that the database is costing you more than you need. I brought up the point that even if you use Linux, you do pay for subscriptions — but the argument back was that you can at least figure out how to do it for free. True, but its similar in MySQL land — you’ve got mylvmbackup, you could setup a replication slave and use that for backups, there are third party tools like Zmanda’s backup one, and if you wait for MySQL 6, there will also be online backup. Anyway, this isn’t about backups – its about paying for open source software.
  • I know that a big network in Russia, with over 22 million users, use MySQL 4.1. The DBA goes forth and basically tells their developers not to use a lot of features, and they’ve managed to skirt around it, with no problem.
  • Libraries use MySQL.

For many, this is their first MySQL Conference. For some, they’ve been coming on-and-off since 2005.

Tutorial quality? If you follow Twitter, you’ll know that some people enjoy their tutorials, while some don’t. Most don’t want to be in a tutorial, in where the speaker talks about everything on the slide deck — because that’s something you can do yourself by sitting at home. People want a mix of war stories. I think this alone is pretty good advice for speakers. But always remember, you can’t always please everyone.

Cloudera’s tutorial in the afternoon was most amazing — you had to watch a bunch of videos, get a VM ready, and a lot more preparation. They went to, in quite some depth about the Facebook architecture (Amy Lin, from Facebook was surprised how much they knew — I suggested that, most of the information is mostly public anyway). This didn’t seem like a tutorial to attend if you were new to Hadoop, and if you’d not completed the prep, you might have been left out.

Sheeri and Patrick spent a lot of time in the shell, and inside MySQL. But I learned quite a bit about metadata.

I wish I took down more notes, but there’s some level of running around that I was required to do.

Follow @MySQLConf on Twitter. The Twitter serach for mysqlconf is also good for the “streaming river of information”.

Did I already mention people talking about Oracle buying Sun? Everyone is wondering about the future of MySQL and more. Its all just speculation people. Wait and see. That’s the most informed approach. I can respect that analysts have opinions, but it doesn’t mean anything. I like Marten’s candid response, though. Marten knows how to get a message across.

Power. Power is being rolled out in all rooms, there should be power plugs in every three rows. But that seemed to be an issue. The Internet mostly works, things are “fixed”, so you should be able to suck mail via IMAP, and connect elsewhere via SSH.

Oh, I met up with Chuck Hagenbuch and Leigh Heyman, who are giving the closing keynote from the Obama team. The Googler’s are a little busy, and will be around on Thursday, and the closing keynote titled “Database We Can Believe In: Stories from the Front Lines (and Server Rooms) of Barack Obama’s Online Presidential Campaign” is going to rock.

Whom else did I meet? What other interesting conversations did I have? I hope I remember to script them down. After all, conferences are made with conversations. And conversations are social networking 1.0. Have them.

/me is about to run for a conference call right about now, and its only mid-day. So many more great conversations await :-) Career fair, booze at the bar, what more can I ask for?
(ok, I can ask for everything to just run smoothly over the next few days. And I hope everyone has a ball of a time!)


i