I feel like I'm introducing the Beatles... though I think Kellyn Pot'Vin calls them the "DBA Gods". Today I'll be talking about Cary Millsap, and tomorrow I'll introduce our other special guest: Alex Gorbachev.
As many of you know, I grew up as a DBA (albeit, focusing on data warehouse environments) before transitioning to development... initially as an ETL developer and later as an OBIEE architect. I had three or four "heroes" during that time... and Cary Millsap was certainly one of them. His brilliant white paper "Why a 99%+ Database Buffer Cache Hit Ratio is Not Ok" changed my whole direction with performance tuning: it's probably the first time I thought about tuning processes instead of systems. Many of you also know about my love of Agile Methodologies... a cause that Cary has championed of late, and is also the subject of an excellent white paper "Measure Once, Cut Twice". This purposeful inversion of the title helps to remind us that many of the analogies we use for software design don't compute... it's relatively simple to modify an API after the fact, so go ahead and "cut".
A brief bit of history on Cary. He's an Oracle ACE Director and has been contributing to the Oracle Community since 1989. He is an entrepreneur, software technology advisor, software developer, and Oracle software performance specialist. His technical papers are quoted in many Oracle books, in Wikipedia, in blogs all over the world, and in dozens of conference presentations each month. He has presented at hundreds of public and private events around the world, and he is published in Communications of the ACM. He wrote the book "Optimizing Oracle Performance" (O'Reilly 2003), for which he and co-author Jeff Holt were named Oracle Magazine's 2004 Authors of the Year. Though many people (Kellyn included) think of Cary as a DBA... Cary considers himself to be software developer first, but explains what he believes to be the reason for this misconception:
"I think it's fair to say that I've dedicated my entire professional career (27 years so far) to the software performance specialization. Most people who know me in an Oracle context probably think I'm a DBA, because I've spent so much time working with DBAs (...It's still bizarre to me that performance is considered primarily a post-implementation operational topic in the Oracle universe). But my background is software development, and that's where my heart is. I built the business I own so that I can hang out with extraordinarily talented software researchers and designers and developers and write software that helps people solve difficult problems."
Cary's presentation is called "Thinking Clearly about Performance" and will be given at the end of the day on Thursday before we head over to 4th and Swift for the Gala dinner. His message for the BI developers in the audience is an encouraging one:
"My message at the Rittman Mead BI Forum is that, though it's often counterintuitive, software performance actually makes sense. When you can think clearly about it, you generally make progress more quickly and more permanently than if you just stab at different possible solutions without really understanding what's going on. That's what this presentation called "Thinking Clearly about Performance" is all about. It's the result of more than 25 years of helping people understand performance in just about every imaginable context, from the tiny little law office in east Texas to the Large Hadron Collider at CERN near Geneva. It's the result of seeing the same kinds of wasteful mistakes: buying hardware upgrades in hopes of reducing response times without understanding what a bottleneck is, adding load to overloaded systems in hopes of increasing throughput."
My experience is that BI and DW systems suffer more from the "fast=true" disease than do OLTP systems, but that could simply be perspective. I'm excited that a group of BI developers, the majority of which are reporting against a database of some kind, will get an opportunity to see Cary's approach to problem solving and performance tuning. As Cary tells us:
"The fundamental problems in an OBIEE implementation are just that: fundamental. The solution begins with understanding what's really going on, which means engaging in a discussion of what we should be measuring and how (of course, in the OBIEE world, Robin Moffatt's blog posts come in handy), and it continues through the standard subjects of profiles, and skew, and efficiency, and load, and queueing, and so on."
If you are interested in seeing Cary and all the other great speakers at this year's BI Forum, you can go over to the main page to get more information about the Atlanta event, or go directly to the registration page so we can see you in Atlanta in May.