Re: CoreData vs. SQLite for Multi-User Simultaneous Access
Re: CoreData vs. SQLite for Multi-User Simultaneous Access
- Subject: Re: CoreData vs. SQLite for Multi-User Simultaneous Access
- From: Steve Steinitz <email@hidden>
- Date: Wed, 13 Jun 2007 23:04:02 +1000
Hello,
I'm picking up an old thread. Not as old as another thread that said Core Data multi-user over afp should more or less work, but stale nonetheless and worrying to one who may have painted themselves into a corner. The conversation went like this:
>> Could I switch to using CoreData and still keep a simultaneous multi-user environment?
> The SQLite in Tiger handles network file systems. For AFP, it uses byte range locks to implement a locking semantic similar to that of local advisory locks...
> However, neither Core Data nor SQLite solve the problem you really have. You need a client/server database access semantic. Relying on a network filesystem is ultimately going to prove to be a nightmare -- it'll either corrupt your data or be too darned slow to be usable by multiple users.
> When faced with such problems, I have looked to using a client/server layer to store the data in a central server while my client side code populates a Core Data in memory store. This gives me all the freebies of programming Cocoa with Core Data while also allowing me to use a proper client/server protocol to communicate to a server that is designed around multi-user access.
Lets say that, in the absence of some serious sample code, I don't have the resources nor motivation to 'look to using a client/server layer to store the data in a central server'. Given that one machine would be in heavy use, directly accessing its internal hard drive and that one other machine would remotely access the database lightly and occasionally, would there be steps that I could take to make it workable?
I should mention that when I tried it this morning, at the urging of my client, I was disappointed to discover that by just connecting to the main database remotely over afp, the main machine was unable to save, giving a mysterious 'Cocoa Error 134090'. When I attempted to quit the app on the main machine, it beach-balled for a couple of minutes, gave the 134090 error again, complained about not being able to merge then refused to save and gave me no choice but to quit anyway.
Oddly, the remote machine had no problems saving under any circumstance.
That specific problem aside, has anyone successfully ventured into light-duty multi-user Core Data scenarios?
Thanks,
Steve
ps. are there rumors of Core Data - MySQL etc partnerships?
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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