Search

OakieTags

Who's online

There are currently 0 users and 31 guests online.

Recent comments

Affiliations

Oakies Blog Aggregator

Friday Philosophy – The Dying Art of Database Design?

How many people under the age of {Martin checks his age and takes a decade or so off} ohh, mid 30′s does any database design these days? You know, asks the business community what they want the system to do, how the information flows through their business, what information they need to report on. And then construct a logical model of that information? Judging by some of the comments I’ve had on my blog in the last couple of years and also the meandering diatribes of bitter, vitriolic complaints uttered by fellow old(er) hacks in the pub in the evening, it seems to be coming a very uncommon practice – and thus a rare and possibly dying skill.

{update – this topic has obviously been eating at my soul for many years. Andrew Clark and I had a discussion about it in 2008 and he posted a really good article on it and many, many good comments followed}

Everything seems to have turned into “Ready, Fire, Aim”. Ie, you get the guys doing the work in a room, develop some rough idea of what you want to develop (like, look at the system you are replacing), start knocking together the application and then {on more enlightened projects} ask the users what they think. The key points are the that development kicks off before you really know what you need to produce, there is no clear idea of how the stored data will be structured and you steer the ongoing development towards the final, undefined, target. I keep coming across applications where the screen layouts for the end users seem to almost be the design document and then someone comes up with the database – as the database is just this bucket to chuck the data into and scrape it out of again.

The functionality is the important thing, “we can get ‘someone’ to make the database run faster if and when we have a problem”.

Maybe I should not complain as sometimes I am that ‘someone’ making the database run faster. But I am complaining – I’m mad as hell and I ain’t gonna take it anymore! Oh, OK, in reality I’m mildly peeved and I’m going to let off steam about it. But it’s just wrong, it’s wasting people’s time and it results in poorer systems.

Now, if you have to develop a simple system with a couple of screens and a handful of reports, it might be a waste of time doing formal design. You and Dave can whack it together in a week or two, Chi will make the screens nice, it will be used by a handful of happy people and the job is done. It’s like building a wall around a flower bed. Go to the local builders merchants, get a pallet of bricks, some cement and sand (Ready), dig a bit of a trench where you want to start(Aim) and put the wall up, extending it as you see fit (Fire). This approach won’t work when you decide to build an office block and only a fool from the school of stupid would attempt it that way.

You see, as far as I am concerned, most IT systems are all about managing data. Think about it. You want to get your initial information (like the products you sell), present it to the users (those customers), get the new (orders) data, pass it to the next business process (warehouse team) and then mine the data for extra knowledge (sales patterns). It’s a hospital system? You want information about the patients, the staff, the beds and departments, tests that need doing, results, diagnoses, 15,000 reports for the regulators… It’s all moving data. Yes, a well design front end is important (sometimes very important) but the data is everything. If the database can’t represent the data you need, you are going to have to patch an alteration in. If you can’t get the data in quick enough or out quick enough, your screens and reports are not going to be any use. If you can’t link the data together as needed you may well not be able to DO your reports and screens. If the data is wrong (loses integrity) you will make mistakes. Faster CPUS are not going to help either, data at some point has to flow onto and off disks. Those slow spinning chunks of rust. CPUS have got faster and faster, rust-busting has not. So data flow is even more important than it was.

Also, once you have built your application on top of an inadequate database design, you not only have to redesign it, you have to:

  • do some quick, hacky  fixes to get by for now
  • migrate the existing data
  • transform some of it (do some data duplication or splitting maybe)
  • alter the application to cope
  • schedule all of the above to be done together
  • tie it in with the ongoing development of the system as hey, if you are not going to take time to design you are not going to take time to assess things before promising phase 2.

I’m utterly convinced, and experience backs this up, that when you take X weeks up front doing the database design, you save 5*X weeks later on in trying to rework the system, applying emergency hacks and having meetings about what went wrong. I know this is an idea out of the 80′s guys, but database design worked.

*sigh* I’m off to the pub for a pint and to reminisce about the good-old-days.

45 years ago...

Space: the final frontier. These are the voyages of the starship Enterprise. Its five-year mission: to explore strange new worlds, to seek out new life and new civilizations, to boldly go where no man has gone before.


It was 45 years ago today that those words were broadcast. One of my favorite TV series (Enterprise was probably my personal favorite of all of the genres) of all times.
I enjoyed reading this list of eight gadgets from Star Trek that made it into 'real life'. I never realized that the StarTAC from Motorola was named after Star Trek - that is sort of neat. I remember many years back, Verizon came into Oracle in Virginia to try to sell our division on a new phone plan. My manager and a coworker were there and the Verizon person asked us what type of phone we used. My manager had an AT&T phone that was pretty fancy for the time - he could walk up to his computer and the blue tooth would unlock it automatically. My coworker had an early Palm phone - it could do data and web and all. Mine - it was a Star TAC - I flipped it out and said "I can make phone calls with it". The guy from Verizon said "yeah, well the Smithsonian just called and they want your phone" (I got a new phone shortly after... A Palm phone, I used it for years).
Anyway - the list of things that were "Star Trek worthy" but are now real is longer than eight - but that blog post is fun to read. But as I wrote a while ago - and as someone commented on that post - we still need transporters!

Descending Indexes Quiz (Up On The Ladder)

OK, you won’t find the answer to these questions on my blog, so using my search facility won’t be of any help Actually, it’s quite an easy one this, honest If you have a query such as: SELECT * FROM bowie WHERE id BETWEEN 42 and 84 ORDER BY id DESC; 1) Can a default B-Tree index on [...]

Best Method To Select One Row From Small Table – Solution (Revolution 1)

OK, time for some answers, although of course regular readers of this blog will already know the answer :) When selecting one row from the small table as in the quiz in my previous post, the correct order is as follows: 1) PK access of an Index Organized Table. This option only requires just the 1 consistent [...]

Mike Carey: The Devil You Know…

I’ve just finished reading “The Devil You Know”, by Mike Carey. It’s the first in a series of books about an exorcist called Felix Castor, who lives and works in London. It’s not all spinning heads and green vomit. Like The Dresden Files, it’s more of a detective story that includes supernatural stuff.

If, like me, you are a fan of Harry Dresden and can’t wait for the next book, then this might quell your appetite.

Cheers

Tim…




Oracle Exadata vs SAP HANA

Before I left on vacation (now almost a month ago – can’t remember when I had such a long vacation if I ever had), Mark Fontecchio organized a short video conference between myself and John Appleby. The idea was to compare Oracle Exadata with SAP HANA in a shot video discussion. Unfortunately, video part didn’t [...]

Not So Smart

It’s been a few months since I did an install of Oracle Enterprise Manager 11g. I am however talking about some experiences from a real world implementation that I performed a while back at the UKOUG’s Management and Infrastructure SIG on the 27th. (you can book for this event here ) I thought therefore that [...]

Advice from the Internet

A somewhat recursive post here. There are a number of forums around the internet which Oracle professionals increasingly use to research various issues, discover new features and diagnose problems. One such is the relatively new Database Administrators stack exchange site. For various reasons I came across this thread and in particular a piece of advice [...]

Oracle Security Training in Denver, USA

Ron Reidy will be teaching my 2 day class " how to perform a security audit of an Oracle database " in Denver, CO, USA on November 10th and November 11th 2011. The class is a public course so if....[Read More]

Posted by Pete On 06/09/11 At 09:49 AM

UKOUG Oracle Conference agenda now out

I just wanted to drop a quick post to say that the agenda for the UKOUG annual conference is now out. You can check out the schedule here.

They seem to have dropped the TEBS (Technical and E-Buisiness Suite) out of the title, I think because last year the UKOUG staff kept getting asked if it was the annual Oracle conference they knew and loved from prior years. And of course it is. (Other “application” sides of the Oracle world, like JD Edwards and PeopleSoft, have their own dedicated, named UKOUG conferences).

There is also a return of the Sunday OakTable stream. For those who have not come across it before, it is a chance to see some presentations by members of the OakTable in a smaller and more accessible room. ie you feel better able to ask the presenters awkward questions :-) .
I’m not sure of the exact details of registering for this part of the event but the agenda shows the talks that are happening (in fact, if you click on the “view the full 2011 agenda” icon on the agenda home page, it shows Sunday by default). I managed to get along to the OakTable Sunday a few years ago and loved it – I’ll be on the opposite side this time, I’m priviledged to have been asked to fill one of the slots.

As ever, the conference has a massive and wide-ranging agenda, with mini-streams like EXA(data/logic) and MySQL on Monday,APEX on Wednesday… The number of papers and the general quality that are submitted to the conference goes up and up each year and a lot of effort goes into not just picking well know speakers but also a mix of new presenters and ensuring topics get covered. It’s hard, but during the selection process sometimes there are 4 or 5 talks we know are going to be excellent but are all on the same or similar topic – some have to be dropped to ensure the breadth of topics is still covered. The number of slots a single person is allowed to have is also controlled, again to maintain space for a wide range of presenters and presentations. All in all, it is not a simple task and even now some tweaks are going on (to fill topic gaps, finalise the exact scope for a talk or to allow for people who suddenly find they cannot present anymore). You can rest assured though that, all in all, it will be an excellent conference.