jump to navigation

Advert – a new Blog to watch August 24, 2010

Posted by mwidlake in Blogging.
add a comment

A friend of mine who’s work and attitude towards Oracle performance and architecture I respect has just started blogging, so I thought I would give him a mention. Dave Webster, welcome to the world of blogging.

I know from some discussions with Dave about blogging that he has a lot of things he wants to cover (and he knows an awful lot; he has been working on especially OLTP-type performance for many years). So, no pressure Dave, but I expect lots of good stuff from you :-)

What, me? An OakTable member? August 23, 2010

Posted by mwidlake in Uncategorized.
Tags: , ,

The title rather gives it away, but I have been invited to become a member of the OakTable network. For anyone not aware of the OakTable, it is a group of some of the very best Oracle practitioners around and you would recognise many of the names in the group. Most of them also present at conferences around the globe and set up the Oak Table challenge at various of these venues, where they try and address any oracle-based question you might have.

All of them are very bright, all are very knowledgeable.

Which is where I come a little unstuck. Without wanting to sound like some vapid actor at a Hollywood award ceremony decrying “I am so unworthy of this nomination”, whilst secretly thinking “I so deserve this”… Well, my initial thought when receiving the invite was “I am so unworthy…”. I’ve had the weekend to think about it though. And I still think “I am so unworthy…”

I’m actually on record as suggesting that we might also need a “Formica Table”, though the only online reference to it I can now find {I MUST put my old presentations on my web site} is from the archives of Andrew Clark’s Radiofreetooting blog about a presentation I did at the UKOUG in 2007. {Follow the link and search for Widlake or Formica, it is way down the bottom}. If you can’t be bothered looking at the original, Andrew said this:

I was particularly taken with the Formica Table. This would be a forum where “not bad” DBAs answered questions which fitted 95% of all scenarios; sort of an Oak Table For The Rest Of Us.

I think his quote of me was actually better than the original. The idea was that the real experts on the Oak Table {is it actually one word guys? “OakTable”!?} deal with the hard, tricky, complex issues and this secondary formica table could deal with the rest of the world. Because I could just about cope with formica level. The intention being, of course, that I would sit on said plastic-laminate-coated-chipboard table.

Am I being falsely modest here? I do not think I am. I know I am good at what I do and I know I have achieved some impressive things. I also know most people who employ me ask me to stay longer (and I usually do). But I am realistic. I’m very good but I am not fantastic (at Oracle anyway :-) ). And no way as capable as many OakTable members. But the people on the OakTable have some other things in common. From the home page of the website:

The OakTable network is a network for the Oracle scientist, who believes in better ways of administering and developing Oracle based systems.

The impression I get from spending some time with the handful of members of the OakTable that I already know is that they generally all feel that you need to not only be knowledgeable about Oracle (or whatever area of knowledge you are interested in) but you need to be able to demonstrate and show that the knowledge is real. You create test cases and try things out. Just saying “you should use a large block size for data warehouses” is just not really enough, it is so much more powerful if you can say why you think this is so and then produce test cases to show that. And if someone produces a test case to show the opposite, well you need to reconsider. It is what is at the core of the scientific method. You test things and have to adapt or change if the tests refute your theory. If someone will not provide test cases or real-world examples to support their facts, they are in fact, opinions. Which is fine, just don’t sell them as facts.

The other common thread is a willingness (and perhaps a worrying compulsion) to teach. I’ve seen many of the OakTable present and I know a lot of them do courses all over the globe. Sometimes it is paid work, often it is not, it is done as a benefit to the community. That is nearly always the case with user group presentations.

I’m figuring that is why I’ve been invited to join. Technically, most if not all the OakTable are a step or three better than me and I reserve my right to respect that. But I really believe in demonstrating what you think is going on with Oracle is what is really going on and I have an almost worryingly compulsive willingness to teach.

So, have I turned down the invite? Are you kidding!?! It’s great to be invited and I really look forward to having more to do with this bunch of talented and helpful people. And I am also looking forward to contributing my little bit to the group and, through it, to the wider Oracle community.

It is slightly ironic that I have been asked to join a group of people right now who are characterised by their willingness and drive to scientifically investigate and then disseminate information on Oracle-based technology when I have spent the last month doing nothing of the sort. I have been digging ditches, cleaning out ponds, chopping down trees and doing major DIY, all of which I am utterly unsuited to but I enjoy. So I now feel obliged to stop that, pick up a keyboard and continue to investigate the edges of my ignorance. I’ll try and keep you informed of progress.

Oh, and I have another problem now. How do I get the OakTable Icon onto this blog? Somewhere on the right I think…

How Fast for £1,000 – Architecture August 5, 2010

Posted by mwidlake in Architecture, performance, Testing.
Tags: , , ,

My previous post proposed the creation of “the fastest Oracle server for a grand”, or at least an investigation into what might be the fastest server. I’ve had some really good feedback {which I very much appreciate and am open to even more of}, so I think I’ll explore this further.

My initial ideas for the hardware configuration, written at the same time as the original post, were:

  • A single-chip, quad core intel core i5 or i7 processor (I would like two chips but the cost of multi-chip motherboards seems too high for my budget)
  • 8GB of memory as the best price point at present, but maybe push to 16GB
  • Multiple small, fast internal disks for storage, maybe expand via eSATA
  • backup to an external drive (cost not included in the budget).
  • USB3 and use of memory sticks for temp and online redo.
  • If budget will stretch, SSD disc for the core database components. like core tables, index tablespaces (who does that any more!).
    ASM or no ASM?
    If I run out of internal motherboard connections for storage, can I mix and match with USB3, external e-SATA or even GB ethernet?

As for the Oracle database considerations, I have a good few things I want to try out also. In the past (both distant and recent) I have had a lot of success in placing components of the database in specific locations. I refer to this as “Physical Implementation” {Physical Implementation, if I remember my old DB Design courses correctly, also includes things like partitioning, extent management, tablespace attributes – how you actually implement the tables, indexes and constraints that came from logical data design}.

Physically placing components like undo and redo logs on your fastest storage is old-hat but I think it gets overlooked a lot these days.
Placing of indexes and tables on different tablespaces on different storage is again an old and partially discredited practice, but I’d like to go back and have a new look at it. Again, I had some success with improved performance with this approach as little as 8 years ago but never got to rigorously test and document it. { As an aside, one benefit I have been (un)fortunate to gain from twice through putting tables and indexes in separate tablespaces is when a tablespace has been lost through file corruption – only for it to be an index tablespace, so I was able to just drop the tablespace and recreate the indexes.}

Then there is the use of clusters, IOTs, Bitmap indexes and Single Table Hash Clusters (are you reading this Piet?) which I want to explore again under 11.

I don’t think I am going to bother with mixed block sizes in one DB, I think you need very specialist needs to make it worth the overhead of managing the various caches and the fact that the CBO is not so great at accurately costing operations in non-standard block sizes {issues with the MBRC fudge factor being one}. But I think I will re-visit use of “keep” and “recycle” caches. For one thing, I want to show that they are just caches with a name and not special, by using the “Recycle” cache as the keep and the “keep” as a recycle cache.

Should I be using RAT for testing all of this? I said I was not going to use any special features beyond Enterprise edition but RAT could be jolly useful. But then I would need two servers. Is anyone willing to give me the other £1000 for it? I’d be ever so grateful! :-)


Get every new post delivered to your Inbox.

Join 152 other followers