Unlike what the title suggests Forecasting Oracle Performance by Craig Shallahamer has actually very little to do with Oracle Performance and a lot more to do with the science of forecasting application performance. The great thing about Forecasting Oracle Performance by Craig Shallahamer is that it doesn’t assume prior knowledge of Performance Modelling or Performance Engineering fundamentals but rather builds up the necessary basics as you move trough the initial chapter and start delving into more complex subjects.
Craig (LinkedIn) is a long time Oracle DBA (1989) who specializes in Oracle performance. He is also an Oracle ACE Director, performance researcher and blogger, consultant, author of two books (Oracle Performance Firefighting, Forecasting Oracle Performance), an enthusiastic conference speaker, and a passionate teacher to thousands of Oracle professionals. Craig also happes to be the founder and president of OraPub, creator of the performance analysis tool, Stori, and clearly pushes the teaching envelope with his online seminars! His blog, A Wider View, is where to find his most recent public performance research. Two unique honors bestowed on Craig are the 2014 IOUG’s Chris Wooldridge Award for outstanding service to the user
group community. Craig was also awarded with the 1995 Oracle Consulting’s “Hard Hat” award for stellar performance in “hostile” accounts and database performance situations.
I first stumbled at Craig’s book at Amazon. When i first came across “Forecasting Oracle Performance” I was initially looking for a book that covered the fundamentals of performance modelling both from an application and system perspective. However, having worked in SPE (Systems Performance Engineering) and having built/delivered large systems i had the benefit of practical hands on experience when it came to the various fundamental aspects of Performance across the SDLC (Software Development Life Cycle). This made understanding the basics of Performance Modelling a lot more easier to digest.
“Forecasting Oracle Performance” is a book that i would recommend for anyone wanting to learn the basics of Performance Modelling. It covers most of the relevant Performance Modelling techniques one would require to forecast system performance at any point across the SDLC (Software Development Life Cycle). Doesn’t matter if you are a Developer/Architect/Capacity Manager/Performance Engineer/Performance Tester, you will find Craig’s book on the basics of Performance Modelling techniques very useful to you when trying to identify/apply relevant modelling techniques to answer what-if questions that are aimed at validating or understanding behaviour of the system for changes you might need to make. The various topics covered in the book are:
- Introduction to Performance Forecasting
- Essential Performance Forecasting
- Increasing Forecast Precision
- Basic Forecasting Statistics
- Practical Queuing Theory
- Methodically Forecasting Performance
- Characterizing the Workload
- Ratio Modelling
- Linear Regression Modelling
Chapter 1 – “Introduction to Performance Forecasting” covers the need for modelling and the various different modelling techniques you might consider depending on where you are in the Software Development Life Cycle
Chapter 2 – “Essential Performance Forecasting” covers the relevant terminology and basics required before venturing into performance modelling. The text doesn’t intend to be a holistic guide to SPE (Systems Performance Engineering) but is rather an introductory text that covers the relevant areas required.
Chapter 3 – “Increasing Forecast Precision” talks about forecasting gotchas, the dangers of averages ( as compared to percentile) and concludes with an interesting but simple case study.
Chapter 4 – “Basic Forecasting Statistics” covers the statistical fundamentals you would need to pick up the relevant statistical modelling techniques later on i.e. linear regression modelling, exponential regression modelling, etc.
Chapter 5 – “Practical Queueing Theory” as the name suggests is an introduction to elementary queuing theory. This chapter skims over the essential bits of Queueing Theory and provides the reader with enough background including tools to go about performing what-if analysis using simple queueing theory models.
Chapter 6 & 7 – “Methodically Forecasting Performance” & “Characterizing the Workload” cover the basic concepts around workload modelling which is a pre-requisite for most SPE activities includes Performance Modelling.
Chapter 8 & 10 – “Ratio Modelling” & “Scalability” cover some of the fundamental analytical modelling techniques available for what-if analysis. The Ratio modelling techniques was something I had never heard of before and was an easy approach to perform back of the envelope calculations for purposes of quick what if analysis. However with sophisticated modelling tools easily available on the internet these days one would question the need to use Ratio Modelling. An introduction to Amdahls Law, Geometric Scaling, Quadratic Scaling techniques from my perspective was more academic than anything else.
Chapter 9 – “Linear Regression Modelling” introduces the reader to the concepts around Regression modelling. Readers will find this chapter a good introduction into the concepts around Regression Modelling and learn to apply Linear Regression Modelling techniques using some of Craig Shallahamers pre-built excel models which can be obtained from his website (resources.orapub.com).
Overall this “Forecasting Oracle Performance” is a great resource for anyone who would like a quick introduction into the world of performance modelling techniques. This book by no means is a comprehensive text on all the performance modelling techniques out there and neither does it claim to be one. It aims to get the reader acclimatised to the fundamentals of performance modelling using a bunch of analytical and statistical modelling techniques and does a great job of doing that.
Overall I would rate this book as a must have for anyone interested in gaining insight into performance modelling. The book doesn’t require you to be a math or a stats genius and will leave you with a good understanding of the different techniques including the situations in which you would choose to apply them. Folks who have a sound understanding of Queueing Theory Concepts, Statistical Modelling techniques (Linear/Exponential/Logarithmic Regression modelling), Time Series ARIMA modelling and Simulation Modelling can give this one a skip.
Trevor Warren (LinkedIn) sees himself as a entrepreneur who focuses on building innovative solutions that have the potential to impact people’s lives in a positive manner. Trevor is inquisitive by nature, loves asking questions and sometimes does get into trouble for doing so. He’s passionate about somethings in life and building solutions that have the ability to impact people’s lives in a positive manner is one of them. He believes that he can change the world and is doing the little he can to change it in his own little ways. When not hacking, building new products, writing content for Practical Performance Analyst, dreaming up new concepts or building castles in the air, you can catch-him bird spotting (watching planes fly above his house). You can reach trevor at – trevor at practical performance analyst dot com. The views expressed on this article and this web site are his own.