March 2010

26 Mar

Loading Drupal Nodes into MongoDB with Drush

in drupal, mongodb, php, programming

To do some prototyping, I wanted to load all 32k of our Drupal nodes into MongoDB. At first, the thought of doing this seemed daunting. Then I realized that with Drush I could use a very simple script to perform an entire migration.

The result: With a 14 line PHP script, I transferred all of the nodes (CCK, taxonomy, and all) without a glitch.

Read on for the full explanation.

Mongo Query

Mongo Query
26 Mar

MapReduce as a Star Trek Episode

in mongodb

Kristina Chodorow, a member of the MongoDB development team, and maintainer of the Mongo PHP driver, wrote a great blog explaining Map Reduce as a Star Trek episode. It's a quick and humorous read.

Kristina is also doing a TEK-X Webinar on MongoDB today. I'm encouraging my dev team to attend.

22 Mar

A 53,900% speedup: Nginx, Drupal, and Memcache bring concurrency up and page load time way down

in drupal, memcached, nginx, performance

With a clever hack utilizing Memcache, Nginx, and Drupal, we have been able to speed the delivery time of many of our major pages by 53,900% (from 8,100 msec to 15 msec, according to siege and AB benchmarks). Additional, we went from being able to handle 27 concurrent requests to being able to handle 3,334 concurrent requests (a 12,248% increase).

While we performed a long series of performance optimizations, this article is focused primarily on how we managed to serve data directly from Memcached, via Nginx, without invoking PHP at all.
Nginx, Memcached, and DrupalNginx, Memcached, and Drupal

Read on for the full explanation of how we achieved this huge speedup.

Nginx, Memcached, and Drupal

Nginx, Memcached, and Drupal

Test adsense

17 Mar

Heating Water: UX principles from your microwave

in user interface and ux

When I was at WebMD back in the late '90's, I often worked on pieces of the site that were designed by Tog. (If you haven't heard of him, check out his Wikipedia page). I developed a sincere respect for UX engineering because of him.

Today, I was looking for a decent set of UX guidelines to give to people who were struggling to understand why it is important. I found Tog's, and this particular portion of the article really struck me.

05 Mar

MongoDB: 5 Things Every PHP Developer Should Know About MongoDB

in mongodb, php, programming

2010 will be remembered as the year SQL died; the year relational databases were moved off of the front line; the year that developers discovered that they no longer had to force every single object into a tabular structure in order to persist the data.

2010 is the year of the document database. While momentum has been steadily building over the last seven years or so, there are now a wide variety of stable document databases -- from cloud-based ones from Amazon and Google, to a wide variety of Open Source tools, most notably CouchDB and MongoDB.

So what is MongoDB? Here are five things every PHP developer should know about it:

  1. MongoDB is a stand-alone server
  2. It is document based, not table-based
  3. It is schemaless
  4. You don't need to learn another query language
  5. It has great PHP support

Read on to learn a little about each of these.

05 Mar

Tek-X Webcast: A Developer's Intro to Drupal

in drupal, php

On March 12, 2010, I will be online with the folks from Tek-X giving a webcast on A Developer's Intro to Drupal. If you're just getting your feet wet with Drupal and are still a little confused about hooks, modules, themes, nodes, or even why Drupal isn't (fully) Object-Oriented, then this session is for you.
Tek-X Drupal WebcastTek-X Drupal Webcast

Tek-X Drupal Webcast

Tek-X Drupal Webcast