Wednesday OpenWorld Sessions…

Wednesday was a slash and burn day for me. I woke up and decided I couldn’t cope with any more sessions so I ditched the lot. Some of the RAC ones looked really cool, but I just couldn’t drag myself out of the seat to go to them. Instead I went to the OTN lounge to chill out and chat to people. Lots of cool people, talking about technical and non-technical issues.

I ended up tagging along with some of the guys to a couple of discussion type unconference sessions, but generally it was a downtime day.

The “big” keynote kinda passed me by. There was nothing there that held much interest for me, either because I already knew about it, or just didn’t care. The Arnold thing was a little surreal, but celebrities will do anything for cash, so I shouldn’t be surprised.

In the evening I went to Treasure Island with some of the guys. I ticked a couple of boxes (Seen Aerosmith and Roger Daltry), then came home.

I feel a little guilty about being so apathetic about the day when others would give there right arm to be here, but OpenWorld started nearly a week ago for me, because of the ACE Directors meeting, so I was feeling really burnt out.

Cheers

Tim…

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…

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…

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…

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 games console…

What is this years big OpenWorld announcement?

It’s not Oracle Database 11g Release 2, that’s already been announced and released. It’s not Exadata 2, that’s already announced.

So what can be so important it has relegated 11gR2 and Exadata to pre-OOW announcements, so as not to detract from the real message?

The Oracle Games Console. Working title OBox-720…

Get your first hands-on at OOW 2009…

Cheers

Tim…

OpenWorld Pictures…

I didn’t really take many photos in San Francisco, but here’s two shots I thought were worth posting…

First the DeLorean. Why didn’t Larry pack the Database Machine into one of these?

From OpenWorld

Next, a photo taken on Friday morning, after the conference was over. Believe it ot not, this was the road with the big marquee. Hard to imagine this road actually has traffic on it the rest of the year. 🙂

From OpenWorld

Cheers

Tim…

OpenWorld 2008 Summary…

This is the 3rd OpenWorld I’ve attended and I think it was probably the most enjoyable for me so far.

The first year I was more than a little overwhelmed and intimidated by everything. The scale of the event is hard to imagine and being surrounded by people who are at the top of their game is quite daunting. I wouldn’t say I was suffering from hero worship, but I did get the odd “we are not worthy” moment.

The second year I had a bit of a “been there, done that” attitude and I don’t think I really appreciated it as much as I should have done.

This year I think I found my groove and relaxed into things. It’s really cool to reconnect with people from previous years and meet new people.

Massive thanks to Victoria Lira and Lillian Buziak who I bugged incessantly about my travel arrangements for this trip. You are both worth your weight in gold. Big thanks to Justin Kestelyn and the OTN crew for making sure everything ran smoothly.

Cheers

Tim…

PS. Doug, perhaps next year you will be 3rd on the list…

Real World Performance, Exadata Storage & ACE Session…

Today was a very full day…

Real-World Database Performance Techniques and Methods
Real-World Database Performance Roundtable

I went to the primer session on Tuesday and both sessions today. I don’t think there was anything particularly new to me here, but listening to the experiences of a team like that helps you crystallize things in your mind. The three sessions were well presented and the last session, which was a Q&A session, through up a few interesting things.

Take-home messages in no particular order:

  • It all boils down to the SQL and the cardinality of the steps in the execution plan. If the optimizer gets the correct cardinality for each step it should make the correct decision. If it doesn’t it will make a bad decision. When you spot a problem SQL you need to find out why it make that bad decision.
  • Debug methodically. If only a fraction of your SQL performs badly, making global changes to the database is a very bad idea. Fix the problems, don’t tamper with the whole system.
  • You have to decide if your aim is to have predictable execution plans or to let execution plans evolve over time. Either choice comes with issues. To make plans predictable, use SQL Profiles, hints, check high/low values, avoid histograms and don’t be too quick to gather new stats. If you want plans to evolve, gather stats regularly and accept that plans will change over time. Identify poorly performing SQL when it arises and figure out why it is going wrong.
  • Tune 3rd party apps, and Oracle Apps the way the vendor recommends, even if it doesn’t make sense to you. Some applications are quite fussy and doing what you think is correct may be the wrong move.
  • Your aim should be to spread I/O evenly across all disks. ASM will do this for you.
  • In Oracle 11g, you should gather statistics with the auto sample size, unless you know of a specific reason not to. Don’t make random decisions on sample size.
  • The team always use 8K block sizes because that’s what the majority of the database testing is done against and what the majority of people use.
  • Partitioning: Global stats tend to give predictable execution plans, but that’s not always a good thing. Partition stats give a more accurate picture, but won’t always result in predictable execution plans. You have to decide which you want.
  • High/low values are important stats. Don’t default to extreme values that make high/low values unrepresentative as this affects the optimizer.

There’s a lot of information in the slides, so check them out when they come online. The main message is you should be methodical and consistent. Nothing new in that. 🙂

Oracle’s New Database Accelerator: Query Processing Revolutionized
Oracle’s New Database Accelerator: A Technical Overview

These two sessions were renamed to include the Exadata name. I didn’t record the new names, but I guess that will be obvious when you see the list of presentations.

Take-home messages:

  • The exadata storage server is also known as a storage cell.
  • You can buy the storage cells on their own and use them to build your own database system, or buy the preconfigured database machine.
  • The system is only supported on Linux at the moment, but other platforms will follow. I assume this means databases on other platforms plugging into the same Linux storage appliances.
  • The storage cells are single purpose. They are for holding database files only. If you want a shared filesystem for any other file types you need to use something else. So you guys who want to use it to store MP3s and pr0n better store it in BLOBs in the database. 🙂
  • The iDB protocol (like iSCSI) presents storage to ASM. No OS config (LUNs mount points) is necessary. At its simplest, you can consider each storage cell as a single disk when viewed from ASM.
  • Storage cells don’t talk to each other, only to the database. The cells are aware of the database state and the database knows about the cells because of ASM.
  • Multiple databases can use the same storage cell.
  • The storage is presented to the database as shared-everything, but it has elements of shared-nothing architecture. Because the presentation to the database is unchanged, it is suitable for use with any existing application without change.
  • There is an EM plugin and several tools, but for the most part it needs no management. It is essentially a storage appliance (their words), but it can do some clever stuff.
  • Because of the presentation of storage cells to ASM, adding new storage cells is like adding disks. It triggers an ASM rebalance.
  • Normal ASM mirroring (2 or 3-way) is present, but it makes sure it mirrors to different cells, not just different disks in a cell, so it can tolerate a disk or a cell failure.
  • The storage cells should not need a software upgrade to work with new versions of Oracle, but if new offload features require changes, you may be restricting the offload functionality by not upgrading the cell server software. This was likended to the ASM compatibility modes in 11g.
  • Resource management information is passed from the database to the storage cells so I/O is prioritized to match the database resource management.
  • When you offload processing to the storage cell, only the relevant column information is returned. As a result, this won’t be stored in the buffer cache, but it is possible to cache it in the SQL result cache.
  • Up to 6 of the prebuilt database machines can fit together by just cabling them. You only need to worry about extra infiniband switches if you want more than 6. I can see this being a big problem for me… Not! 🙂
  • It is designed for intensive query work, like warehouses. The performance of insert, update and delete operations is just like any other block storage device. That’s what the guy said, but I guess it was a glib statement. I would assume it is still faster than most storage devices due to the wicked network bandwidth.

This list represents many of the points made in the two talks, but I’ve started to read some of the stuff on Kevin Closson‘s blog, and the related links and it’s making me a bit nervous about my random ramblings. I’m going to leave this list here to remind me of what I heard, but you really need to check out the white papers.

There were some neat slides explaining the cell server software and the way the project evolved.

The biggest surprise to me was how few people were actually at these sessions. I blogged previously to say I was underwhelmed by the announcement, but I was still curious. It seems not many other people were. 🙁

After hearing a bit more about the kit I can see why some people are really excited by it. It is very clever, but I still think it is pretty irrelevant to grunt DBA/Developers like me. Of course, I reserve the right to get excited by it at a later date and back track on all my cynical rantings. When they are in the bargain section at PC World I will race to the shop to buy one, but until then I guess I’ll be stuck with crappy old disks. 🙂

Oracle ACE Director Birds-of-a-Feather Tips and Techniques Panel

This was my only real job at OpenWorld and I was pretty nervous going in to it. When you present a formal session you are talking about a specific area and you have an idea of what questions might come up. Sitting on a panel without access to Google and no time to compose your thoughts is a whole different ball game. Luckily the verbal diahorea gene that runs in my family was expressed in full effect and I managed to do more than my fair share of talking. Thanks to Lewis for setting this up. Thanks to the other guys on the panel for answering the questions that would have stumped this chump. Most of all thanks to the attendees for turning up and asking questions. I hope you got something out of it. 🙂

I think I’ll let the events of the last few days sink in, then write a summing up post tomorrow.

Cheers

Tim…