Are there any techniques or tools to work with SQLite on a medium size/traffic/concurrency DB environment?
3 Answers
SQLite is an embedded database and it is not intended to be used as a client/server DB. If you really want to, you can use SQLitening.
What SQLitening is
SQLitening is a client/server implementation of the very popular SQLite database.
SQLitening is a programmer's library in standard Win32 DLL form. It is installed as a standard Windows Service. In addition to client/server mode, the library allows the programmer to also access SQLite databases in local mode. In either mode (local or client/server), the database is extremely fast and robust. -- Source: http://www.planetsquires.com/sqlite_client_server.htm
- 249
- 4
- 13
- 768
- 5
- 8
As stated before sqlite is not a client-server application and it is not built for highly concurrent operations.
Nevertheless you can "make it client-server", if you use ssh.
ssh user@host sqlite3 databasefile select * from table
works.
- 442
- 3
- 7
No, SQLite doesn't present a network endpoint - it is only accessible via the filesystem. It does support concurrent access from multiple processes on the same machine but at a very coarse-grained level (DML locks an entire table). So you could have a dozen Apache httpd processes all with a SQLite database on the local disk open, all doing SELECTs and it would work just fine. But really, it's the wrong tool for the job - I'd use Postgres in this scenario.
- 11,200
- 3
- 31
- 64
*to a list of all files in the current folder, which it does. – user253751 May 09 '22 at 15:01