[PREV - CUSTOM_FIRE] [TOP]
HOME_BASE
April 11, 2010
October 18, 2013
Databases as application back-ends.
Given a hammer,
can we turn the
world into a nail?
The hammer in this case, is the
full-featured open-source Working backwards like
relational database, postgresql. this from technology
to justification is
And "the world" I'm referring to done more often than
is the user application -- you you might think.
know, the things that run on
your own PC, the way we did
things back before the web.
First of all, let's look at why
this idea seems absurd:
o There are "simpler technologies"
that work tolerably well on
small data sets, e.g. bdb,
sqlite, or even just flat files.
o We think of RDBMS as being tools
for *big* data sets, with features
that add performance to scale upwards.
So, I'm going to largely argue
that "performance isn't everything" I'm also going to try the
and there are other features of argument that "small"
an RDBMS that can be useful even applications are getting
for smaller applications. bigger: where users once needed
to keep track of only hundreds
In particular, I have my eye on of items, they're now
concurrency, though resistance likely to care about tens
to data corruption in the case of thousands, and may get
of a crash might be just as up into the millions.
important as it is in the large
scale uses of databases (large Think: sound files,
installations, after all, digital photos,
typically have multiple layers web bookmarks...
of redundancy, individual users
often have none).
Concurrency is useful even for
individual users, so that you This might help
can run multiple apps that use my case, but I
the same data without conflict. don't expect it
to go very far
I use Firefox as my main web on it's own.
browser, but sometimes run a
second browser at the same
time, and I might also like to
run an independant bookmarks
organizer application (the
ones built into Mozilla's
offerings are *still* only HOME_BASE_TECHNOTES
barely useable, and scale
horribly).
Then there's the problem of
syncing up laptops to
workstations and so on.
One way of solving these problems
is to just use a single datastore. In which case, though,
you might go with a
traditional remote
database architecture,
And either way you go, perhaps renting an
you still have a problem account from a third
of convincing all party installation.
browsers you're interested
to add the capability What I'm *looking*
to use the same shared for is an excuse to
backend. use a local postgresql
installation as a
In the case of the local back end.
open source ones, you'd
make adding this support
part of the project,
forking the original
if necessary.
--------
[NEXT - HOME_BASE_TECHNOTES]