[PREV - FLY_DOWN] [TOP]
DATABASE_WORMS
April 9, 2010
October 18, 2013
From a conversation at an
There's a technical religious SF Perl gathering at Naan
war out there that I've never and Curry.
seen written up anywhere--
The C Programmers vs. the
Database People.
The people who work on the database
I think you can see hints software itself are of course, also
of this with Torvalds C programmers... this team A vs
decision to re-work the team B model is an oversimplication.
core ideas of monotone
in C (git)-- yes, he needed
better performance, but I
think he was also grossed- You can argue that the Big Data
out by their technical world is another case of C programmers
choices: C++ and sqlite. striking back against the RDBMS plague.
C programmers think "databases" They too, have efficiency arguments
are over-used, and much prefer of course, involving scaling
their structs and hand-crafted across multiple machines.
binary formats.
Notably they're most common
use cases aren't very ACID.
The really interesting one is a
jwz piece titled "when the
database worms eat your brain".
http://jwz.livejournal.com/312657.html
A summary of the Mork affair: when jwz was
working on the Netscape browser, he used bbd
as a data format for bookmarks and history,
with some carefully tuned up indicies. When
Netscape put a guy named McKusker in charge,
he invented a new data format of his own The Firefox crew switched
(hear the alarm bells?) called Mork. This to an sqlite backend
data format was apparently pretty brain-dead circa Firefox 3. This is
(see jwz's entertaining rants), obviously a saner choice,
though I think it still
More are over here: has some problems.
http://www.jwz.org/hacks/mork.pl
The interesting bit-- we had
to get to it eventually you
know-- somehow, in jwz's mind
McKusker thought he was doing
something databasey (or maybe
he was just selling it that way?).
But actually, a *real* database person would
look at this use-case and probably figure Except for me, of
that bdb or sqlite was a good choice, and course, but I'm
hand-rolling a new format of any sort was pretty weird:
obviously the wrong way to go about it.
HOME_BASE
--------
[NEXT - HIGH_TABS]