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

Re: Using Berkeley DB

From: Greg Stein <gstein_at_lyra.org>
Date: 2000-09-12 10:43:00 CEST

On Mon, Sep 11, 2000 at 11:53:20PM -0700, Bryan O'Sullivan wrote:
> j> I think Greg Stein mentioned using mySQL instead of Berkeley DB. I
> j> don't know a lot about mySQL, but my understanding was that it
> j> didn't really care about recoverability much.
>
> MySQL only acquired support for transactions recently, and its
> developers are still quite early in the development cycle for that set
> of features. In addition, MySQL uses Berkeley DB to handle tables
> with transactional properties, so it will continue to be turtles most
> of the way down, even if you stack a rhino on top.

Woah, woah, woah.

Let's get this right. Jim questioned "recoverability". MySQL is *very*
strong on the recoverability side. I'll refer people to:

    http://www.phpbuilder.com/columns/tim20000705.php3

    "... it makes up for it by apparently never corrupting its data files.
    ... In over a year of running MySQL, I haven't ever seen a single case
    of database or index corruption. In the same timeframe, I have done 2 or
    3 recoveries of a couple different Postgres databases."
    
    [ this from one of the SourceForge engineers ]

Sometimes people use "transactional" to refer to how data is placed onto the
disk. Does it save it in a safe manner? Basically, "does it retain its
integrity".

The second form of "transactional" refers to transacting a group of changes.
The classic example is a credit/debit financial system. Make sure both parts
get committed, or make sure neither is committed.

The latest *development* version of MySQL now has transactions and rollbacks
of sets of changes. Only in this recent dev version does MySQL begin to use
Berkeley DB. Historically, MySQL has had its own database format. IOW, it
isn't necessarily "turtles all the way down".

So to address Jim's question: MySQL is one damn solid database, and very
fast. It does not have SQL transactions. When I brought up MySQL, it was in
reference to building the SVN FS such that SQL transactions would not be
required -- that we would be changing tables in a safe manner.

Personally, I would love to see SVN hosted on a MySQL database. That opens a
lot of doors for tools/utilities/apps, and provides a kickass SQL /
relational database to work with. But I also recognize that it will happen
post 1.0 :-)

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/
Received on Sat Oct 21 14:36:08 2006

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