Post a Comment
True; it will be interesting to see how well it would scale as a database beyond the scope that it was originally designed for - but like I said, it would have been better had Apple adopted something like Cloudscape, which has alot more grunt in regards to scalability and feature completeness.
The database backend is an implementation detail. The whole point about CoreData is to separate you (the developer) from the implementation; and that is done very well.
Of course, if SQLite doesn't scale high enough for your specific needs, you're basically SOL; there's no way to swap out the backend in CoreData.
But there's already a cloning effort underway (http://gscoredata.nongnu.org/, in its infant stages), so some day CoreData apps will even be portable.
I like CoreData. I've used it in several personal projects and it does the job. My initial criticism of it was from a DBA perspective, until I realized that CoreData is merely a persistence mechanism, and that things like uniquing and constraints have to be done by client code or in custom NSManagedObject subtypes. Because my data stores are sometimes used from multiple apps, I have tended to write a shared framework to handle all the book-keeping. This works beautifully.



