Re: core data store type and icloud
Re: core data store type and icloud
- Subject: Re: core data store type and icloud
- From: Jens Alfke <email@hidden>
- Date: Sun, 23 Oct 2011 10:31:14 -0700
On Oct 22, 2011, at 7:13 PM, Roland King wrote:
> Take a look at the document called 'Using Core Data with iCloud Release Notes' which is in the iOS5 documentation. That gives quite a lot of information about how Core Data SQLite databases are supposed to work in iCloud.
Ah, thanks. Interesting to see confirmation, although there’s not too much detail yet.
> There's no discussion in that document about conflicts, just a small paragraph about schema changes which doesn't really give enough detail.
Yeah, that’s a very important topic. My feeling is that they [Apple and/or developers are] going to have trouble doing proper conflict resolution with CoreData-style data models. While CD hides SQL from you, its way of doing things is shaped by relational databases, so the way you model your entities involves normalization, i.e. splitting entities into smaller pieces with relational references. This doesn’t play well with replication/syncing because you can end up with conflicting updates between the various pieces, and the data model relies on referential integrity and transactions, which aren’t possible when syncing.
(This is the same reason why server-side developers are moving from SQL database to “NoSQL” technologies like Cassandra, CouchDB, and MongoDB. SQL databases are very hard to scale because the servers have to be kept in very tight synchrony with locking. Once you abandon a relational model you can set up looser syncing in a cluster, which scales much better.)
Disclaimer: I work for a company [Couchbase] that sells a nonrelational database in both the server and mobile markets.
—Jens_______________________________________________
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