Use of database for SCM

John A Meinel john at arbash-meinel.com
Fri Jun 24 15:54:48 BST 2005


tnorth at bluewin.ch wrote:

>>>I was just wondering why nobody (as far as I know) uses a database like
>>>SQLite to stock patches and/or patches informations.
>>>
>>>
>>Subversion uses an in-process database as its backend. Although recently
>>a
>>file-based backend has been developed and seems to be quite popular.
>>
>>The DB backend is known to cause some problems, with databases sometimes
>>
>>getting corrupted and otherwise in a funny state.
>>
>>Good discussion here:
>>http://svnbook.red-bean.com/en/1.1/ch05.html#svn-ch-5-sect-1.3.1
>>
>>
>
>Ok thanks.
>
>
>>>I know the use of a DB would certainly bring more complications, but what
>>>about speed ? (is maybe the only profit we could have)
>>>SQLite seems to be very very quick...
>>>
>>>
>>Where are your benchmarks? :D The only example I'm aware of is Subversion
>>with
>>bdb and that is *not* very fast.
>>
>>
>
>I mentionned SQLite alone ... i never had a look at subversion, which dies
>with a segfault at home, so I cannot compare it with bzr :)
>I don`t mean bzr is slow :D and if I use it know it is because darcs was
>too slow for me (well... if it is politically correct here, else just read
>"unappropriated for my use")
>
>
Actually, monotone uses an SQLite backend. But most people do not call
it "fast". In fact I think Linus called it "glacially slow"...
 From my experience with monotone it is more the certificate mechanism.
Where *everything* has a signature attached. Each individual item of
information. So the 'date' of a commit has a separate signature from the
'committer' field.

Bzr is very hackable, and to prove a point, it would probably be pretty
easy to co-opt the "ImmutableStore" class, such that it stored the
values in a database.

As has been said, though, a db tends hide the information, versus a
filesystem. Also, one very nice property of having plain files, is that
they can be downloaded over http with no external help.
Right now you can already 'bzr pull' a bzr repository over http. You
can't push to http (since plain http doesn't support that), and the
backend is getting revised to be faster over a network connection.

But it is a feature that is cheap to develop, simply because we use just
a filesystem.
John
=:->

>Regards,
>TNorth
>
>
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 253 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20050624/ec5b00cd/attachment.pgp 


More information about the bazaar mailing list