SQLite is a file format. You can read/write SQLite databases without the SQLite library. You can write your own custom reader/writer/creator. You don't have to use SQL. You don't have to be ACID compliant. I can make for you right now a SQLite database that did not touch any SQLite software, put data into it and you can open it with another piece of software that implements the SQLite file format specification.
Likewise, you can use the SQLite library software to create a SQLite database file, put data into it, and I can read it/update it using any other software that implements the SQLite file format specification.
The SQLite library offers some very very basic features, such as ACID compliance, and so on, but those are not part of or guarantees of the file format or the database files. The software that you write that implements the SQLite file format specification does not have to do any of these things to work with or produce a valid SQLite file.
An RDBMS is a kind of DBMS for managing relational databases and providing access to the databases (for example users and permissions). Modern RDBMSs offer extensive features (look at an Oracle or MSSQL Server spec sheet) that are not even hinted at with the SQLite library software.
This is because SQLite is not an RDBMS, it's a file format.
file-format:<------------------------x------>:DBMSIf you were to draw up a feature list of Oracle, PostgreSQL, MS SQL and SQLite, SQLite would have almost none of the features of any of the actual RDBMSs.
Here's some examples from MS SQL:
- Support to PMEM devices and bypassing OS storage mechanisms for optimal file read/write access
- Availability Groups and synchronous replica pairs
- Users and permissions
- Secure Enclaves
- Certificate management functionality
- BI tools
- Database tuning advisor
- Machine Learning services
- Service Broker
- Replication services
- Analysis Services
- Reporting services
- Notification services
- Integration services
and so on.
Draw up a set of features for JSON files and jq and compare to SQLite. Is it closer to MS SQL or JSON?
The people in this thread seem to be very resistant to this simple clarity of thought, but whatever, they can stay confused and keep coming up with feature comparisons of SQLite vs Redshift vs Elasticsearch or some such.
If one were to draw a spectrum:
SQLite is the x on this line and .txt files are about the only thing that any further left on it.