[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: SQLite?

From: Benjamin Pflugmann <benjamin-svn-dev_at_pflugmann.de>
Date: 2003-05-13 01:07:08 CEST

Hello.

On Mon 2003-05-12 at 11:14:14 -0400, pll@lanminds.com wrote:
>
> I don't know if anyone's heard of this little gem yet:
>
> http://www.sqlite.org/
>
> I came across it in the most recent issue of Linux Journal. The nice
> thing seems to be that it's a full-fledged mostly-SQL92-compliant
> embeddable DBMS which supports transactions, and is really fast (as
> compared to MySQL and PostgreSQL.

Well, don't get me started on how flawed the comparisons are[1], but I
wanted to mention something, that is might be relevant to an SQL
backend for Subversion:

Since it's an embedded DBMS, it is not self-evident that several
processes can use it at the same time. I was not able to find any info
on that in the documentation (only for threads of the same process).

Reading the source[2] suggests that accesses for different processes
are supported, but are serialized with granularity on the database
level (the whole file containing all tables), i.e. nobody could check
out any project while someone else is importing a new Linux kernel. I
presume BDB handles that better?

Besides, according to its own benchmark, it is only really fast for
huge transactions (25000 INSERTs), but significantly slower for single
statements with syncs (I presume here, that the nosync option is not
suitable for Subversion).

That said, it's an interesting project, which already shows impressive
results.

> Just thought someone doing the SQL port might be interested in
> playing with this, either for prototyping or otherwise...

HTH,

        Benjamin.

[1] For starters:

    I was not able to find what kind of hardware the tests were
    running on.

    Standard RedHat packages for MySQL and PostgreSQL against an -O6
    optimized Sqlite? Huh?

    Default installs? The page links the result of someone configuring
    PostgreSQL correctly, which gets the same speed as MySQL. So the
    "sometimes 10 to 20 times faster" statement was simply ignorance
    of the tester, but was not removed after he received the correction.

    The web site (not only the benchmarks) is ignorant of the fact
    that there is a MySQL version supporting transactions for as long
    as Sqlite is published. And it is declared stable for almost 3
    years now.

    Tests are for Sqlite, which is embedded, against the network
    version of MySQL. But there is an embedded version of MySQL
    available! For quite some time. Meanwhile released as stable.
    Don't know about PostgreSQL.

    I do not mean that Sqlite isn't faster. But the available
    benchmarks are not suitable at all to show anything relevant,
    except that Sqlite isn't particularly slow when transactions are di

    I am sorry for this rant. But it stems from being really
    interested about the project and then being disappointed by the
    presented information. Wrong expectations on my side, I guess.

[2] Version 2.8.0
    Hm. It seems to try hard to differ in some way to any coding style
    I am aware of :-)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue May 13 01:07:59 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.