[Tfug] RDBMS reprise
Bexley Hall
bexley401 at yahoo.com
Sat Feb 2 10:44:11 MST 2008
Hi, Tim,
--- Tim Ottinger <tottinge at gmail.com> wrote:
> > One reason that I love using PDA's as examples is
> I
> > have
> > yet to come up with a good understanding of why
> *they*
> > are so poorly accepted (the *concept* sounds
> > wonderful;
> > yet I haven't met anyone who continues to use
> his/her
> > PDA after a few months with any regularity :< )
>
> Great point. I have had three, not counting the
> PDA phone. I only use the media player, phone
> numbers, and the alarm feature. They're just
> not really convenient.
Yes, but *why* (not)?? :< The idea seems *perfect*;
keeping track of all this *cruft* that is just not
worth remembering (appointments, phone numbers,
addresses, etc.) -- yet is "inconvenient" to
*forget*!
I've tried playing with several and find that I
have to force myself to carry it -- and only at
certain times (e.g., while I do my daily walk I
carry one to log my time exercising and busy my
mind -- Soduko -- while walking). I.e. I am
not *compelled* to carry it.
I.e., it is "entertainment" for me just like
the mp3 is for you.
(By contrast, folks won't leave home without
their cell phone!)
> > So, for example, how do I safeguard against the
> > application crashing and leaving that "results"
> table
> > sitting on the server (indefinitely)?
> I can't remember which do what, but some
> databases use the 'create temp table' and
> destroy them when the session ends. Some,
> sadly, do not. I have seen some that never
> collect and delete them, only keep them with
> limited visibility to the user. That would be
> very very bad for you.
Exactly. As would be any implementation that
failed to terminate a session if the connection
broke, etc. (I assume using keep-alives to
show the connection/session was still active).
> However, most systems keep stats and you
> could query metadata for temp tables of a
> given age, assuming that they're no longer
> valuable. Again, metadata is structured
> differently by different vendors. I suppose
> you could make a timestamp wart in the name.
> I've not tried it.
Yes, but this clutters up the application with
details of the RDBMS's implementation (bad
design philosophy, IMO).
> > Are there ways
> > to explicitly/implicitly free up portions of that
> > table as my application determines that it is
> finished
> > examining them?
> Temp tables can be dropped, or you can
> "delete from/where" But sometimes you will
Ah! ^^^^ good point. Though it would be nicer if
the DBMS could just "walk behind me" (i.e. one step
behind my cursor) deleting anything it wanted to
reclaim...
> have to clean the db to get space reclaimed.
> > Can the server do anything (other
> > than crash) that would make that table "go away"
> > unexpectedly (e.g., if database is vacuumed,
> > reindexed,
> > etc. in a scheduled routine maintenance task)?
> >
> If you drop them or if the db cleans up temp
> tables on session end. Especially if you hold
> open a transaction.
> > Just *how* clever are the RDBMS implementers?
> I.e. do
> > they exploit technologies like CoW to minimize the
> > impact of this type of usage
> During a transaction, a lot of them use mvcc,
> which is pretty amazingly useful.
>
> > (sigh) I think I'll go back to crimping CAT5
> cables!
> > At least, there, I can *see* my problems!
> And I don't argue about the questions. :-)
(sigh) Ah, well... that's what makes it
*interesting* -- and keeps work "fun"! ;-)
Thanks!
--don
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
More information about the tfug
mailing list