Tuesday, October 13, 2009

Tuesday: it's raining today

The streets of San Franscisco are awash with rain. So are the pavements, sorry, sidewalks. Here and there stand clumps of delegates, in shock. Not just at the rain, but the fact that it is cold rain. Apparently Californians are only used to warm rain.

My colleagues back in Englan have gleefully e-mailed me to say they are having some lovely sunny autumn days. I say it just goes to show, Open World is work and not a jolly.

Anyway, next year Oracle are going to scale out the Howard Street tent to provide a covered walkway between all the hotels. Until then, it's unmbrellas and soggy shoes.

Monday, October 12, 2009

The return of The Scott And Larry Show

Waiting for the keynote to start, the screens loop an animation of stacked cubes labeled "Database","Applications", "Infrastructure" etc unfurling themselves into strands of little cubes which click-clack across the screen and then reform into the big cube. The effect is like a 3D version of the old skool game, Snake, in which you have to direct an ever-elongating python so it swallows mice, spiders and other small creatures.

So anyway, on comes Scott McNealy in a sweater he describes as being "Oracle maroon". I think Open World has missed Scott.. He was one of the few keynote speakers who you could rely on to entertain as well as inform. He kicked off with a Top Ten of Signs Engineers Have Gone Wild. Alongside things like OS2 and USB drives shaped like sushi he had the iPhone user interface. That was an odd choice, because the iPhone is game-changing device and its interface is a marvel of engineering in the service of design.

His next top ten were Sun Innovations. This included SPARC, Java, CoolThreads, NFS and Project Blackbox. It also included "Open Source software" which is debatable. But even if it is true, it highlights Sun's problem: Java was innovative, it was a game-changer and it is ubiquitous. Unfortunately Sun failed to make much - if any - money from Java. Nobody can accuse Steve Jobs of failing to capitalise on the iPhone's innovatory qualities.

The rest of Scott's session was devoted to reassuring us (and him?) that Sun's legacies would thrive under Oracle. James Gosling came on to tell us that most of Oracle's biggest selling products, the Apps and Middleware, are just "big bags of Java". Then John Fowler laid the groundwork for the last section of the keynote. Sun systems are now number one in seven key commercial benchmarks - OLTP, Oracle BI, SAP etc - because Sun has an integrated computing infrastructure, and because they address efficiency as well as performance. The latest Sun drive is the 1.8TB F5100, a Flash drive which has a capacity equivalent to thousands of disks and runs at a mere 300 watts.

This was all by way of introduction to Larry Ellison. Larry's brief was to address head-on IBM's campaign of FUD directed at Sun customers. They are going to invest more in SPARC, in Solaris, even in MySQL. "We think we can make MySQL a better product and we think we can make some money along the way." Addressing the question of servers and storage, he cited an interesting comparison: Apple. Apple have solved the problem of combining hardware and software and this enables them to deliver products which are clearly differentiated from those of their competitors, who are often consortia.

Together Sun and Oracle have the strength to "beat the giant". That is, IBM. Larry then unveiled the headlines of their attempt on IBM's TPC-C benchmark record. The Sun/Oracle cluster had almost 25% more throughput, with a response times which was two hundred times faster. The Sun/Oracle challenger consisted of nine racks in a fault-tolerant configuration, whereas IBM used a behemoth of seventy-six racks which had single points of failure. To top it off, the IBM configuration used six times as much electricity ("Now we know why IBM's microprocessor is called 'Power'", quipped Larry, although I'm not sure the per machine usage quite justifies that zinger).

Larry rounded off by announcing a $10million challenge: your application will run two times faster on Sun and Oracle than it does on IBM, or you win ten million dollars. This is an interesting development: IBM are big Oracle customers, not to mention partners in many areas. Also there are other manufacturers of hardware who will be monitoring the "Apple-fication" of Oracle with some nervousness.

But in the meantime we can look forward to the Grand Smackdown: Team Read versus Big Blue. It's so on.

Sunday: still on the same kick

One of the advantages of membership of the Jet Lag Junta is that I had already been awake for several hours when Tom Kyte kicked off Oracle Develop at 09:00 on Sunday morning. The topic of Tom's talk was What are we still doing wrong? It was a good mix of insight and humour. He covered:

  1. Underestimating complexity
  2. Not knowing how to ask for help
  3. We write/generate way too much code
  4. We pretend everything will be alright
  5. Security matters.
I think Tom would be the first to admit that most of these are things he has been banging on about for years. That is rather the point. His talk was peppered with recent examples of badly-formed code, useless error messages, poorly-asked forum questions and other horrors. One pertinent item concerned the T-Mobile Sidekick (a kind of mobile phone) which stores all its - i.e. your - information in the cloud. Only their storage provider applied an upgrade to the production server without taking a backup. And in the process lost everybody's data - contacts, photos, the lot. Doh!

Tom got a spontaneous round of applause for an extended riff on when others then null which ended "if it's okay for all of your code to not run some of the time then it's okay for it to never run. So take it out." I think if he had included a "Can I get a 'Amen'?" in there he would have got one those too.

My session went pretty well. I think. It was standing room only, which was nice. Both Steven Feuerstein and Bryn Llewellyn were in the audience, which was a bit daunting. I opted for the lectern microphone, which was a mistake; I occasionally misjudged the distance, so the sound levels on the recording will probably be wild. The annoying thing was a problem with the projectors, which washed out the slides. Some were virtually invisible. Fortunately they were mainly there as supporting wallpaper for my talk but it was still frustrating after all the effort I had put in to them. There were no questions at the end, which worries me slightly. But on the other hand hardly anybody walked out, so I hope they got something from it.

I stayed with the Design Patterns thing by going to hear Robin Smith and Shailendra Mishra talk about Design Patterns for Complex Event Processing. As it turned out there were not really any design patterns as such, just an introduction to Oracle's CEP implementation. They have extended ANSI 92 SQL to include a temporal component. This means we can query a STREAM of events using a SELECT ... FROM statement just like a database table. Furthermore we can use WHERE clauses and even join the out put from a stream with regular database tables. Plus the demo included a Google Maps plug-in which the changed colours of the pins in real time. Cool!

Then I went to hear Bryn Llewellyn's talk on Edition-Based Redefinition. This is a very exciting new feature of 11gR2 It will allow us to apply changes to database code and structures online, in production, invisibly to the users. The key to this is running the old code and the new code in parallel. This is achieved with Editions. An Edition is basically a copy of a set of database objects. We can change some of them in the new Edition. Items such as tables are not editionable, so they need to have structures which support both the old and the new edition. DML changes are applied transparently to both using Cross Edition triggers and the data is retrieved using Editioned Views.

We can run both Editions in parallel for as long as we like, in a period rather sexily called Hot Rollover. But eventually we switch all our users over to the new Edition and we can drop the remnants of the old edition in slow time. Oracle are marketing this as a High Availability feature but I think the main attraction for developers will be the chance to put an end to Upgrade Failure Misery. Editions give us the opportunity to get the code in place, migrate the data and generally make sure everything is working properly before we announce the release of 2.1 to our users.

There are some interesting limitations. There is no ability to reference an object by Edition. We can set the Edition for a session, programmatically, but all the objects we see are determined by the set Edition. Tables are not - and never will be - editionable. A non-Editioned item cannot depend on an Editioned item. That means that tables cannot use an Editioned Type and function-based indexes cannot use an Editioned function.

I thought Edition-Based Redefinition is such a cool feature that it would be a Chargeable Optional, like all the other recent cool features (yes, RAT, I'm talking about you). But in fact the opposite is true. Not only is Editions not an option it is mandatory: when we install 11gR2 our database has a default Edition. But if we want to make use of the Redefinition capability we have to do some work to re-jig the schema (rename all the tables, put in Editioned views with the old table names). That has to happen offline. But Bryn promises us it will be the last offline upgrade we'll ever do.

Saturday, October 10, 2009

Saturday: The light of San Francisco is a sea light

Weather is going to be a feature of the conference this year. As the plane made its final approach into SFO out of the windows we could see this enormous blanket of fog laying siege to the city. The city itself was clear and the towers of Downtown glittered in the sunshine. Outside the airport, waiting for a taxi the sun was shining strongly enough to make me wish I had brought some sunscreen. But walking about SF later there was a cool wind. So a jacket, while not strictly required, was welcome.

There's more weather to come. Apparently some "tropical moisture" left over from a hurricanetyphoon is heading our way from the Pacific. So they are forecasting rain, some of it heavy, for Monday through Wednesday. It is unfortunate that the conference rucksack doesn't include an umbrella this year; some sponsor might have got a lot of goodwill, not to mention advertising. Being English I never travel without a brolly, but I may end up wishing I had brought a mac as well.

So the Howard Street tent might get more use this year. Outside the Moscone Center a couple of its staff were having a cigarette break. One of them, staring morosely at the tent, said to his companion "Between tomorrow and Thursday, it's going to be hell".

We shall see.

Friday, October 09, 2009

Speaking at Open World 2009

All the leaves are brown and the sky is grey. Which hackneyed line can only mean one thing: OpenWorld 2009 is upon us. I have applied for Bloggers' credentials so it occurred to me that I had better resume posting, in case anybody checks up on these things.

One of the reasons why I haven't blogged anything recently is that I have been working hard on my presentation. My talk is called Designing PL/SQL with Intent (seats still available!). I haven't coded any PL/SQL for work this year, which ironically has given me time to actually think about it. My session is concerned with building PL/SQL APIs and doesn't really touch on the internals (I'll leave that to Tom, Bryn and Steven). Because I am talking about design, I have spent an inordinate amount of time of the look of my slide deck. So this recent Dilbert cartoon was a little too close to the bone....

I'm in the Oracle Develop event. My slot is 13:15 on Sunday, less than twenty-four hours after I land at SFO. So I will probably still really jetlagged. But at least I'll get it over with, so I can relax and enjoy the rest of the week.