Lê Khánh Vinh Lê Khánh Vinh - 1 year ago 47
iOS Question

IOS should we move from sqlite3 to CoreData?

Hi I'm working with an old IOS project which using sqlite. I'm planning to upgrade it. Should we upgrade to CoreData? I found the existing sqlite class seem a bit hard to keep track and maintain. Should we migrate to CoreData? or stick with SQLite with these nightmare syntax(I don't have exiting data so losing previous data is not the problem). Any advices is much appreciate. Thanks.

Answer Source

I think migrate from SQLite to Core data is not a Good idea, Also migration consume lots of time. So my suggestion is Please try to understand flow of exiting app.

SQLite and Core data have his Own advantage, You can shown below


SQLite is the most used database engine in the world and its open source as well. It implements a transactional SQL database engine with no configuration and no server required. SQLite is accessible on Mac OS-X, iOS, Android, Linux, and Windows.

It delivers a simple and user-friendly programming interface as it is written in ANSI-C. SQLite is also very small and light and the complete database can be stored in one cross-platform disk file.

The reasons for the great popularity of SQLite are its:

Independence from a server
Safe access from multiple processes and threads
Stores data in tables with one or more columns that contain a specific type of data.

Core Data

Core Data is the second main iOS storage technology available to app developers. Depending on the type of data and the amount of data you need to manage and store, both SQLite and Core Data have their pros and cons. Core Data focuses more on objects than the traditional table database methods. With Core Data, you are actually storing contents of an object which is represented by a class in Objective-C.

Although they are fundamentally different, Core data:

Uses more memory than `SQLite`
Uses more storage space than `SQLite`
Faster in fetching records than `SQLite`.