* Mark Phippard:
> 2) Scalability. I can picture a large hosting site like SourceForge
> using a clustered SQL repository that is front-ended by a large number of
> load-balanced Apache servers and getting very good response times. Since
> you would get a robust "client/server" architecture for "free" with most
> SQL engines, it offers a lot more possibilities for intelligently and
> safely splitting the workload across machines.
It's probably easier to just tweak the Berkeley DB backend to use
single-master replication (for some values of "easier"). Berkeley DB
does support replication.
>> 3) Transactions. Most SQL databases will have a robust implementation of
> transaction support. Subversion has done a great job implementing this in
> the existing backends. In theory, it could be easier to implement and
> also perform better in a SQL backend. Definitely just a theory though.
Subversion's transactions are quite different from what you see in
ordinary database systems. They are designed to be long-running. I'm
not aware of any SQL DBMS where you can directly expose transactions
over the network and avoid nasty DoS scenarios (at least not with
TRANSACTION ISOLATION LEVEL SERIALIZABLE).
> All this being said, when I originally came to Subversion a year+ ago I
> was sure that I needed a SQL backend someday. The fsfs backend has made
> me pretty much forget about it. That being said, I can still see that
> there could be some advantages for larger installations.
You probably underestimate what Berkeley DB can do by an order of
magnitude or two. 8-) Berkeley DB is an enterprise-scale database,
even though it's not SQL-based.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Mar 7 21:28:41 2005