Av rating:
Total votes: 51
Total comments: 20


Phil Factor
The March of Technology
28 February 2007

It must have been the lobster we had for supper, but I dozed over my book, and slept fitfully. In my dreams, I bumped into Bill Gates.

"Hi Bill", I greeted him amiably. "Long time no see".

"It was 1982 to be precise", he replied, with that lopsided, curiously adolescent, grin I remembered so well. "And, I've been thinking, I was wrong to shout at you when we had adjacent stands at that conference."

Blimey, I thought to myself, the lobster must have been off.

"My fault entirely", I replied magnanimously, "for explaining rather too enthusiastically to that senior executive from Ford Motor Company that PCDOS was just CP/M with a bit of make up and frilly knickers."

"I didn't mind that so much as your long and amusing speech about Concurrent CP/M being years ahead of PCDOS."

"It was", I protested, "but you caught up eventually with NT. A shame about Xenix and OS/2 though"

"Never mind all that", said my old friend colouring up remarkably, "I need your advice on SQL Server".

"I must be dreaming!" I expostulated.

"You are", he replied. "You can't really imagine that the real Bill Gates wants your advice, can you?"

"I suppose not. Even in 1982, you weren't too keen. So you really are just an imaginary Bill, dreamed up after drinking too much Vouvray 2002 with my Lobster..."

"Just be thankful it wasn't a large glass of Chardonnay, otherwise you'd have gotten Larry Ellison."

"…and if I'd had finished the bottle, it would have been Beelzebub himself, in a haze of sulphurous smoke.."

"OK, enough pleasantries" said Bill, adding after a thoughtful pause. "I have a problem. I spent five years with one of the biggest development teams in history, creating SQL Server 2005. It is now 2007 and a good-sized chunk of the industry is still using SQL Server 2000". He paused again. "So, we started giving it away as SQL Sever Express, thinking that PostgreSQL and MySQL would just vanish as a result, and that existing SQL 2000 users would happily convert over to Express, and then up to the full SQL 2005. We were wrong on both counts. Everybody admits SQL 2005 is the most comprehensive database in history. It has everything. So what is wrong?"

"Simple. Look at this book I fell asleep over. This is typical. A book on administering SQL Server and it was written by nine people. The entire story of the "Decline and Fall of the Roman Empire" was written by one man, and here it takes nine people just to tell the poor souls who have the unfortunate task of administering the behemoth of a system how to do it. It doesn't quite say whether they wrote it serially, collapsing exhausted with writers cramp and passing on the metaphorical baton to the next volunteer, or whether they just partitioned off the immensity of the task between them. I find this deeply scary."

"Scary?" asked Bill, puzzled

"Yup. I've got to plough through all seven hundred and thirty-five pages before getting back to re-reading Beauchemin and Sullivan's 964 pages, and that's before I get stuck into all the changes in NET 2 that I missed. And I have a stack of books on PHP5 to tackle. If this trend continues, Microsoft's next offering will require each administrator to read an entire bookshop. Your SQL Server 2005 Administrators Pocket book might fit in the pocket of a Behemoth, but I would walk with a strange limp if I managed to stuff it in my trouser pocket. Authors wrote the great books on SQL Server 7 single-handed. Today's tomes are as thick as doorstops and are written by about nine authors. By simple mathematical extrapolation, books on the next version of SQL Server will be 2000 pages long and written by a small army! "

"Well, you have to keep up-to-date in any job…"

"Well, I used to think that doctors have the worst job of keeping up to date, but they don't find the entire human body changing its plumbing every five years. Sure, the drugs change, but aspirin is still aspirin. IT people are finding the entire field of knowledge changing radically every five years. We're getting information overload."

"Come now, Phil, it is just that you are an old fart, who can't keep up any more. You should be growing roses and knitting antimacassars, thinking about nice comfy chairs and joining the bowling club."

"There may be some truth in what you say…but I don’t think anyone is keeping up. Nobody likes to admit it. It is like owning up to having pitifully inadequate secondary sexual characteristics, or the brainpower of a two-toed sloth. We all like to keep up the myth of our mental adequacy, but it is a myth. It took man 100,000 years just to progress from the first stone tools to discovering how to make metal objects – and in evolutionary terms, we are complete strangers to the computer keyboard! It is a tall order for us to suddenly become the priests of the mystical power of Information technology. It would be all right if we were developing extra brain-lobes to keep up with the galloping complexity, but, if anything, our brains have shrunk slightly since civilization began."

I warmed to the subject. "The huge breakthroughs in Information Technology were breakthroughs because they were simple, and they reflected the way that business was already being conducted. When the relational database was introduced, people found that it was uncannily like the existing ledgers, and the systems put in place by the nineteenth century logistical experts after the Crimean war, and refined ever since. The Spreadsheet is simply an accountancy summary table, and could be recognised and comprehended by any accounting clerk from the time of the Industrial Revolution."

"SQL was a staggering advance, because it was so simple. The clever and difficult stuff happened under the bonnet. For one, you told the system what you wanted but not how to go about doing it; for another, you didn't have to keep a huge number of details in your head. It was just the same with Email or the Internet; dead simple, and easy to understand. The real skill of technology is to keep it conceptually simple. So what have you been doing for the last fifteen years, Bill, but adding complexity to a system whose chief virtue was its simplicity? It requires no thought to create a tower of Babel, a vast beast riddled with Rampant Featuritis; just effort".

We fell into a gloomy silence for a while, before I continued.

"Whatever anyone asks for in SQL Server is put in, until there are eight different ways to export a query to a file, four ways of extracting data from a spreadsheet, and a Byzantine intricacy in the handling of XML – which, by the way, started out as a dead simple way of representing small databases, before it got the complexity treatment. It is so easy to be obliging and add stuff in. The great skill is in keeping the product simple at the same time. One can imagine it happening. Some persuasive guy contacts Microsoft, suggesting a feature and, without checking if it is already there, a team gallops around in all directions developing a splendid do-it-yourself technology with a new TLA, that ends up being little more than an invitation to program the feature yourself: when all that was really required was a button."

"And there, frantically rushing around, trying to keep up are the DBAs and Database Developers. You give them the choice between a database like SQL Server 2000 that is complicated, but works and does the job they want, and one that is wildly complicated, but works and does the job they want, and then are surprised when they want to stick with the one that is merely complicated."

Bill looked at me impatiently. It was obvious that he'd heard this line of talk many times before. "OK," he said wearily, "So where next? What can one do about it?"

In a blinding flash, it all became clear to me; the vision of a product that hid its complexity behind a simple logical interface to the data. Here was a product where Microsoft no longer needed to tell us to do our own programming to get the features we needed. Here was a SQL engine that could be described in a short book, probably written by Joe Celko, or Bill Stanek.

I was about to tell Bill how to go about it when I felt myself being shaken, and the veil of sleep lifting. "Stop! Stop!" I shouted, "I must tell Bill what to do!"

The next moment I was awake in my chair, eyes glazed, textbook still open in my lap. My wife was standing over me, looking at me severely, and asking who this 'Bill' was, who ought to be told what to do. In panic I tried to recall what it was I was going to tell him. Surprisingly, I managed to recall at least a part of the advice that I had to offer.

All data objects, whether Word files, Excel files, XML, relational databases, text files, HTML files, registry files, LDAPs, Outlook and so on, are really relational databases, spanning the spectrum of metadata complexity. All we need to do is to build on all the ideas of ODBC and JDBC to provide the same logical interface to all of them. If we can do that, then SQL Server can treat them all the same logical way, as linked databases, and extract the metadata, create the entities and relationships in the same way, and use the same SQL syntax to interrogate, create, read, write and update them.

The complexity would be in the implementation, hidden from the poor DBA and developer. He would just know that he could create a Word, Access, XML or Excel file in the same easy way he could create a SQL Server database, and transfer data between these esoteric media, being obliged to do no more than specify the medium. Now, there's a start….

The rest of my advice got lost in the struggle to regain consciousness. Its loss is not important; as I'd be much more interested to read your suggestions on how SQL Server could be made simpler.



This article has been viewed 3296 times.
Phil Factor

Author profile: Phil Factor

Phil Factor (real name withheld to protect the guilty), aka Database Mole, has 20 years of experience with database-intensive applications. Despite having once been shouted at by a furious Bill Gates at an exhibition in the early 1980s, he has remained resolutely anonymous throughout his career.

Search for other articles by Phil Factor

Rate this article:   Avg rating: from a total of 51 votes.


Poor

OK

Good

Great

Must read
 
Have Your Say
Do you have an opinion on this article? Then add your comment below:
You must be logged in to post to this forum

Click here to log in.


Subject: Wake Up, Sleepy
Posted by: Rodney (view profile)
Posted on: Wednesday, February 28, 2007 at 11:05 PM
Message: Having had my own share of intoxicating beverages, I should probably not send this response. Having doused the guts with gallons of frothy amber, my better place would be under the sheets, but being three sheets to the wind and having read this long treatise on imaginary somnambulant wanderings, I have to say...Comfy Chair? First off, Access files need to vanish already, like OS2, like CP/M (whatever that is). I came up through the ranks like other IT profs, eager and hungry for knowledge, eating noodles..not lobster..printing Greenbar, lugging reams of useless reports compiled from ISAM files. UNIX\NT\MySQl\Informix\Linux\Sybase\2003\2005 what does it matter? Well, it does matter. People live by choices and is it all about salary? Well, yes it is. SQL Server DBA's (the damn good ones anyway (myself excluded presumably after I click Post Comment)) don't need simplicity...they need things to be compicated. They need new DM views and CTE's and CLR stored procedures and SSIS over DTS and then DTS too and password policies and Group by with HAVING clauses and xp_cmdshell and surface area configuration and best/worst practices, embracing temp tables over table variables and cursors over iteration because then they can say...Look at me...I managed to work 30 years from SQL 4.2 to SQL 2020 and no one bitched but the bloggers that I used #MyDamnTempTable. SQL 2005 is not Bill Gates' Nightmare at the moment. Hasta La Vista. I embrace SQL 2005 and 2000 and 7.0 and 6...ok, well I can only be so simple. Simply put, bring on the complexity. Bring on MORE and MORE SQL Server 2005 (express?---nah).

Subject: Wake up sleepy
Posted by: Phil Factor (view profile)
Posted on: Thursday, March 01, 2007 at 2:14 AM
Message: Hellfire, Rodney, you're right. The more complexity, the more work for us DBAs! Hang on a bit: there is a snag somewhere. Hmm. Oh yes, I'm not a DBA:

Subject: Not Just SQL 2005
Posted by: Anonymous (not signed in)
Posted on: Friday, March 02, 2007 at 8:18 AM
Message: Look at the new .NET 3.0. I cannot even keep up with the introductory white papers nor can I easily see the migration from 2.0 to 3.0.

You finally fixed 1.1 problems with 2.0. Now I have a new .NET 3.0 to learn a short 2 years later and, I of course, have to run Vista to use these changes.

No thanks Bill. I'm sticking with Windows 2000/SQL2000. They work, they work just fine on my 1 Gig AMD Duron most of my clients have at their desks.

Can I get the Auslese with dinner please?

Subject: We need models patterned on the way we think
Posted by: Anonymous (not signed in)
Posted on: Tuesday, March 06, 2007 at 5:17 PM
Message: It seems that we dbas and others in high-tech are able to live with a high level of complexity--someone has to. But where we can simplify, or make the complexity hidden or less needed by more people, we can make revolutionary changes for the better. We need models patterned on the way we think, as humans.

Personally, I am trying to become basically competent at most areas SQL2005; I think I will achieve it in a few years, but I won't be expert at all areas. It is very daunting, despite my mental and design abilities. I think that they should have new SQL releases every 5 years, or even less often, because of this complexity issue.

I like your ideas, Phil; keep up the postulating! I hope the right people at Microsoft has read your article.

Subject: Real Simple
Posted by: Anonymous (not signed in)
Posted on: Tuesday, March 06, 2007 at 10:37 PM
Message: Phil,

Great article, you took the words right of my mouth :),

Now time to sleep !!!

Subject: Fully agree
Posted by: Vayse (view profile)
Posted on: Wednesday, March 07, 2007 at 5:14 AM
Message: Here here!
Net 2.0 is still not bedded down, and people are only becoming used to it now. Yet Net 3.0 is just around the corner. Sigh.
Worse still is trying to get help on some of the Net 2.0 features. For example, the ReportViewer forum seems full of unanswered questions.

Phil - I couldn't agree more.

Subject: and LinQ
Posted by: Phil Factor (view profile)
Posted on: Wednesday, March 07, 2007 at 6:43 AM
Message: ..oh yes, nearly forgot, there is also LinQ to get stuck into. That's due to hit us soon.

Subject: RE: .SQL Server 2005, NET 3.0, LinQ, and Models based on how we think...
Posted by: Anonymous (not signed in)
Posted on: Friday, March 09, 2007 at 10:53 AM
Message: RE SQL Server 2005:

While I agree with Phil that SQL Server 2005 is a bloated beast, it was bound to happen. The compact version of MSSQL 2005 however, may be the best replacement for the JET engine MS has ever come up with, allowing developers to deploy client side databases that are secure and have a small foot print. For that alone, I'll deal with the bloated beast.

RE NET 3.0, LinQ, and Models based on how we think:

The main reason for the 3.0 Framework is to support LinQ (which gives developers a tool to interact with ALL data using what is basicly SQL) and the Workflow Foundation (which allows developers to build applications using busnness/dataflow modeling). These two tools combined have the potentioal to vastly simplify and improve application development and modification.

I am not a real fan of upgrading this quickly either (I still really don't have a handle on many of the changes in the 2.0 Framework) but I welcome the new tools that have the potential to improve the development of applications.

Subject: SSIS'ht
Posted by: Patrick Index (view profile)
Posted on: Friday, March 16, 2007 at 9:52 AM
Message: If ever there is a perfect microcosm of a bloated technology it has to be SSIS. My tip to make SQL Server 2005 simpler is to chuck the whole stupid lot in the bin an replace it with er.. a bit of programing in whatever flavour suits e.g. some Java and JDBC and perhaps bcp.exe. There's even a new file system task in SSIS for copying/moving/deleting a file! Surely it is simpler to do this in code with a filesytem object instead of pratting about with control flow guis and trying to learn all this guff?

Subject: Opinion?
Posted by: Anonymous (not signed in)
Posted on: Wednesday, March 21, 2007 at 6:29 AM
Message: I consider myself to be relatively inteligent:) and a hard worker:)). But sometimes, especially when I am stuck with my DataSets,DataAccess layers and integrating all of them with VS2005 and, at the moment (for last 4 months) with ODT.Oracle, I question my life path:) And, of course, here comes a new tool, with new gadgets... Life is a b...,isn't it?

Subject: Therapy...
Posted by: Anonymous (not signed in)
Posted on: Wednesday, March 21, 2007 at 10:37 AM
Message: Entertaining to be sure… and a bit therapeutic. I'll tell you what I got from this article and the thread that followed: a building sense of ease.
I too am an IT professional with about 15 years under the proverbial belt (which, from up here, has gotten more difficult to see over those same years) who about 5 years ago, made the move to management. I am still in IT, but directing my powers of influence not towards stubborn lines of code, but towards an even more resistant group: clients. I still have not lost my love for coding though and over the years have started to feel a sort of dread. Fear that I was too far removed now from writing the code, fear that I was either getting old, or getting dumb, or both. All of it coming from my inability to keep pace with the wild release frenzy at Microsoft. I am seeing more these days however, that I am not alone. My inability to adapt at the speed apparently required these days may not be mine alone. Apparently, some of the best out there are having the same difficulty. I find that a bit reassuring – thanks.
S

Subject: Re:SSIS'ht
Posted by: Anonymous (not signed in)
Posted on: Thursday, April 05, 2007 at 1:30 PM
Message: Patrick, having authored my own custom datapump some long time ago (pre-DTS/SSIS) let me just say that no, it is not easier to just write a bit of code yourself and be done with it.

SSIS isn't something you can just install and master in an afternoon but once you do, you'll be looking for excuses to use it.

I even went so far as to create a custom data source for a webservice as well as custom tasks to submit a report job to that service and poll for its completion. It is very, very cool. Developing the components was a royal PITA, but once developed, I just need to drag and drop them on the design surface and set a few properties and off we go.

At the end of the day, there is simplicity hidden within the complexity. Complexity means flexibility and choice. I think this is preferable to the alternative.

It is the road less travelled, but for me, it's made all the difference.



Subject: Further Down the Road...
Posted by: Anonymous (not signed in)
Posted on: Friday, April 06, 2007 at 12:46 PM
Message: Once upon a time, automobiles were simple, too. Put gas in at this end, turn the crank at the other end, jump into the carriage, and away you go. Since those days, we have added electronic ignition, power steering, anti-lock brakes, automatic transmissions, climate control systems, and even seat warmers and GPS. I have no doubt that the complexity may overwhelm the mechanics who may yearn for the days of a screwdriver and a timing light, but we are not going back to the Model T any time soon.




Subject: Kudos
Posted by: thisisfutile (view profile)
Posted on: Friday, April 13, 2007 at 9:46 AM
Message: <Wipes small tear from eye>, <stands up>, <APPLAUDS VIGOROUSLY>

Subject: Re: Further Down the Road...
Posted by: Patrick Index (view profile)
Posted on: Thursday, April 19, 2007 at 4:08 AM
Message: I prefer a bicycle myself. It's much quicker around town and I can fix it myself and I don't get to pollute the planet.

Subject: Leigh, Keep up the great work!
Posted by: Anonymous (not signed in)
Posted on: Wednesday, May 09, 2007 at 9:35 PM
Message: Keep up the great work!

Subject: Too true
Posted by: Anonymous (not signed in)
Posted on: Thursday, May 10, 2007 at 10:46 AM
Message: How about Ubuntu+PostgreSQL+Ruby - Not dead simple, but definitely simpler.

If I only had the option to tell MS where to go I gladly would. In the meantime we soldier on.

We're going to 2005 around here at the moment. We had to do it "because they're going to stop supporting 2000 soon". Seriously.

Subject: Re: Too True
Posted by: Phil Factor (view profile)
Posted on: Wednesday, May 16, 2007 at 2:24 PM
Message: Actually, I have to confess that I'm using 2005 now almost exclusively because one can scatter SQL Server Express around to do all those menial jobs without worrying too much about the cost. I suspect, though that SQL 2000 will be supported for a very long time to come

Subject: Perhaps if Microsoft chose to license SSIS, SSAS, SSRS seperately:
Posted by: Anonymous (not signed in)
Posted on: Friday, June 22, 2007 at 10:09 AM
Message: The SQL Server database engine itself is not that large, the Compact Edition is just 1.7 MB. Microsoft just bundles it with other integrated Admin, Development, and BI tools like Management Studio, SSIS, Analysis Services, Reporting Services, etc. It's essential (or at least potentially useful if you take time to learn them) tools that would cost about $10,000 or $20,000 if licensed seperately form 3rd party vendors.
Perhaps if Microsoft chose to license a no-frills Enterprise Edition of SQL Server at a lower cost and then license each component seperately.
Who here would be in favor?

Subject: problems with abstraction
Posted by: Josh (view profile)
Posted on: Wednesday, January 30, 2008 at 2:19 PM
Message: You seem to have the fire of the whole "Web 3.0" theme in this article. The idea of abstracting away all the details so that the process is simple once again.
However, if I was to offer my 2 cents, I would not allow Microsoft to abstract anything for me if possible. Not that I wouldn't support exactly what you're saying, I just wouldn't allow Microsoft to take care of it.

It has been said that "any abstraction that isn't leaky cannot be distinguished from a fundamental truth. A fundamental truth is not properly an abstraction. Ergo, no abstractions are not leaky." And if it is true that there is no such thing as a leak-proof abstraction then I can only imagine how leaky an abstraction developed by Microsoft might be.

 

















The Future of NET Reflector
 Simple Talk asked freelance writer Bob Cramblitt to sit down with the two people behind the agreement... Read more...

Andrew Tanenbaum: Geek of the Week
 Andrew Tanenbaum has had an immense influence on the way that operating systems are designed. He... Read more...

Level Playing Field
 The Federal Government in the States accepts tenders for their IT projects from a wide-range of... Read more...

Second Life: A Virtual World of Real Money
 As more and more people invest in alter egos to live a pseudo life online in Linden Labs' latest... Read more...

Risking your Reputation
 IT companies sometimes don't survive an incident that damages their reputation. Often, when... Read more...

Linus Torvalds, Geek of the Week
 Linus Torvalds is remarkable, not only for being the technical genius who wrote Linux, but for then... Read more...

Driving up software quality - the role of the tester
 Have you ever wondered what a software tester does? Helen Joyce, test engineer at Red Gate software... Read more...

Coming Out as a Cancer Survivor - A Guide for Software Developers
 A personal perspective on the responsibilities of a cancer-surviving software developer Read more...

The Computer that Swore
 Database Developers occasionally get crazy ideas into their heads. Phil Factor should know; He... Read more...

The Writing on the Wall
 Phil Factor offers an intriguing theory on why so many, hugely complex, government IT projects fail. Is... Read more...

Over 150,000 Microsoft professionals subscribe to the Simple-Talk technical journal. Join today, it's fast, simple, free and secure.

Join Simple Talk