4 ms·
Really, the only way to prevent corruption of a SQL (or any other kind of) database is to have a server process manage all accesses to the database storage. And
by zabzonk 5y ago
Really, the only way to prevent corruption of a SQL (or any other kind of) database is to have a server process manage all accesses to the database storage. And even then....
SQLite is great, but I would not use it in a multi-machine, multi-processing environment.
- samatman 5y agoSQLite is among the most reliable software you can choose, and there's nothing about a multi-machine, multi-processing (?) environment which changes that. Developers do need to understand that it's SQLite, not a poor man's Postgres. This require correct engineering, and the SQLite docs are in a class of their own in patiently explaining in simple terms how to do this. If you embrace what SQLite is, you can do a remarkable number of things with it, safely and reliably.
- notRobot 5y agoI've used SQLite quite a bit, and going by my experience, you're absolutely correct. > SQLite docs are in a class of their own in patiently explaining in simple terms how to do this. Yes! I love reading the SQLite (and Fossil!) docs. They're so beautifully written!
- psnehanshu 5y ago> SQLite is great, but I would not use it in a multi-machine, multi-processing environment. Yeah great, you shouldn't. SQLite is meant to be replacement of custom files to store data by apps (mobile apps, desktop apps, server apps). This isn't meant to scale to millions of users, but just store data in a structured manner.
- andreareina 5y ago> SQLite does not compete with client/server databases. SQLite competes with fopen(). https://www.sqlite.org/whentouse.html https://www.sqlite.org/whentouse.html
- psnehanshu 5y agoExactly, and you use fopen() to read files.