By Sean Hull
Founder and Senior Consultant
December 1, 2005
The Tricky Database
Which of these statements fits your thinking?
“Well we want the best of the best, so we got Oracle.”
“We have expensive problems to solve so we spent handsomely on the solution.”
“We need to be up more than 99.999% of the time, so we surely need Oracle.”
The truth is technology experts can tell you exactly what the database is and does but may not have the most insight into when and how to use it most effectively. And as managers we often have the above insights about problems that need to get solved, and budgets and so on and so forth, but the two bits of intelligence are often separated by an abyss of understanding, leaving money badly spent, or real business problems half solved.
At Heavyweight Internet Group I sit in the unlikely position of having one foot in both camps. So hopefully I can extend some insight, and possibly shed a little light on some of these questions. Ok, here goes…
1. Why are databases such a complex component in the enterprise?
Well to put it mildly, everyone has their hand in there. The finance department keeps accounting, and business intelligence there, helping to answer big questions about running the business, hr, marketing, and sales all want to keep contact info there. It’s your business’s proverbial golden nugget. So it needs to be available all the time, like electricity, or the telephone system. Unfortunately it’s a much more complex beast than those technologies, and is constantly evolving too. There are backups, security, patches, and upgrades to worry about. Not to mention application tuning, when the logic behind those lengthly reports becomes unweildy, or your data volume grows.
2. What’s with database “tuning” anyway? Is Oracle the PINTO of software?
This is a very interesting question for me, primarily because I can see it from two very different angles. From the management side I see this hunk of technology that looks for all intents and purposes like a very expensive Pinto, a Jaguar automobile of old. It needs constant attention, the parts are expensive, and so are the mechanics. But when I put on my engineering cap, I can see a shining piece of engineering marvel. A machine which, when tuned properly (not an easy task I grant you) will outperform any other datastore in the world. Thousands and thousands of transactions a second can be performed, while hundreds and hundreds of users are all connected simultanously asking it their own questions.
Now I will grant you that the machine does not come out of the box tuned very well as a starter system, the principal reason for this is there are so many types of uses. There are datawarehouses, terabytes of archival data, and reports that run all night long on million row tables. And there are transactional (dubbed OLTP) systems, perhaps driving the backend of a website or ecommerce site. Databases run financial institutions, and small startup companies, each with a different profile of needs. And what also makes it complex is that each of those businesses will be running on different hardware, from mainframes, to Linux servers, and Windows XP, to Sun Solaris. Some will have EMC storage, while others will have a cheap Intel based RAID controller with six disks. Every system can be tuning precisely, but out-of-the-box Oracle doesn’t just plop down and do what you want.
3. Will monitoring save me? What about the Remote DBA?
Automated monitoring is a really excellent way to keep your systems in tip-top shape. You spend time and money at the outset, but you gain peace of mind that your infrastructure will keep rolling. There are many ways to get monitoring, from commercial software packages that you can install, which provide fancy graphical front-ends to the database, to various Open Source solutions like Nagios which provide all the power, functionality, and customizability you could ever want, but perhaps with a few less bells and whistles on the interface.
If you’re not comfortable with these solutions, you can outsource this aspect of your infrastructure. Sign a contract with a vendor who specializes in this type of service, with a specific service level agreement, guarenteed response. That way it will be in their interests to keep track of the things that could most threaten your day-to-day operations, from security concerns and backups, to rogue or errant queries that are impacting performance. Even hardware monitoring is available, so the loss of a harddrive in your RAID array is noticed well before it threatens your whole system.
4. Is 5×9 reasonable? Can we do HA?
The industry talks about 5 NINES, that is 99.999% uptime as the sort of gold standard of availability. But lets really think about that. With only three NINES, you have room for 10 minutes of downtime per week, four NINES gives you only 1 minute per week, and five NINES gives you a mere 6 seconds per week. Here’s a more detailed look at what five NINES really means.
To put that in perspective, the power grid that runs the Northeastern United States was out in August 2003 for 24 hours. New Yorkers will remember this well. The last big one was the blackout of 1965. If you do the math that’s a real outage of 38 minutes per year, or a little better than four NINES. If you took all the little power outages businesses experience, the picture gets worse. Now granted many datacenters have their own power generators, but the point remains in complex systems, even with plenty of redundancy, and elimination of human error from the mix, some downtime is inevitable.
What about High Availability? Oracle offers this in a couple of ways. One through Dataguard, formerly Standby Database, and the other through Real Application Clusters (RAC). Yes these technologies will bring you closer to five NINES, but a reasonable and real assessment of the technologies, and real-world test cases, and relative expenditures have to be considered to get a true sense of what is reasonable to expect. As more complex components are added to the mix, both hardware and software, you have more points that can fail, and more possible software bugs too.
5. What about the Open Source databases? Will they change everything?
The Open Source databases vying for your attention these days include Firebird, MySQL, Postgres, and Ingres. The question of Open Source databases becomes more and more relevant everyday. As new features are added, and they become more sophisticated and feature rich, more businesses will use them for their data. Many enterprises are sticking with the watch and wait plan, and letting others live on the bleeding edge. We covered this over at Oracle and Open Source in an article War of the Databases?.
On the lighter side
A colleague of mine recently forwarded this excellent illustration. Everyone in the business of technology projects, whether you hire outside resources, or have developers in house, would benefit from understanding this. It is a picture with ten panels, each illustrating a different perspective of a technology project, from “How the customer explained it” to “How the business consultant described it” and even “How the customer was billed”. Well worth a look, and hopefully to keep in mind as what to avoid.