[aida] About observee

Stefan Schmiedl s at xss.de
Sat Jun 2 16:36:41 CEST 2007

On Sat, 2 Jun 2007 16:19:40 +0200
Damir Horvat <damir at x-si.org> wrote:

> On Sat, Jun 02, 2007 at 03:38:42PM +0200, Stefan Schmiedl wrote:
> > On Sat, 2 Jun 2007 15:30:25 +0200
> > Damir Horvat <damir at x-si.org> wrote:
> > 
> > > 
> > > A soon as I get the site in condition I'd like, I'll write a post
> > > (or a blog) about how I did it. So far, I like it a lot.
> > > Especialy the 'no sql' part. ;-)
> > 
> > Which "no sql" part are you referring to?
> Exactly! :-)

Oh, *that* part :-)

> I'm comming from perl/ruby land and when someone mention web
> application, the first questions are usualy about how to fit data
> into SQL.

Maybe that's because
- they have to interface to existing SQL data storage
- that's how they were brought up (the LAMP generation)

> Here, one is just to keep one root object and everything else is
> referenced from there. No SQL part (at least for small apps).

The last two IOWA webapps I wrote came without a database ... which
made the clients wonder how this works :-)

As a safety measure, I dump the application data periodically (2 min).

My domain objects are implemented to use one hash for instance variable
storage, which makes migrating between versions a walk in the park.
Even if I have more complex migrations to do, I just grab the dump file
from the production server, work things out on my development machine,
and when it works, I kill the server process, run the migration script
on the production server, restart the server, downtime < 10 sec,
usually unnoticed by clients.

Of course, if my ruby-fu were greater, or if I had a Smalltalk image I
could connect to, things would even be better, but as far as it goes,
it is much better than dealing with the duplication that one usually
inherits from database usage.

If you develop a new application and plan to use a database, think hard
on why you want to use it. Too much data to keep it in memory? That's a
valid reason. Client wants to access the data for further processing?
Well, generating CSV files is usually just a quick hack away, so that
does not count.

I'm curious what I will do the next time I really have to use a
database ... which will be sometime during this weekend :-)


More information about the Aida mailing list