Grazr: Lessons Learned Building a Web 2.0 Application Using MySQL

Patrick Galbraith (Blue Gecko), Michael Kowalchik (Grazr Corporation)

The choice of foundation technology can be a major decision in the life of a startup. This presentation will briefly discuss Grazr as a startup company but mainly focus on our decision to use MySQL as the primary foundation for our technology and the lessons we’ve learned while deploying it. We will also discuss our plans to use more advanced features of MySQL, such as triggers and UDF’s as our system continues to evolve.

This presentation hopes to cover what we’ve learned in building out our database infrastructure. Our early focus was not only on performance, but also data integrity and overall system scalability. This led us to the decision to use not only MySQL, but also to rely heavily on its robust replication facilities. Using two geographically separated data centers for redundancy, we spent a great deal of time on the general architecture and network topography of our system. Beyond lessons learned about replication we’ve also learned a lot about general MySQL deployments in the last year. How much hardware do you need? What version of MySQL to use? What distribution of Linux? This presentation will discuss the effects of some of the decisions we’ve made, what we might have done differently, and how you can avoid some of the pitfalls we encountered along the way. We have also discovered other capabilities of MySQL that we didn’t consider at first: that it is much more than a simple database, and that it provides a lot of functionality that you can use to create a great asynchronous application.

These are good lessons that we would like to share with others who are developing a new product using MySQL and similar technologies.

Things we would like to share:

  • Hardware requirements
  • Software requirements
  • Replication architecture and monitoring
  • To write or not to write core components (such as in our case to replace xpat with an in-house XML parser)
  • Dealing with international character sets (something Grazr is very good at)
  • Features in MySQL that go beyond simple data storage such as user defined functions (UDF) which allow us to pull functionality out of the web applications and push it down into the database.
  • Future plans of using other MySQL functionality, memcached, new UDFs, other storage engines

The object of this discussion is to give attendees who are thinking of starting a company or developing a new product a way of learning without the pain!

Photo of Patrick Galbraith

Patrick Galbraith

Blue Gecko

Patrick Galbraith is a senior systems and database administrator at Blue Gecko. He is the author or two recent books:

“Developing Web Applications with Apache, MySQL, memcached, and Perl” (Wiley)

“Expert PHP and MySQL” (Wiley)

In his “spare time”, he also maintains DBD::mysql, DBD::drizzle, FederatedX storage engine and the Memcached Functions for MySQL. He has just authored “Developing Web Applications using Perl, Memcached, MySQL, and Apache”. Patrick lives up in the sticks of New Hampshire with his wife Ruth and son Kiran as well as his Kubota tractor.

Michael Kowalchik

Grazr Corporation

Mike is a Boston based technology entrepreneur and currently co-founder and CTO of Grazr Corporation. A WPI grad in Electrical Engineering, Mike spent 7 years in the Advanced R&D labs of Data General and then EMC corporation before leaving to found a startup.

Mike is knowledgeable in web software, general computer architecture, intelligent storage architectures, software design, hardware design as well as highly scalable parallel processing systems and distributed architectures.

Mike was granted patents (through EMC) on an advanced data storage device and caching techniques.

Sponsors
  • Kickfire
  • Zmanda, Inc.
  • Continuent
  • EDS
  • JasperSoft
  • Sun Microsystems
  • Symantec Anti-Virus Software
  • XAware
  • Data Direct Technologies
  • Dolphin Interconnect Solutions
  • Hewlett Packard
  • Infobright, Inc
  • Linagora
  • Microsoft
  • OpSource
  • Oracle
  • Pentaho
  • R1Soft
  • Red Hat
  • Ticketmaster
  • TechRepublic

Contact Us

View a complete list of MySQL contacts.