Re: Databases on Cocoa (was Re: Invoice program made in Objective c/Cocoa)
Re: Databases on Cocoa (was Re: Invoice program made in Objective c/Cocoa)
- Subject: Re: Databases on Cocoa (was Re: Invoice program made in Objective c/Cocoa)
- From: Bill Bumgarner <email@hidden>
- Date: Mon, 18 May 2009 22:10:23 -0700
(trying to keep this on-topic...)
On May 18, 2009, at 9:21 PM, Steve Steinitz wrote:
On 18/5/09, Bill Bumgarner <email@hidden> wrote:
sticking a SQLite database on a network filesystem and trying to go
multi-user is... just don't do it.
Oops, too late for me. Its been in production at a busy retail shop
for two years. I started the project three years ago after reading
one of your posts defending Core Data and sqlite's multi-user
capability. Then, when it was too late to turn back I saw your
subsequent post warning that it would be a 'nightmare'. Gulp. Its
been a challenge but works surprisingly well, and fast -- dedicated,
'ultra fast' Synology network drive which claims to be able to
saturate gigabit ethernet and has a buffer 5x the database size.
Good for you; the problem isn't SQLite, the problem is network
filesystems. The situation has improved greatly in the last five
years, but there are still many a network filesystem implementation
that strays far from either the standard or, even, from "working".
If you are in a highly controlled environment with a really good
network filesystem, it works just as well as it does when doing multi-
user access from the local filesystem.
And it sounds like that is exactly the kind of environment you have
created. Instead of using some random Windows/Linux/*BSD server box
sitting in a dusty closet running on cheap hardware with a flaky
network, you appear to have actually considered and invested in the
networking infrastructure to the point of eliminating that particular
point of fragility.
This is one area that so many developers overlook (myself included --
I can only say this with confidence because I made that mistake in the
past and learned, painfully, from it).
On topic: Compared to the cost of engineering -- both for new features
within software and for ongoing maintenance of existing systems --
hardware is cheap. If you are building something that requires
networking between clients A and B, with server C somewhere else,
throw the primo-dollars at C and the connections to A and B.
I'll take the rest of my response offline. It isn't relevant to cocoa-
dev.
I will say, though, that Steve is justified in calling me out on that
stupid client/server example. I wish I had time to make it into a
modern example. I don't, but I can bug some people about such an
example...
b.bum
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden