Queuing and Decoupling for Performance…

Some of the data warehousing and Exadata presentations have talked about queuing requests to improve performance. They have suggested that using Resource Manager to throttle the number of active requests results in better performance/throughput compared to letting multiple requests all run simultaneously. The Terabyte Hour session yesterday showed an example of this and sure enough, when they limited the heavy requests to batches of 3, the overall throughput of requests improved.

This kinda links to something I keep banging on about in my PL/SQL presentations, which is decoupling. Don’t do it, queue it…

In any system you have a variety of business functions that have differing importance and differing required turnaround time. It’s good if you can identify this up front so you can consider decoupling some business functions. That way, functions that MUST happen instantly are fired on the spot, while those that can accommodate some lag time are queued for later processing. The acceptable lag for each of these business functions may vary.

Why do I care? Two reasons really:

  • Why hog resources processing low priority tasks when they could be used for high priority tasks? You don’t run your backups and stats collection during peak hours. Why would you waste cycles on low priority business functions when the user experience is poor due to lack of resources.
  • Decoupling allows you to take small transactions and batch them up, allowing you to take advantage of performance features available in both SQL and PL/SQL.

Queuing and decoupling are by no means new concepts, but they seem to have been lost in the mix. It’s interesting to see them being brought back onto the agenda, even with the sort of horsepower provided by Exadata.

Cheers

Tim…

Importance is in the eye of the beholder…

Marcel Kratochvil recently wrote a paper on the relevance of FKs with respect to multimedia. This post is inspired by that paper, because it reminded me of a multimedia database project I worked on a few years ago, but it is not the central argument of his paper.

When retrieving large multimedia objects (Images, Audio, Video etc) from the database and sending them over the internet to a browser, the biggest impact on the user experience was the internet speed, especially since this was a few years ago. The database performance was for the most part irrelevant. As a result, the effect of bad execution plans was also largely irrelevant. So I might represent the loss of overall performance as a result of omitting FKs (or anything else that affects the optimizers decision making process) as follows.

ProcessingTime

In attempting to tune this system, you can bet that the majority of the effort was spent on the transit mechanism, rather than the DB performance.

  • Am I suggesting FKs are irrelevant? No.
  • Do I agree with Marcel’s paper? No.
  • Do I understand some of the points he is making? Yes.

Your frame of reference has a big impact on the importance you place on things.

It’s late. I’m going to bed. 🙂

Cheers

Tim…

Todays (Tuesday) Oracle WaterWorld Sessions…

It was raining quite hard this morning. Fortunately I brought my “Fujitsu Siemens” umbrella from 2 years ago. Debra Lilley was quick to point out the company name change… 🙂

Today was another day heavily based around the Unconference in Moscone West. Four of the six presentations I went to today were at the unconference. Here’s what I saw today:

  • What’s New in Eleven … Dot Two (that Oracle won’t be talking about) by Daniel Morgan: A quick romp through some of the stuff that is new or updated in the latest release that’s not sexy enough for the marketeers to focus on.
  • Oracle Indexes: Q & A Discussion by Richard Foote: Richard was hoping we could all spend the hour discussing David Bowie, but the audience wanted to know about indexes. The session kinda turned into the Richard and Jonathan roadshow. Fortunately they agreed on most points. 🙂
  • Under The Hood of Oracle Clusterware with live demo Part I & II by Alex Gorbachev: This was a 2 hour unconference session where Alex explained the architecture of Oracle Clusterware, then proceeded to demonstrate a whole bunch of stuff including scenarios causing node eviction.
  • Current Trends in Real-World Database Performance by Andrew Holdsworth: I try to get to the sessions by the Real World Performance Group each year, just to make sure there’s not something new I’ve missed. It gives me a warm fuzzy feeling. 🙂
  • The Terabyte Hour with the Real-World Performance Group by Andrew Holdsworth: This session involved a live ETL process loading 1 Terabyte of data in flat files into a Exadata V1 Database Machine running 11gR2. Once the data was in they gathered stats, did a bunch of transformations and issued a bunch of heavy SQL statements at it to show the performance. Very impressive to get all this one in 50 minutes. Nearly all the processing was CPU bound, so it would be interesting to see the same demo on the V2 machines. Even better to do the Pepsi Challenge and have then side by side doing it…

I’ve just noticed I’m about 90 minutes late for the blogger get together. I better get moving…

Cheers

Tim…

The downside side of Oracle OpenWorld 2009

Despite all the geek fun, there is a downside to OOW. I for one will be visiting the doctor when I get back to the UK to ask for some Prozac. Why? I’m depressed due to multi-angle-envy. What?

  • I’ve seen some excellent presenters whose technique is so slick it makes me sick. I’m not talking about fancy slides. I’m talking about how they engage the audience. Makes me feel like a rank amateur.
  • The amount of technical knowledge some of these guys have is crazy. Now I know they are focused on very specific areas, but even so. It really brings you down to earth with a bump.
  • I really, really, really want some of the kit being used by people out there. I want to run queries on multi-terabytes of data without indexes and still expect a result back within a couple of minutes. I need an Exadata V2 in my spare bedroom, along with a reinforced floor.
  • There are so many products and features that look amazing and I know I won’t have the time, equipment or brain capacity to try them.

Sometimes OOW can really bum you out…

Cheers

Tim…

You know you’re an Oracle geek when…

You know you’re a geek when…

Faced with the choice between drinking, dancing and eating at the OTN Night party or attending the OTN Installfest, you go to the OTN Installfest…

Without making myself sound even sadder than I am, this years Installfest had some quite exciting stuff in it.

Btrfs – You love Linux, but you wish it had an enterprise class filesystem. There’s one coming thanks to Oracle…

JRocket Virtual Edition – You want to provision a new App Server on Oracle VM. So you have to install and patch an OS and then install the app server right? Wrong! You use JRocket Virtual Edition which installs directly on Oracle VM. No OS, nothing!

Assembly Builder – You need to provision a new multi-server system on Oracle VM. Maybe 2 DNS servers, identity manager server, a 2 node RAC database and a couple of app servers. Wouldn’t it be nice if you could drag and drop a few boxes onto a screen, draw lines between them and fill in a couple of properties then hit go! I’ve seen a demo of just that. It takes OEL JeOS and Oracle VM Template Builder to the next level.

Wim Coekaerts and his team are stars.

Fun, fun, fun…

Cheers

Tim…

PS. Oh yeah. Oracle Validated will soon be updated to work with 11g R2.

OpenWorld Events – Monday…

I intended to go to some regular sessions, but changed tack and spent the day in Moscone West at the Unconference instead.

  • Chalk & Talk: The Core Performance Fundamentals Of Oracle Data Warehousing (Greg Rahn, Database Performance Engineer, Real-World Performance Group @ Oracle): I’m not a DW guy and I don’t work with Exadata kit, so this was pretty interesting for me. It’s pretty wild what this Exadata stuff can do. I’ll be going to the Terabyte session tomorrow where they will be doing a bunch of live demos.
  • Fundamentals of Performance (Oracle ACE Director Cary Millsap): I’ve seen Cary speak a few times and each time I really enjoy it. His presentation style is effortless and his explanations are so clear. He’s one of those people that raises the bar.
  • Oracle Exadata Storage Server FAQ Review and Q&A with Kevin Closson (Performance Architect, Oracle): Read Kevin’s blog and you will know he is passionate about storage and hardware. Watching him present on Exadata was like watching a freakishly eloquent child with a new toy. You come away desperate for Santa to bring you one at Christmas.
  • Visualization Session – Make your charts more effective for troubleshooting and presenting (Oracle ACE Chen Shapira): Chen took a specific use case and showed a variety of graphing methods that could be used to represent the data. It’s interesting to see how your perception of the data changes depending on the method used, and how some can distract from your message.

Alex did a video interview with me, Chris and Jacco. It’s very embarrassing and he promised to edit it, which he didn’t. You can see it here.

I’m off to the OTN night now.

Cheers

Tim…

Oracle ACE Dinner: The Dutch Invasion…

It was the Oracle ACE dinner last night, which clashed with the reception party and the Oak Table party. Luckily we managed to steal a few people from both.

There was a very strong Dutch presence last night. I think we need to move to stop this invasion of freakishly tall people from entering the ACE program. It’s raising the average height and making me appear shorter than I am…

Probably the biggest topic of conversation was the upcoming Oracle games console. Even a few of the Oracle rockstars present have started to take notice now. Damn those non-disclosure agreements. This needs to go public and it needs to go public now…

Cheers

Tim…

Develop Day…

The Develop day is my first conference day, but I guess for most people it is Day -1. After purposely leaving my calendar empty, I ended up filling the day quite well.

  • What Are We Still Doing Wrong? by Tom Kyte: It’s always a pleasure to hear Tom speak. He always has a good balance of content and humor and engages the audience so well, even in a massive room like today. Check out the slides when they come out. There are a number of the links to WTF style code samples and questions.
  • Welcome to the Oracle Application Express Sunday Symposium (ODTUG/IOUG) by Scott Spendolini and Dimitri Gielis: I grabbed some food with Scott yesterday and we discussed the contents of this talk so today it was a bit like deja vous. 🙂 Scott and Dimitri set the scene for the rest of the weeks presentations by explaining why APEX is a valid option when it comes to migrating/converting from legacy to web technology.
  • Oracle XML Database: Design Concepts for XML Applications That Will Perform by Marco Gralike: I’ve been working with the XML features of Oracle since they were introduced, but on a very small scale. Marco on the other hand has been doing the real deal. It’s good to hear some numbers from someone in the trenches.
  • Designing PL/SQL with Intent by Andrew Clarke: I’ve been presenting for about 2 years now and I guess it’s all thanks to Andrew. He gave me my first speaking opportunities as part of the UKOUG SIG events. He also gave me loads of tips about presenting, so I am forever in his dept. This talk was about the concepts behind design patterns as they relate to PL/SQL. Rather than go for the easy prescriptive option, he used design patterns for town planning as his metaphor and then related them to PL/SQL. I really liked the way it worked out. When I see people do these styles of talks I’m always a little jealous because it’s not something I can really pull off.
  • Oracle XML Database: Oracle Database 11g Release 2 New Features by Marco Gralike: The second talk by Marco I attended today (I’m not stalking him). As the name implies, this one was a quick romp through the new XML DB features in release 2, but it also mentioned some of the stuff from release 1.

One of the really nice things about all the traveling and speaking I’ve been doing over the last year is I’ve met so many people. Walking round today I keep bumping into people I’ve met at other conferences. It invariably results in me saying, “I’ve met you before but I don’t have a clue where!” 🙂 It’s cool because even though this is a massive event, it can still feel intimate when you are constantly meeting friendly faces.

It’s the ACE dinner tonight. I’m feeling a bit battered now, but I’m sure I’ll get my second wind by the time it starts.

Cheers

Tim…

Oracle ACE Director meeting and stuff…

The ACE Director meeting went well yesterday. On the database base side there were a couple of really neat things mentioned that they are considering for the next release. As usual it’s all a big secret, so it looks like I’ve got to keep my fingers crossed and my gob shut for a couple of years…

Lots of the other stuff went over my head. I’m just a DB guy, so the middleware and SOA stuff confuses me. 🙂

The prototype of the Oracle games console was awesome. Can’t wait to see what impact it has on the gaming sector. I think it’s going to strike fear into the hearts of Nintendo, Microsoft and Sony.

It’s was cool to hook up with all the usual suspect, and meet a few new faces.

After the meeting it was a very jerky bus trip into the city to check into the InterContinental hotel. I’m so close to the Moscone Convention Center that if I threw myself out of my 19th floor window I would practically be in/on Moscone West, albeit rather flat. My room is awesome.

In the evening I went out with a couple of the guys to a local Irish bar where Anjo forced me to drink beer. He really is a very bad influence on me. Doug Burns bailed on us. Probably suffering from “jet lag” again.

So I have today off before the circus comes to town tomorrow. I’m a combination of exited, nervous, daunted and tired.

On a slightly different note, I actually cleared my inbox for the first time in several months. I feel an air of calm descending over me… 🙂

Cheers

Tim…

New scheduler stuff in 11gR2…

There are some nice new features in the scheduler in 11gR2. I’ve written about them here:

Remember, there was already a bunch of new stuff added in llgR1, so there’s a lot of whiz-bang stuff if you are moving from 10g.

I do think there are some real security issues with some of this stuff if it is used unwisely though. The remote jobs (external and database) just strike me as a disaster waiting to happen in the wrong hands. 🙂

Cheers

Tim…