We need to prevent multi-user access to the SQL backend (Re: New GnuCash article on LWN)
Derek Atkins
warlord at MIT.EDU
Thu May 20 12:55:01 EDT 2010
Graham Leggett <minfrin at sharp.fm> writes:
> On 20 May 2010, at 6:32 PM, Derek Atkins wrote:
>
>>>> Your solution to block the whole database is good enough for me.
>>>
>>> It's a real shame that a system fundamentally designed to offer multi
>>> user access to data should be crippled in such a fashion. In the
>>> process, virtually all reasons to use a SQL database are lost.
>>
>> What was "fundamentally designed to offer multi user access"?
>
> SQL databases.
Sure. But GnuCash isn't a Database Application, even if it happens to
be able to use a SQL Database to store its data.
>> GnuCash
>> most certainly was not, even when it's using a SQL Database for data
>> storage. Repeat after me: GnuCash is NOT a Database Application.
>> It's
>> a standalone application that happens to be able to use a database
>> instead of SQL, but fundamentally it's still a standalone application.
>>
>> The fact that the DATABASE can be accessed multi-user has nothing to
>> do
>> with the fact that GnuCash was NOT designed to handle that and
>> therefore
>> needs to protect its data from users who try to do it.
>
> Which over time pretty much renders it useless.
Well, over time one would hope that we can slowly rearchitect gnucash to
be more aware of multi-user situations.
> In any practical usage, even in it's simplest form, you start off
> small and simple, and then eventually you reach a point where you want
> to share the file between two people, or share the file with an
> accountant, and you can't.
Why not?
> Which is a real pity, because in my experience gnucash gives about 95%
> of what a small business needs, tripping up on that last little bit.
I dont understand... Where can you not share your data?
> The fact that gnucash can be asked to save the file in text/xml helps,
> because you can version this in something like svn. But versioning a
> database isn't easy at all.
Why do you need versioning? Versioning is overkill for data sharing. I
suppose you could use it for auditing, but wouldn't it be better to have
the audit trail inside the database itself? This is part of what a
multi-user system would entail.
On the other hand, once you start going down that road you really start
getting well past what GnuCash was designed for: Home Users and Small
Businesses. It's a Quicken/Quickbooks replacement, not a Peachtree or
SAP replacement.
IMNSHO, adding MySQL and PG support was a mistake; we should have stuck
with just SQLite.
> Regards,
> Graham
-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord at MIT.EDU PGP key available
More information about the gnucash-devel
mailing list