SQLite is one more relational database we are using in our projects. Let’s talk about its advantages and disadvantages. First of all SQLite is very fast. It’s even faster then MySQL, because it has no special server to serve queries. SQLite has no client-server architecture. Instead of it SQLite is represented by one library linked with the program and becoming a part of this program. It increases the speed of requests and responses limited only by speed of the hard disk. SQLite provides access by API which can be used simply by application.
Sounds good, isn’t it? But there is a fly in the ointment. Unfortunately, software development is the Dao of compromises. The main advantage of SQLite is its disadvantage. When we store the embedded database in one file like SQLite does, we cannot add or edit two or more records simultaneously. In other words we can serve so many read requests from the database at the same time as we want but we can do only one insert request at a time. So SQLite is too slow if we need to insert or change already existing data.
SQLite is a great database if we have too large amounts or read requests. For example if we have a database of some users’ private data that we need to process we can use SQLite with no problems. But if we have the application where users are changing content intensively as, for example, web forums this solution would not work.
Of course, we can combine different approaches. For example, we can use SQLite in our application for reading data and its MySQL copy for changing data on the additional server. It makes sense with highly overloaded applications and depends on the client’s requirements. We have to consider what database we will use during the process of architecture creation. We can also use such approach during optimization and refactoring. And we will do so if our clients will need more speed and performance.
Ultima Creative knows a lot of ways how to use modern technologies and we always choose the best architecture solution in each particular case.