Difference between Core Data and SQLite [closed]
There is a huge difference between these two.
SQLite is a database itself like we have MS SQL Server.
But Core Data is an ORM (Object Relational Model) which creates a layer between the database and the UI. It speeds-up the process of interaction as we don't have to write queries, just work with the ORM and let ORM handles the backend.
For saving or retrieving large data, I recommend to use Core Data because of its abilities to handle the lower processing speed of iOS devices. Hope this helps.
@Arundhati: Using Core Data we can optimize the memory efficiently.
Regards.
Apart from being ORM (Object Relational Model) You can compare Core-Data and SQLite as;
SQLite:
- Have Data Constrains feature.
- Operates on data, stored on disk.
- Can Drop table and Edit data without loading them in memory.
- Slow as compared to core data.
Core Data:
- Don't have Data Constraints,if required need to implement by business logic.
- Operates on in memory.(data needs to be loaded from disk to memory)
- Need to load entire data if we need to drop table or update.
- Fast in terms of record creation.(saving them may be time consuming)
Additionally apart from SQLite as back-end Core data can use XML or binary format for storing data to disk.
There is a big difference between coredata and sqlite.
Core data in itself is not a database it is just a change tracking system a wrapper over the persistent stores like SQLite(retrive, save objects to the persistent store). You can have SQLite as your underlying RDBMS and coredata can be used as a layer for managing the change to the properties of the tables (undo, redo, reset the changes), it is also optimized in managing the memory(faulting).