Archive for the ‘Databases’ Category

Hitchhacker’s Guide to the MySQL Conference – Ruby/Ruby on Rails Edition

The Hitchhacker’s Guide to the MySQL Conference
Ruby/Ruby on Rails Developer’s Edition
Following on from the excellent Hitchhacker’s Guide to the MySQL Conference – PHP Edition by Jay Pipes, I’m doing one for the Ruby and Ruby on Rails developer in you. If you haven’t registered yet, remember, I can provide you a 20% discount code, so make sure you get it from me, via emailing me. Tutorials, are selling out, fast.

The Keynotes
A Head in the Cloud – The Power of Infrastructure as a Service is a keynote delivered by Werner Vogels, CTO of Amazon.com. Why would the typical Rubyist be interested in this? Clearly because of the fact that many sites, end up using Amazon Web Services to scale. An example, being Twitter, whom store a lot of data on AWS, and we all know they’re written using Rails.

While the other keynotes aren’t Rails specific, they are a great start to the day, and interesting announcements tend to be made before or after a keynote, so wake up early! Yes, even if you were at a BoF till 2am in the morning…

Tutorial Day (Monday, 14 April 2008) – schedule
My recommendations would include going to the MySQL Replication Tutorial by Lars Thalmann and Mats Kindahl, in the morning, as this is a great way to ensure your Rails application scales. This can be followed by either Memcached and MySQL: Everything You Need to Know by Brian Aker, and Alan Kasindorf (dormando, if you’re on IRC) or Real World Web: Performance & Scalability MySQL Edition by Ask Hansen, but I’m told that its completely sold out! If you’re interested in something to spend the entire day in, I can highly recommend either Giuseppe Maxia and Jan Kneschke’s talk on MySQL Proxy: The Complete Tutorial, or head over to Stewart Smith’s talk on MySQL Cluster Tutorial. Keep in mind that Stewart’s tutorial is going to be quite hands on.

Sessions (Tuesday, 15 April 2008) – schedule
After the keynotes (remember to be there!), I would personally recommend that you attend Lessons Learned in Building a Highly Scalable MySQL Database presented by the folk, behind The Hive. Alternatively, visit Mike Zinner’s talk about MySQL Workbench: The Ultimate Database Design Tool for Developers – the ease of creating and designing databases, makes it feel very “Rails-like”.

At 11:55am, your choices are wide-varied, and choosing one talk, is going to be hard. Consider paying a visit to Practical MySQL for Web Applications by Domas Mituzas. Not only is he a support engineer at MySQL, he also engineers the back-end for Wikipedia; sure, they’re not a Rails-based application, but I can assure you, the commonality between web applications will ensure this is an interesting talk. If your application makes use of full-text search, consider going to Full-Text Search with MySQL 5.1: New Features & How To, by Alexander Rubin. If you’re writing a new application, it probably makes sense to start using 5.1. Replication for Dummies by Pat Galbraith should also be an interesting talk – if you missed the tutorial the day before, definitely go for this; if you attended the tutorial before, you’ll be re-enforcing your knowledge, and might make use of good Q&A time as well.

After the hearty lunch, a must not miss would be Big Bird (Scaling Twitter) by Blaine Cook. Popular, used by many, micro-blogging tool, they’ve gone through improving how the application performs, and scaling it to heights, much beyond simple ActiveRecord usage. Be there.

At 3:05pm, Monty Taylor’s High Availability Landscape of MySQL should be the one you’re at. Monty is very conversant with many a language as well, as part of his work on the NDB connectors, but here, you’ll be learning about replication, DRBD, and possibly Cluster/NDB. Anyone know of a Rails application using MySQL Cluster/NDB?

At 4:25pm, definitely go to the talk by Jeremy McAnally, titled: Talk = Ruby + MySql.new(bie): An Introduction to Using MySQL with Ruby. Jeremy’s the author of books and articles on Ruby, Rails, and MySQL, and granted the talk is targeted at beginners, no matter what level you’re at, you will probably learn something new.

By 5:15pm, your energy levels might slowly be sapped, but persevere, and you’ll be rewarded. While none of the talks are Ruby/Rails specific, I’d recommend attending either Backup and Recovery Basics by Kai Voigt (trainer at MySQL, will be an interesting talk as you will have to backup, and recover your database at some stage) or Services Oriented Architecture with PHP and MySQL by Joe Stump (learn from Digg, and apply your knowledge to Ruby/Rails).

Sessions (Wednesday, 16 April 2008) – schedule
Begin the morning having a hearty breakfast, and moving on to the keynotes. After which, if you’re into GIS and spatial extensions, the talk you must be at is the one offered by Seth Fitzsimmons, from Yahoo!, titled Using MySQL’s Spatial Extensions with Rails. If however you aren’t a GIS junkie, consider either Giuseppe Maxia’s talk on MySQL Sandbox, or Roland Bouman’s talk on Information Schema and its applications.

At 11:55am, I can recommend either: Falcon from the Beginning by Jim Starkey & Ann Harrison, or Tom Daly’s talk on Web Workloads for Comparing, Testing and Tuning MySQL Performance , SPECjAppServer2004, EAStress and Faban. Its definitely a tough sell, with the Applied Partitioning and Scaling Your Database System by Phil Hildebrand, and if you’re after contributing to MySQL, and being part of our community, don’t hesitate to come see me talk about Paying It Forward: Harnessing the MySQL Contributory Resources.

After lunch, at 2:00pm, if you’re into database normalization, consider How to be Normal, a Guide for Developers by Mike Hillyer. However, the two talks I’d personally be at (if only I can split myself) would be Monty’s talk (the father of MySQL!), titled Architecture of Maria: A New Storage Engine with a Transactional Design and Jay & Tobias’s talk, titled MySQL Performance Under a Microscope: The Tobias and Jay Show. Did I mention, that nowadays, it only make sense to write code and web applications with great character set support, and Domas Mituzas will be giving you an interesting session on Practical Character Sets. With so many conflicting talks at 2pm, all I can hope is that there are some excellent blog entries, and folk end up taking videos! (And no, I checked – no way to split myself, 4-ways, unlike today’s modern processors).

At 3:05pm, take a break, and enjoy yourself at Astronomy, Petabytes and MySQL by Kian-Tat Lim. If you’re still fuelled, go take a gander at Markus & Dups talk, titled Integration of Frameworks for Rapid Web Development (sure, it might be PHP-centric, but you can learn). Once thing Rails developers will want to know though, is how to make sure you’re using the query cache properly – Baron Schwartz will tell you in The MySQL Query Cache.

At 4:25pm, I can highly recommend going to Grazr: Lessons Learned Building a Web 2.0 Application Using MySQL by Patrick Galbraith and Michael Kowalchik, because even if you don’t find much Rails-centric content, the lessons learned and what worked/didn’t, will be useful to all. However, if you’re interested in storage engines, where Falcon is really the “Web 2.0 enhanced” storage engine for MySQL, consider Falcon for InnoDB users by Kevin Lewis and Ann Harrison.

At 5:15pm, its a no-brainer that you should be at ActiveRecord Under the Microscope by Jeremy McAnally. There are times to use it, and there are times to avoid it – Jeremy will tell you when, in general.

Sessions (Thursday, 17 April 2008) – schedule
After the fun from last night (quiz show, et al), make sure you’re at the keynotes yet again…

At 10:50am, I’m sure the realisation that this is the last day of this great conference is going to hit. Never fear, you better savour it. Assuming you’re deploying your application on software made by our new corporate overlords, consider visiting Frank Mash’s talk, titled: Optimizing MySQL and InnoDB on Solaris 10 for World’s Largest Photo Blogging Community. That’s Fotolog for what it’s worth. There are a whole bunch of scaling related talks that are sure to be interesting, but let’s try to focus!

At 11:55am, DTrace and MySQL by Ben Rockwood from Joyent, might be interesting to ensure you get a performant database. However, seeing that the hooks themselves aren’t mainstream (yet), consider
Sheeri Kritzer Cabral’s talk titled: Database Security Using White-Hat Google Hacking or if you’re wondering what Google does, visit Mark Callaghan, and listen to him speak about Helping InnoDB Scale on Servers with Many CPU Cores and Disks.

At 2:00pm, Ronald Bradford will share the Top 20 Database Design Tips Every Architect Needs to Know, and it would be my definite pick.

At 2:50pm, the last session of this great conference before the closing keynote, I’ll recommend High Availability MySQL with DRBD and Heartbeat: MTV Japan Mobile Services by Patrick Bolduan (whom I met in Japan last year, great guy, and the talk should be real interesting). While centred around PHP, Arjen Lentz should impart general knowledge of what a deadly sin is in general, if you weren’t using ActiveRecord and you were querying things the wrong way from your Rails application, so consider visiting Deadly Sins Using MySQL & PHP by Arjen Lentz and Jonathon Coombes.

And that my friends, is me signing off, and telling you what a jam-packed week this is going to be.

Register Now!
There are a ton of options for the discerning Ruby, or Ruby on Rails developer. If you’ve not registered yet, please do so now! If you’re not averse to paying full-price for items, I (and any other speaker) have a 20% discount code, so drop me an email at colin AT mysql DOT com.

Technorati Tags: , , , , , , , ,

Sun-NUS Open Source Day

Friday, 28/03/2008, is when the Sun-NUS Open Source Day occurs, from noon-6pm. If you’re in Singapore, I can highly recommend you attending. Pre-register now, if you’d like.

Come see me, talk about how you can contribute to MySQL. Especially in a time when students in Singapore will find it useful, to learn, seeing that the Summer of Code applications are in its last lap.

Its at the National University of Singapore. I understand that there might be a DTrace User Group meeting sometime in the evening (i.e. post-6pm). I’ll definitely be at that, or other events if necessary.

I’m reachable at +6-012-204-3201, preferring to get an SMS instead of a call (roaming costs a bit).

See you Friday afternoon!

The agenda (which I can’t seem to find easily online, is pasted here for posterity):
12:00pm onwards Registration
1:00pm – 1:15pm Opening Remark
Prof Ooi Beng Chin, Dean,
School of Computing , NUS
1:15pm – 2:00pm Sun & Open Source
Matt Thompson, Senior Director,
Developer Outreach, Sun Microsystems
2:00pm – 2:30pm Java-Open Source Journey and road ahead
2:30pm – 3:00pm JavaFX – Demos and highlights
3:00pm – 3:30pm Open Solaris – a model for Open Source community
3:30pm – 4:00pm Open source IDE for Desktop/Mobile and Enterprise
applications(Netbeans 6.0)
4:00pm – 4:15pm Tea Break
Breakout Track 1:
Venue: Venue: Seminar Room 2 (SR2, COM1-02-04)
4:15pm – 5:00pm Learning & Growing the Open Source way
5:00pm – 5:45pm Building Web 2.0 applications and best practises
Breakout Track 2:
Venue: Seminar Room 3B (SR3B, COM1-02-13)
4:15pm – 5:00pm Paying It Forward: Harnessing the MySQL Contributory Resources
5:00pm – 5:45pm Open Source Operating Systems – a closer look with
Open Solaris

Technorati Tags: , , , ,

Melbourne Meetup Mashup

On Thursday, the day before the long weekend (Friday being Good Friday, following week Monday being Easter Monday), the Melbourne MySQL Meetup group met, for an event that was not our usual meetup, but that of a Meetup Mashup.

Held at RMIT, I spoke about the recent purchase, what changes, what doesn’t, and how we’re 100% committed to making the same great product even better. After that, Gary Pendergast, spoke about how the support is run, and how nothing changes there, except its becoming beefier! We also had a Sun Campus Ambassador, Zhiqi Tao speak about the campus ambassador program, and how he evangelises Sun technologies at universities (his particular one, being Melbourne University). There is also apparently an RMIT ambassador, who missed the meeting.

After the talk, a pocket of us headed to dinner at the Oxford Scholar. There was much beer to be had, and there was food too. Good thing I remembered that I had picked up my camera earlier that day, so I did manage to take a few snaps. Below, are those that stayed till almost eleven, when we realised that it was about time to start catching our relevant trains and trams to head home (remember kids, no drinking and driving).

Sun/MySQL Meetup Mashup, Melbourne
The Stragglers: (l-r) Colin Charles, Tristan Penman, Gary Pendergast, Zhiqi Tao

Thanks Sun for getting the tab! It was a good time, and even during dinner, we were mashing up, moving around from seat to seat, to participate in more conversations.

Things learnt that day?

  • Community edition install on Vista failed for a user, who complained a lot. He then decided to try the Enterprise version, which surprisingly worked on Vista. He wonders why we ship a broken Community edition. We assured him its not broken. Another community member chimed in suggesting that it was really the fact that one needed to be an administrator on Vista, and obviously start the MySQL server as an administrator. Likely, this could have been the issue…
  • Our manuals aren’t straightforward enough. I beg to differ, thinking they’re the best manuals out there for an open source project (because we have a fabulous docs team). However, maybe a “user installation guide” like you get with traditional packaged software might make sense? I don’t know, I’ll try a install on Vista the moment I can get my virtual machine working (VirtualBox Beta 3 on Mac OS X fails miserably), and take plenty of screenshots soon (all thanks to Skitch, naturally).
  • Python is being taught at Melbourne University, having usurped C or Java for students. Python allows focus on the algorithms, and the concepts, rather than other bits, like memory allocation and so forth. Interesting to know that this is the basis of The Melbourne Model.
  • Enterprise users should not be filling in the web feedback form, but filing a support request. There’s no way for those answering the web feedback form to know if you’re a customer or not, so standard canned responses tend to be the norm, especially if it surrounds installation issues.
  • There is lots of interest for basic talks, on introduction to databases, inducting someone using MySQL from the ground up. I think this makes a lot of sense, and needs work, clearly (kind of like free training)…

Technorati Tags: , , ,

MySQL participating in the Google Summer of Code 2008

Just as a head’s up to students that are thinking about participating in the Google Summer of Code 2008, and were planning on being affiliated with MySQL. You can – MySQL has just been accepted into the Summer of Code 2008.

We have an ideas page (watch it closely, there will be many changes in the coming weeks), we also have a mailing list (subscribe to it, and discuss with potential mentors), and now, all we want are plenty of students!

This should also be a note, that its a call for mentors. Last year, we had Paul McCullagh and Sheeri Kritzer Cabral, mentor projects from outside MySQL, and it was great. Participation from the community, will simply rock.

My advise? Note the timeline, closely. Students: April 1, 2008, 00:00 UTC is your deadline. Mentors, you need to be paired up with your students by April 11, 07:00 UTC. Mentors, start signing up, now!

Here’s to another great Summer of Code!

Technorati Tags: , , , ,

Meetup Mashup in Melbourne, Australia

All in Melbourne, keep the evening of Thursday, 20 March 2008, free. Why? We’re having a Meetup Mashup, right here in Melbourne, Australia. This is the Sun and MySQL tour around the world!

Details:
Date: 20th March
Time: 7.30pm
Venue: RMIT University (Swanston St)
Room: 10.08.04

Contact Tristan on 0422 501 726 for directions to the venue. (or me, at 0412 593 292 if you have any questions, etc.)

After we’re done at RMIT, discussing the recent acquisition (you’re guaranteed to see Support Engineer Gary Pendergast, and me speak, and answer questions), we’ll head over to the bar nearby, and grab some grub. Its a great opportunity to come and get your questions answered!

Are you already part of the MySQL Meetup in Melbourne? If not, check out the Melbourne MySQL User Group.

P/S: To all those in Sydney, there are plans to have one possibly in early April. Interested? Why not drop me an email or leave a comment.

DTrace, Web 2.0, Java, AJAX, PHP and the rest

No, its not alphabet soup. Just some notes from the session at the Sun Tech Days. I’ve not looked at DTrace much (my only look into instrumentation, has been from SystemTap, which doesn’t deal with applications), but plan on doing so soon… I’ve managed to get OpenSolaris Developer Preview 2 installed in VirtualBox, so it can only start being more fun from here…

Want to learn more about DTrace and MySQL? Then come to the MySQL Conference & Expo 2008, in Santa Clara, California, because on Thursday, Ben Rockwood, from Joyent, will be presenting a session on DTrace and MySQL (read the abstract, its good). The talk covers the fact that you can get useful information currently, even without the embedded probes in current versions of MySQL. For more DTrace and MySQL tips, don’t hesitate to read Joyeur, Joyent’s weblog.

DtTace, Web 2.0, Java, AJAX, PHP and the rest (notes from the talk)
by Peter Karlsson, Solaris Technology Evangelist

DTrace now has providers for a large number of languages: JavaScript, Java, PHP, Python, Ruby. Perl is on the way.

MySQL 6.0 will have DTrace support; PostgreSQL already has this in Solaris currently. If building from source, there’s a flag that needs to be enabled. A lot of work was done thanks to a community member.

You need a Solaris kernel. Ported to OS X and FreeBSD. Supports “dynamic instrumentation”. D is the dynamic language, used to script instrumentation

Very common request? Find how much time is spent in a given function. The thread local variable (self->variable = expression;) – nowadays, you can be running two threads coming down in the same function call. DTrace – so this is great for multi-threaded debugging.

PHP doesn’t have DTrace integrated, so, get the Coolstack PHP.

DTrace probes have been added to Mozilla to help debug JavaScript applications. This is available in Firefox 3 (in beta now). There is also a generic DTrace framework, that isn’t just JavaScript only – the networking parts of Firefox, to look at how DNS lookups work, etc. all can be instrumented via DTrace.

Further reading? DTrace and PHP, demonstrated.

Technorati Tags: , , ,


i