Review: MySQL in a Nutshell

Book Review: MySQL in a Nutshell, 2nd Edition, by Russell J.T. Dyer, published by O’Reilly Media, April 2008, 545 pages, ISBN:0-596-51433-6, price: US $34.99 (Reviewed by Daniel Vos)

MySQL in a Nutshell, 2nd ed.

MySQL in a Nutshell, 2nd ed.

Behind virtually every web application, there’s a database management system.

Ever used Facebook? Guess what? It runs on a (huge!) database. What about your favorite discussion forum? Are you into auto maintenance, fly fishing, or (if you’re like my wife) do you like to swap recipes, trade amusing anecdotes about your kids, or post blog articles? All database-driven.

Many of the most popular, thriving websites are database driven. Behind the scenes many Web 2.0 websites are running MySQL, Sun Microsystem‘s open source database. (There are other popular databases from Microsoft, Oracle, and IBM — but that’s another story.)

MySQL is the M in LAMP — the very popular Open Source web site platform/framework (Linux, Apache, MySQL, Perl, PHP, Python). MySQL is the database used with WordPress (the software that runs this VVN blog). MySQL is the default database server used with Ruby on Rails.

If MySQL is the world’s most popular open-source database, then MySQL in a Nutshell (2nd ed.) by Russell J. T. Dyer is the Encyclopedia Britannica of MySQL. Weighing in at 545 pages, the book is divided into five parts:

  1. Tutorial – A brief tutorial on installing MySQL and performing basic database management tasks (35 pages).
  2. Statement and Function Reference – A comprehensive reference to SQL statements, clauses, and functions implemented by MySQL. (SQL is the standard language implemented by all major database management systems, but MySQL, Oracle, MS SQLServer, and the rest all have their own quirks.) This section weighs in at nearly 300 pages, and covers database user administration, data manipulation, and database replication, and more. String function, date and time functions, mathematical functions, and flow control functions are described here, too.
  3. Client and Server Administration – A guide to MySQL server and client configuration and administration (90 pages). This is where you will learn the difference between mysqld (the database server) and mysql (the command-line client), and the configuration options of each. A reference to command-line utilities such as mysqladmin, mysqlcheck and mysqldump is also included.
  4. Programming APIs – A 100-page guide to three popular programming language APIs – C, Perl, and PHP – which websites or programs use to interface with MySQL.
  5. Quick Reference – A 15-page set of appendices with a quick reference to the data types, operators (arithmetic, relational, and logical), and environment variables used by MySQL.

If you are an absolute beginner to MySQL and database management systems, this book might not be the best first choice for you. A good place to start instead might be here. But if you know that MySQL is in your software development or web site development future, MySQL in a Nutshell deserves a place on your bookshelf.

Designing with Web Standards Two Years On

Editors Note: Special guest author, Daniel Vos was invited to write a book review of Designing with Web Standards. Daniel is a graduate of Washington and Lee University (and also studied at Oxford.) Currently, he is an academic coordinator, budding web designer, and occasional writer for Roanoke area newspapers and business journals.

In my last post, I explained five reasons why Designing with Web Standards by Jeffrey Zeldman is a must-read classic of web design. In this post, I want to start a conversation about new developments in web standards since the second edition of the book was published two years ago.

As DWWS 2nd edition went to press in the second half of 2006:

  • Internet Explorer 6 was the most popular browser, with about 77% of the market share; meanwhile, Firefox 1.5 ran a distant second in popularity, at 10.5% of the market share. (Source: Market Share).
  • Internet Explorer 7 was just being released.
  • Not long after its first birthday, Ajax was already (to quote Zeldman) “stealing the rich applications market from Flash and generating nutty and probably unsustainable excitement.”
  • Microsoft was about to release Expression Web, a relatively standards-compatible WYSIWYG web page editor to replace its notoriously bad FrontPage editor and compete with Adobe’s standards-compatible Dreamweaver.
  • Implementations of CSS across browsers remained inconsistent: Zeldman documented the Float bug in IE6/Windows, and other standardistas recommended the Simplified Box Model Hack to address different interpretations of the CSS box model.

Here’s where we stand today:

  • Internet Explorer 7.0 has less than 50% of the browser market share, although IE still dominates nearly 75% of the market. But Internet Explorer use overall has been steadily declining as Firefox, Safari, and Opera continue to win more users. (Source: Market Share).
  • Browser bug watchers are still at it, and still finding new bugs and workarounds: See, for example, Position is Everything.
  • The Web Standards project has launched AcidTest 3.0, which tests CSS, DOM, ECMAScript, and XML compliance. Verdict? All browsers still have plenty of room to grow — some more than others, I’m afraid!
  • Opera recently announced their Web Standards Curriculum, which they plan to complete by Sept 2008. Here’s hoping they finish what they’ve started. This could be a big help for those educating the next generation of web designers.
  • Finally, the ability to separate content from presentation via semantic XHTML markup and CSS will continue to be crucially important as the mobile web browser market grows. The W3C Mobile Web Best Practices are worth a glance, given predictions that there will be 82 million Internet-enabled mobile devices within three years.
  • Adoption of web technologies which promote greater interactivity continues to grow. Was Zeldman right about Ajax generating unsustainable excitement?
  • Big software publishing companies such as Microsoft and Adobe seem to be making their products more and more standards-compatible.

Web standards remains an exciting field, because new standards are still emerging, and using them (rather than proprietary solutions) is still the best way to publish elegant, attractive, findable, and accessible content. Books like Designing with Web Standards by Jeffrey Zeldman got the ball rolling, and now it’s up to us to use the Web to market our products and services, target our audiences, and (perhaps most importantly) to build and sustain relationships.

I’ve said my bit. What do you think? What are some of the most important developments in web standards in the past 18 to 24 months?

Mongrel 1.1.1

This one (Mongrel onepointonepointone ) is just a little bug fix, fixing the Mongrel 1.1 mongrel_rails restart bug. Mongrel is a web server, that is cooler than a brick, and if you have used TomCat in the past, or heard of TomCat, you might understand the inside joke (TomCat vs. Mongrel (Dog)).

Most of the cool people who understand this stuff (wink, wink), are letting the cat out of the bag, because a dog is man’s best friend. But this really not really not a cat-fight, or even Cat vs. Dog fight, since even the guy who wrote TomCat has switched to Mongrel.

Update 10-Apr-2008Mongrel foot prints lead here now.