SQLITE
SQLite is a C language library and SQL database engine. It is a full-featured, lightweight, and highly reliable solution that is pre-installed on your smartphone and all smart devices by default due to its autonomy. SQLite is used wherever you need to organize data work in a simple and high-quality way, both alone and together with more powerful relational databases.
Open source code and a cross-platform, backward-compatible file format allow anyone to use SQLite for any of their projects.
Out of more than a trillion SQLite databases, the vast majority use it to organize archives and exchange data within the system. The reason for this is the uniformity and cross-platform nature of the format - you can transfer data from any SQLite system to another with the same engine, and they easily understand each other. In addition, they can be easily converted into a human-readable form. Plus, this data will be recorded in a very compact form, regardless of whether it is a large binary object or a small numeric value. By the way, the number of data formats can be easily increased if necessary, and the SQL query language guarantees that it can be processed not immediately, but when it is needed. As for archives, SQLite Archive works the same way as a familiar ZIP archive, but it will be even more compact and suitable for storing many more types of metadata.
SQLite is self-contained and requires no administration, which makes it perfect for devices ranging from drones and machine tools to thermostats and other small sensors. It is this engine that manages the data inside your router, game console, and outdoor surveillance camera. Thanks to it, connecting to any smart device is easy, and data transfer is fast and secure.
Analytics data collection, version control, cache storage during media editing, and many other background processes can be conveniently organized with SQLite. Automatic updates and checks increase productivity and reliability, and most importantly, eliminate the need to do uninteresting and monotonous work manually. This is especially beneficial and convenient for analyzing any data you need. The engine can collect it, structure it, and generate reports according to the set rules.
SQLite can be used as a database engine for websites with low and medium traffic. If the load on the project does not exceed 100,000 visits per day, SQLite will handle it perfectly, and with proper configuration, it can handle loads 10 times higher.
SQLite can be the basis of the application's database server storage mechanism. This is especially effective if a different SQLite database is created for each user, so that the server can easily handle thousands of connections in parallel. The use of high-level queries on the server is not a traditional model, but rather an example of how the engine can be used if desired. You can also use it as a cache for relevant content to reduce display latency and reduce network load.
There are many cases where SQLite is the best solution, but it is still not a direct competitor to MySQL, Oracle, PostgreSQL, or SQL Server, i.e. client-server databases.
Relational databases are designed for something else, for cost-effective and efficient, autonomous local storage. SQLite can work in client-server applications where you need to cope with large-scale sites with a large data set and high parallelism requirements, but its performance will be far from optimal. Simply put, it is not suitable for the web version of a conditional social network and other multifunctional and highly loaded projects, but it is not designed for this. SQLite is ideal for organizing local storage, it's simple, reliable, and incredibly widespread.
No one will use it where it's not appropriate because it's just inconvenient. If your developers recommend using SQLite for cache, archive, or as a server database, you should do so.