Autonomous Database : “Hand-tuning doesn’t scale”

I was at a talk by Chris Thalinger at Oracle Code One called “Performance tuning Twitter services with Graal and machine learning”. One of the things he said was, “Hand-tuning doesn’t scale”, and it brought into focus some of the things that have been going on in the Autonomous Database, which is closer to my world. 🙂

In my post called It’s not all about you! I discussed the reaction to a new feature mentioned in the ACE Director briefing. It has been spoken about publicly now, so I guess I’m allowed to mention it by name. The feature in question was Automatic Index Tuning that (insert Safe Harbour slide) might be in Oracle 19c, or in an autonomous database cloud service in the future. Once this feature was mentioned, the list of questions started to pile up, before we even knew what it was or how it was implemented. I mentioned my own reaction to this specific feature, but let’s look at this in the broader sense of autonomous services generally.

As I mentioned, watching Chris’ session brought all this into focus for me. Sorry if I’m stating the obvious, but here goes.

  • Even if I were capable of doing a better job than an automatic performance tuning feature, and I’m not sure I can, that is just me. Is everyone else I work with at my level of understanding or better? Is everyone else who works with the database across the world at my level of understanding or better? If the answer to that is no, then there is a need for feature X, whatever it is.
  • Let’s say I have a group of really skilled people that can do better than automatic feature X. Are they constantly looking at the system, trying to get the best performance possible, or are they working on hundreds or thousands of different targets, and actually spending very little time on each? As their workload grows, which it invariably will, will they be able to spend more or less time looking at each specific feature?

I know there are some consultants that get to go in and solve specific problems on specific systems, and maybe those folks will look down on automatic performance tuning features, but I have to look after loads of disparate systems and I get 30 seconds to get something done before I have to move on. I like to think I’m pretty good at Oracle database stuff, but I need all the help I can get if I want to keep things running smoothly.

When a new automatic feature is announced we always get super intense about it, which usually results in a lot of wailing and gnashing of teeth. Sometimes this is for very good reason, as the early incarnations of some features have been problematic, but over time they often become the norm. Think about the following, and what life would be like without them…

For some people reading this, they may never have experienced life without these features. Believe me, it wasn’t pretty! 🙂

Whether it’s a specific automatic feature, like Automatic Index Tuning, or a grander vision, like the Autonomous Database family of cloud services, this is part of the natural evolution of the database. At *some point* in the future I can see all my databases running on the cloud and all of them being some form of autonomous service, regardless of which cloud provider is running them.

Cheers

Tim…

PS. I hope people understand the spirit of what I’m saying, but I feel the need to include a few statements, as some people on Twitter seemed to get the wrong end of the stick.

  • I’m not saying you can do a rubbish job and leave it up to an automatic tuning feature to fix your crap application. Bad software always runs badly, no matter what you do with it. You might be able to mask some of the problems, but you don’t fix them.
  • I’m not suggesting the development process shouldn’t include proper testing, including unit, integration, UAT and performance testing. See previous point.
  • The more you know about your platform, the better job you can do, even if you have automatic features to help you.

Autonomous Data Warehouse (ADW) and Autonomous Transaction Processing (ATP)

A few days ago Oracle announced the general availability of the Autonomous Transaction Processing service on Oracle Cloud. This is the next member of the Autonomous Database family of products.

I’ve already written about provisioning the Autonomous Data Warehouse service and now I’ve used the Autonomous Transaction Processing service also.

I also wrote about loading data into the ADW service using the DBMS_CLOUD package and Data Pump.

The methods described here can also be used with the ATP service. I’ve added a few extra notes to these articles to explain a couple of minor differences.

If you’ve got access to Oracle Cloud you should give them a try. I really hope this is the DBaaS++ service I’ve been waiting for from Oracle.

Cheers

Tim…

Oracle Database 18c is NOT an Autonomous Database! (Update)

Yesterday’s rant about the bad reporting of Oracle 18c got quite a lot of attention, but it seems the reaction from some people was a little odd IMHO. I wrote some updates to the post during the day, but I would just like to address them here to hopefully make a few things clear.

Who was the post directed at?

I got the distinct impression that some people thought I was “sticking it to Oracle” with that post. If you read it that way I really don’t understand how. Here are two quotes from the post.

“From the get-go Oracle has been talking about the Autonomous Database as a cloud service based on Oracle Database 18c, but I can’t remember them once saying Oracle Database 18c is an Autonomous Database.”

“I am disappointed at how lazy the Oracle blog-sphere has been in reporting this”

If you read that as a dig at Oracle you are wrong. It was definitely dig at bloggers promoting untruths.

Are you sure 18c is not an Autonomous Database?

I got a few people contacting me who were so convinced Oracle 18c was an autonomous database, because of what they had read, they wanted to make sure I was not mistaken. 🙂 I guess if something is said enough times it starts becoming reality…

For those that thought I was mistaken, the mighty Maria Colgan has added a couple of updates to her blog to make it super-super clear.

Oracle Autonomous Database – What you need to know

If you know who Maria is, you will know this is the end of this point. If you don’t know who Maria is, she was “the optimizer lady”, then the “in-memory lady” and now she is (in my words) “the database”.

Just to confirm.

  • If you buy an Autonomous Database Cloud Service on Oracle Public Cloud or Cloud@Customer, that’s a service that specifically includes the words “Autonomous Database” in the name of the service, you are getting an Autonomous Database.
  • If you buy regular 18c DBaaS on Oracle Public Cloud or Cloud@Customer you are not getting an Autonomous Database.
  • If you install 18c yourself on any cloud provider, including Oracle Public Cloud or Cloud@Customer, you are not getting an Autonomous Database.
  • If you install 18c yourself on-prem you are not getting an Autonomous Database.

Thank God for that!

Some people were genuinely happy with this “revelation”. I guess this comes from the concern about their future job prospects. I understand this, as it affects me too, but I am disappointed that people don’t see this for what it is.

It has been possible to automate the vast majority of operational DBA tasks for a long time. Amazon have been doing this with RDS for Oracle for years. Good DBAs have been following this lead for years. This is not a new concept. Oracle are just taking it a step further with the automatic tuning etc.

It has been clear this is the way the market is moving for the last decade. If your only role is basic database operations you need to start getting skilled up. Whether 18c is autonomous or not isn’t really the issue…

I knew it!

Some people couldn’t help themselves and started rolling out the whole line about Oracle always claiming the end of the DBA. I have some sympathy for this point in the past having lived through all those death of the DBA announcements, but in this case not so much.

First, you are speaking like this is some sort of back-track on what 18c can do, when actually I was responding to the fiction created by bloggers that weren’t paying attention. From the information I’ve read from Oracle, I think it was clear this was a cloud service, not native 18c functionality.

Second, they are still claiming the cloud service is autonomous. Can we reserve the “I knew it” and “I told you so” comments until after it’s been released and we see what it can actually do.

I, for one, welcome our new autonomous database overlords!

Conclusion

I’m not claiming Oracle haven’t done some terrible reporting in the past, because they clearly have, but in this case I think the misconception is not their fault. I think the fault sits squarely at the feet of those in the blogging/news community, who read the headline and ran with it. The people who actually paid attention to the official announcements and subsequent posts from Oracle knew the score already. Here’s a quote from a post I wrote the day after the OOW17 announcement (2nd October).

“Although Oracle 18c has new features that make it easier to build an autonomous database, the “Autonomous Database” is a cloud service, so you will need to run your database on Oracle Public Cloud, or possibly on Cloud@Customer. Just installing 18c on-prem will not get you an autonomous database.”

I really hope I don’t feel the need to write another update to this issue… 🙂

Cheers

Tim…

Oracle Database 18c is NOT an Autonomous Database!

RANT WARNING!

From the get-go Oracle has been talking about the Autonomous Database as a cloud service based on Oracle Database 18c, but I can’t remember them once saying Oracle Database 18c is an Autonomous Database. There is a reason for that. It’s because it isn’t. It’s not meant to be. It’s basically a big patchset on what we already have. We currently have 12.2.0.1 and Oracle 18c is 12.2.0.2, with a different name because of the new yearly release cycle.

I am not disappointed by this, but I am disappointed at how lazy the Oracle blog-sphere has been in reporting this. I keep reading posts where people mention that 18c is autonomous and how 18c will be the death of DBAs. Come on people, we can do better than this. I know what’s going to happen. Oracle 18c will be released and when it doesn’t contain all the autonomous goodness people will lose their minds and say, I told you it wouldn’t work!

Let me say this loud and clear!

  • Autonomous Database : It’s a cloud service that happens to use the Oracle 18c database.
  • Oracle Database 18c : It’s not autonomous!

This is not the first time I’ve said this. I mentioned it here when I wrote about the Autonomous Database announcement. I even mentioned using the cloud service here when I did the hands-on lab at OOW17.

Can we please have a little integrity and stop this junk reporting, or have we also entered the post-truth, fake-news world too? If you’ve written a blog post describing Oracle 18c as autonomous, please go back and correct it because you are making yourself look foolish and misleading people.

Sorry for the rant, but I felt it had to be said!

Cheers

Tim…

Update: At least one person seems not to have understood this post. I am not saying the Autonomous Database Cloud Service isn’t autonomous. I’ve used it briefly and from what I can see it seems pretty cool. This post is totally about the misreporting of the Oracle Database 18c product by bloggers (and some news outlets), which is not and doesn’t claim to be autonomous.

Update 2: So now I’m getting people asking me if I’m sure about this. As I said, people are being mislead by rubbish reporting. Come on people, fix your stuff! If you don’t believe me read what Maria Colgan said when she retweeted my post here.

Update 3: Some extra bullet points above to make things even more explicit.

  • If you buy an Autonomous Database Cloud Service on Oracle Public Cloud or Cloud@Customer, that’s a service that specifically includes the words “Autonomous Database” in the name of the service, you are getting an Autonomous Database.
  • If you buy regular 18c DBaaS on Oracle Public Cloud or Cloud@Customer you are not getting an Autonomous Database.
  • If you install 18c yourself on any cloud provider, including Oracle Public Cloud or Cloud@Customer, you are not getting an Autonomous Database.
  • If you install 18c yourself on-prem you are not getting an Autonomous Database.