Section 11.4. Attributes of a Scalable Application

   

11.4 Attributes of a Scalable Application

Building scalable applications is hard work. It's a lot harder than anything that fits in just one or two pages can solve. But by now, I'm sure you have noticed a couple of ideas about Oracle performance that I consider axiomatic:

  1. Most systems have plenty of hardware dedicated to them; they are slow because of waste .

  2. Eliminating that waste is much more economically efficient than trying to cover up the problem by adding more capacity to the system.

I therefore submit that building fast, scalable applications requires adherence to a kind of Golden Rule of Application Design:

Don't design your application to do anything that isn't absolutely necessary.

It sounds horribly lazy, in direct violation of the sound work ethics that our good fathers and mothers have taught us. But doing things an application doesn't need to do is exactly what makes it slow, unscalable (which is different from slow [Millsap (2001a)]), and ”in the end ”economically inefficient. The following few bits of advice bring some concreteness to this Golden Rule:

  1. Don't run reports that nobody reads.

  2. Don't generate more output than you need.

  3. Don't execute a business process any more often than the business needs.

  4. Don't write SQL that visits more blocks in the database buffer cache than necessary.

  5. Don't update a column's value to the same value it already has.

  6. Push data when it's ready instead of forcing applications to poll to see if there's any work to do.

  7. Don't generate redo and undo when you don't need the recoverability benefits provided by generating it.

  8. Don't parse any SQL statement that you could have pre-parsed and shared.

  9. Don't process DML one row at a time; use array fetches, bulk inserts , etc.

  10. Don't lock data any more often or for any longer than is absolutely necessary.

While I won't pretend that the list is complete, I do believe that it should help you get into the spirit of understanding what an appropriately lean application should look like.


   
Top


Optimizing Oracle Performance
Optimizing Oracle Performance
ISBN: 059600527X
EAN: 2147483647
Year: 2002
Pages: 102

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net