I was learning Core Data and previously I have used SQLite in one of my projects. My question is, what scenario should I use Core Data vesus SQLite? I’ve read some of the advantages of Core Data, that it provides visual way to design data structure, abstract level of accessing data and SQLite can be use on multi platform but is there anything related to data size? That if data size is large than we should use Core Data or vice-versa?
Share
Core Data:
Primary function is graph management (although reading and writing to disk is an important supporting feature)
Operates on objects stored in memory (although they can be lazily loaded from disk)
Works with fully-fledged objects that self-manage a lot of their behavior and can be subclassed and customized for further behaviors
Non-transactional, single threaded, single user (unless you create an entire abstraction around Core Data which provides these things)
Only operates in memory
Requires a save process
Can create millions of new objects in-memory very quickly (although saving these objects will be slow)
Leaves data constraints to the business logic side of the program
Database or SQLite:
Primary function is storing and fetching data
Operates on data stored on disk (or minimally and incrementally loaded)
Stores “dumb” data
Can be transactional, thread-safe, multi-user
Can drop tables and edit data without loading into memory
Perpetually saved to disk (and often crash resilient)
Can be slow to create millions of new rows
Offers data constraints like “unique” keys
Referred from below link
http://cocoawithlove.com/2010/02/differences-between-core-data-and.html