Cost-Based (Design) Optimisation

No, not the Oracle Cost-Based Optimizer – this is about optimising your design for (financial) cost; and no, it doesn’t mean that we as developers need to be worrying about pennies while we’re coding, or even that we have much influence on costs.

It’s just an interesting remark from a podcast by Brent Ozar here. At 20 minutes 14 seconds in, (15 minutes 32 seconds if you want to catch the beginning of the discussion), he’s been talking about how Stack Overflow introduced a caching layer to reduce loading on their Sql Server database server, when he starts talking about licensing costs. Later on he makes the following remarks (edits mine)::

If you plan on anticipating any kind of growth…I understand that you want to make your queries go faster, but take a step back and ask why you’re doing them in the first place…every line in every query, you want to start asking questions about why are we executing that query and is there a better part of that work that can be done in the application server that does not cost $7000 dollars a core”

He goes on to talk about moving things like Full-Text indexing off Sql Server so that the database concentrates on what it does best. This is often argued for technical reasons, but I was interested to hear it from the cost point of view. The same will also apply to Oracle, no doubt; for a developer, this does make some difference as to which database features are the ones to take an interest in. I think it’s something I’ll keep at the back of my mind from now on.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.