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 (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to