SQLite is a library that implements a lightweight database engine that is incredibly performant and, therefore, a great fit for embedded systems, such as mobile devices. Even though SQLite is advertised as a relational database, it is important to realize that the developer is in charge of maintaining the relationships between records stored in the database.

Like many other databases, SQLite stores data and that is what it is good at. The SQLite website claims its the most used database in the world.

• SQLite is a persistent database model, which make a database and stores it in the file management system of your phone’s application.

• It could be used for more lightweight models since it’s memory management will be dependant on the Cocoapods or Frameworks that have been used.

• SQLite Pods or third party providers are easier to use and easier to grasp.

• Can be created and updated just by writing a few custom queries.

• There are many Pods for SQLite in the market but one of the most popular and most stable is SQLite3.

What Is Core Data

The most important difference between Core Data and SQLite is that SQLite is a database while Core Data is not. That is the most important difference because there is very little to compare. Core Data and SQLite are solutions to different problems.

• Core Data can use SQLite as its persistent store, but the framework itself is not a database.

• Graph framework for maintaining objects and their relationships with each other.

• Stores it’s data into a SQLite DB but is not a database in itself.

• Manages and updates objects automatically in the memory. Can handle a complex graph of objects without any pressure/load on the memory management system of the device.

• Has object versioning system in place which lets you update the object entities and attributes without deleting the previous data.

• Is an Apple created framework, so is automatically updated with any updates in Swift.