Hi Ian,

That all makes a great deal of sense. I really feel you're onto the right
track with the database tuning method, that'll be a great start, whilst this
is a fairly heavy database, in this day and age it also isn't really THAT
heavy and these slow running queries, crashes and batch processes really
isn't something you should have to worry about, I'm sure they're all quite
solvable.

>From a front end perspective I think that defining an API for data retrieval
is really a key for you, if you can create a common interface for the data
collection which allows people to specify parameters for the data, you can
then build a front end app, be it HTML, FLEX, AIR or otherwise which allows
users to access the data without you and the other developers having to
interpret their bespoke requirements and build queries for them. This is
really just building a reporting tool for them.

Then, should you wish to open a web service up which would allow more
experienced people/corporations to access the data then that becomes very
easy because all you're doing is publishing a version of the same API you
use for your application. This way you're able to meet everyone's
requirements. And with this strictly documented and defined API there is
none of the confusion about misinterpreting their requirements, if they get
the wrong data it's their fault for specifying the incorrect parameters.

Because DB tuning is all quite specific to the data you want to retrieve
(and insert) I would first start assessing and designing the API, once you
know what and how the data is going to be retrieved (I mean you know what
the queries look like) then you can tune the database to meet that
requirement. Furthermore once you're in that position you can also start
thinking about query caching, views and things like that to further extend
the performance of the system.

Rob

-----Original Message-----
From: Ian Skinner [mailto:h...@ilsweb.com] 
Sent: 23 April 2009 17:35
To: cf-talk
Subject: Re: YIKES! I must let internet users write SQL queries for our
database!


Database tuning is an important line item on my discussion list for this 
meeting.

To expand on some of your points.

First the system currently limits users to only selecting data from on 
year at a time as a stop-gap measure to try and limit the operating cost 
of the query.  The trouble is that this is both too limiting and not 
limiting enough.  First it is still quite possible for a user to build a 
query that will jam up the system while at the same time it limits users 
who want specific enough information to be reasonable, but want it for 
multiple years.  It forces them to submit the same request over and over 
only changing the year.

Speaking of these users, they are truly a mixed bunch.  They range from 
the professional who supposedly knows what they want to the soccer 
parent who wants to know *everything* that has been used withing a 100 
mile radius of their home/work/school.  Unfortunately we have to cater 
to both as best as we can.  A big driver for making this as self-help as 
possible was the realization that we where commonly getting these 
requests from both sides of a litigation case in civil court.  But 
because of how each side might have asked for the information combined 
with how different developers might have understood the request and the 
data we could be providing radically different results to each side that 
is effect provided some sort of de-facto 'interpretation' of the data.  
A position we really do not want to be in.







~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to 
date
Get the Free Trial
http://ad.doubleclick.net/clk;207172674;29440083;f

Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321882
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to