[cvsnt] OT: CVSNT Future Data Store (was Re: cvsnt status)
SteveC
stevec at atomic9.net
Tue Jul 15 19:19:28 BST 2003
Just a thought on plans to back CVSNT with a "real" data store. Why not
place an abstraction layer or 2 between CVSNT and the store (essentially
making the software 3-4 tier)? If an object (Java Bean, COM+ server
app, stand-alone exe) sits between CVSNT and the store, then probably
any store could be used, as long as it supported say something minimal
like SQL-92. CVSNT wouldn't have to know it was talking to something
other than the filesystem at all. The first data-access layer would
take the CVSNT command, wash it through a regex to make sure it was "SQL
palatable" and the second would run the command against the store; no
stored procedures (initially?).
Maybe CVSNT could be recompiled to the .NET Framework, running under
MS's CLR on Win32 and Mono on OS-X/FreeBSD/Linux. I think it might be
easier then to abstract data access to a database vs fileystem and back,
again with the idea that any SQL-compliant store could be used.
I think that would get away from the problem "what database to bind to?"
and make it the end user's problem. :)
Or if going down the MSSQL/MSDE route, perhaps require the installation
of the SQLXML extensions. Then CVSNT could make SOAP or simple
UpdateGram/DiffGram calls to the database. I imagine there would be an
additional speeed penalty, especially with bin files, as things are
serialized or wrapped in XML. But if you want wide-area source control,
SQLXML over HTTP(s) would do it.
Btw, MSDE is just MSSQL, but
1. There is a hardcoded process governor that allows
5 simultaneous requests (not threads, requests)
to run simultaneously, reqs 6+ must queue
2. It's free
3. There are no GUI client tools (but the same
COM-callable interface is there to do work and
if you get them somewhere else you can use them
on MSDE)
4. I don't think it supports named instances,
not that they would be necessarily needed by CVSNT
5. Single database size is limited to 2gb
but if a module == a database
that wouldn't have to be a problem
But I think doing MSDE/MSSQL would kill CVSNT on the *nix side of the
house, not a good thing.
Hope that helps somebody do something. :)
stevec at atomic9.net
More information about the cvsnt
mailing list