October 20, 2005

PostgreSQL bootcamp at the Big Nerd Ranch

Author: Juan Pablo Claude

Last month I spent an intense five days learning the ins and outs of the PostgreSQL database management system at the Big Nerd Ranch, a teaching and consulting company based in Atlanta which specializes in Mac OS X and Unix. The "Big Nerd Ranch Way" removes you from your normal environment to Historic Banning Mills, a beautiful resort southwest of Atlanta, where your only concern is learning. Founder and alpha nerd Aaron Hillegass and his staff offer a series of innovative courses taught by world-class professionals.

The resort's visitor rooms come with Jacuzzi tubs and Internet access, a gorgeous wooded scenery, and my personal perdition, a well-stocked freezer full of ice cream treats and open 24 hours a day (a small fee applies). You get three enormous meals each day in the main dining room, where you can have lively conversations with your classmates and instructors. If you think "blobs" reside only within your database, you'd better watch your food intake here.

One thing that is clearly missing at the resort is a cell phone signal. You may consider that an inconvenience, but in my opinion it disconnects you from your normal routine and helps you focus on learning. Communication channels are still plentiful, as a reasonably fast satellite Internet connection is available. The wireless signal is spotty at times, but it was fast and strong enough for me to continue my weekly video iChat sessions with my parents in Santiago, Chile.

Though the living is easy at Banning Mills, the course itself is intense. The day starts at 8:30 with breakfast, and classes beginning at 9:00 sharp. The morning is spent with lessons and exercises at your computer (Mac, Linux, or your own machine if you prefer). Lunch is at noon. After lunch you typically have one more lesson and exercise, then take a brisk walk around the woods to wake up. Then the class continues until dinner at around 6:30. After dinner you are free to retire to your room if you wish, but many of us chose to return to the computer lab, where our instructor was available for questions and general chatting until quite late.

The PostgreSQL Bootcamp teacher is Chris Campbell, an extremely nice guy with a deep knowledge of the software. Indeed, Chris is a contributor to the open source project, having implemented Rendezvous (Bonjour) support for the DBMS.

PostgreSQL (or Postgres for short) and MySQL are the two heavyweights among open source DBMSes. Historically, Postgres has had an emphasis on features and support of the SQL language standards, whereas MySQL as focused on performance. However, the performance gap has closed now and Postgres is emerging as a top choice of many Web developers and system administrators. Postgres was started at UC Berkeley, and it shows its academic roots in its support of diverse data types and its easy extensibility. Postgres also has many tools and accessories available to make it a robust and easy to maintain DBMS.

The topics Chris covered during the course included installing Postgres from source code and initializing the database server; managing schemas, users, groups, and permissions; SQL and PL/pgSQL; writing server functions in C; large objects; query planning and optimization; database maintenance; database backup and replication; and writing client programs in C and Perl.

My overall experience with the course was excellent. I am pretty much a newbie to databases and SQL, but I gained a lot of knowledge and confidence during the five days of the course. When I get back to my day job, I can refer back to my course resources: two thick volumes of coil-bound notes, documentation, and exercises that we used during the class; a hard copy of all the slides we were shown during the lectures; and a CD with the PostgreSQL source code, exercise materials and answers, pictures taken during the week, and all sorts of assorted goodies. Also, at the end of the course your name is added to a mailing list where you can post questions and get answers from instructors and former students.

The Big Nerd Ranch doesn't offer any test or certification exam at the end of the bootcamp, but I put Chris' knowledge, the quality of his presentation, and the reputation of the Big Nerd Ranch ahead of any test.

As you can tell, I have nothing but good things to say about the course, and many of my feelings are shared by other reviewers of the PostgreSQL Bootcamp and other classes offered by the Big Nerd Ranch. When you register for a Big Nerd Ranch course, you are not just signing for a course where you will get information and a handshake when you are done. Rather, you become part of a community of fellow nerds where you can continue to learn years after you finish a class. Aaron and Chris have become good friends of mine and they are always willing to offer guidance. Frequently, when I post a question to the Cocoa students' mailing list, I get an answer to my question within minutes from Chris or Aaron. I once asked a fairly sophisticated question and got a rapid reply from Chris, who was actually traveling at the time. Not satisfied with just pointing me in the right direction, he wrote a small application that solved my problem while he was on the airplane! When I saw Chris last week I thanked him for his effort. He told me he took it as a personal challenge to answer as many questions as he could to keep his programming skills sharp. In these days when the average customer support experience makes you grind your teeth flat, I'm amazed by a company that cares so much for its customers for years. The help I have gotten from fellow students has been equally valuable and friendly.

Click Here!