Season2Ep14.net runs on a Windows
2003 server, which resides in the RedBus
Meridian
Gate data centre in London. The scripting that makes
everything work was written by me -
Ben
- using a mixture of classic ASP and VB Script. It took
around a month of beavering away here in Season Towers
to complete the first version, and many nights of tweaking
since then to get what you see now.
Season2Ep14.net runs from about a gabillion flat text
files, which are manipulated (mostly) on the fly by
the
FileSystemObject.
This negates the need for a database of any kind, which
serves two purposes.
One - it's cheaper to run, since there's no need for
a seperate database server. And Two - story serving
is much faster.
(It's been pointed out to me that a well written MSSQL
application would serve the stories faster. And I agree
- whilst the amount of stories/users in your database
is reasonably small, and the traffic load on your database
is correspondingly low, then a database application
is much faster.
The problem comes when you have a massive database and
traffic load. One request for a story means that the
server has to open the entire database of stories, selecting
only the story that's needed, and serve the result back
to the user.
Using flat text files means that no matter how many
stories there are, you're only ever asking the server
to open one story at a time. So, whilst your application
has small loads - and by small I'm talking in relative
terms - a database will be faster. But the minute you
start building a large collection of stories and a high
traffic load, flat text files and the FileSystemObject
become quicker when serving stories.
Now searching the stories - That's another thing entirely.
The FileSystemObject is very, very slow indeed when
performing searches on large amounts of text files.
But I prefer to not think about that. Who needs a search
function anyway?
It's also true however that I've yet to discover the
point at which the FileSystemObject gets confused by
too many concurrent requests. When I discover that,
I may or may not pull my hair out.)