4 ms·
In SQLite, a database file can be 140 terabytes, https://www.sqlite.org/limits.html https://www.sqlite.org/limits.html And reading and writing can be even fast
by combatentropy 8y ago
In SQLite, a database file can be 140 terabytes, https://www.sqlite.org/limits.html https://www.sqlite.org/limits.html
And reading and writing can be even faster than if they were stored directly in the filesystem, https://www.sqlite.org/fasterthanfs.html https://www.sqlite.org/fasterthanfs.html
- devmunchies 8y agoSo does that mean serving static files from a SQLite file would be faster than something like NGINX?
- oscargrouch 8y agoNo, because of the sendfile syscall, where the kernel pass all the file data without switching back to userspace. Even if you can in theory save some time with small files with sqlite, you would be back to read/write IO and userspace/kernel byte buffer switching. And it probably wouldn't be faster than something like a mmaped file anyway (unless the SQLite Db is also mmaped).
- fiddlerwoaroof 8y agoThe thing is SQLite handles a lot of hard problems that you might not realize you have: like “was my data actually written to the disk”
- qwerty456127 8y agoWhy don't we replace entire filesystems with SQLite then?
- darkpuma 8y ago>"This file contains some example code demonstrating how the SQLite vfs feature can be used to have SQLite operate directly on an embedded media, without using an intermediate file system." https://www.sqlite.org/src/doc/trunk/src/test_onefile.c https://www.sqlite.org/src/doc/trunk/src/test_onefile.c https://www.sqlite.org/vfs.html https://www.sqlite.org/vfs.html IIRC, during one of his talks D. Richard Hipp mentions this actually being done for real.
- phiresky 8y agoSQLite does not support BLOBs larger than 2GB, so in that sense it's only as good as FAT32