First, let
me say that I'm a DBA, not an accountant. We tend to trust databases
to hold and organize data. We use applications and reports developed
by professional developers to retrieve that data. Those applications
and reports go through a software development lifecycle for a reason:
to make sure that they are accurate.
Despite this, many professional developers aren't writing "well-tuned
code". They're generally happy to get the right results and, as
long as it isn't painfully slow, performance is either an
afterthought or the DBA's problem. I've got news for you... some 80%
of performance issues are caused by poorly tuned code!
This is not to denigrate developers. I'm saying this mostly to prove a point: if you can't reliably expect well-tuned code from a professional developer, you're insane if you expect anything better from end-users with an ad-hoc query tool.
This is not to denigrate developers. I'm saying this mostly to prove a point: if you can't reliably expect well-tuned code from a professional developer, you're insane if you expect anything better from end-users with an ad-hoc query tool.
This is one reason why tools that allow end-users to produce their own reports
(Discoverer, ADI, et. al.) have always made me (and, I'm sure other
DBAs out there) somewhat nervous.
The other
reason I've always been a little twitchy about those tools is
accuracy. With professional developers, they understand the need for
testing and accuracy. End-users, however, frequently don't have that
same appreciation. So, when you allow end-users to develop their own
queries and reports, or to extract and manipulate data in a
spreadsheet, what kind of risks are you taking?
CIO
Magazine has a thought-provoking article on this.
Definitely worth a read.
– James
No comments:
Post a Comment