Beyond Good and ORMs: Uncovering The Hidden Features of Your Database

By Kerri Miller

Elevator Pitch

ORMs such as ActiveRecord are fabulous tools that have improved the speed at which we’re able to develop working, shippable products, but at the cost of stunting our collective knowledge about the built-in, powerful features that different databases have to offer.

Description

ORMs such as ActiveRecord are fabulous tools that have improved the speed at which we’re able to develop working, shippable products. As DSLs for working with our persistence layers, they’ve proven their worth time and time again, but at the cost of stunting our collective knowledge about the built-in, powerful features that different databases have to offer. Let’s explore some of those features, rediscover what we’ve left behind by accepting abstraction, and recover some tools that can help ensure the long-term health of our applications.

Notes

Our solutions are often shaped by the tools we use, sometimes dramatically, sometimes in more subtle ways. For many of us using ORMs such as ActiveRecord, is easy to forget that databases themselves have many powerful features for analyzing, tabulating, and discovering data. They have their own powerful language in SQL, and have many features for understanding and working with data that are complicated to do in Ruby. Often, knowledge about how to work with databases to get top performance from them is relegated to a few individuals. Rails and ActiveRecord were created in just such an environment as a reaction to the tight control of the databases by Data Base Administrators. While Rails and ActiveRecord let us move much faster than before, we lost tribal knowledge about the databases and what they could do for us, beyond being a dumb data storehouse.