3 ms·
Is that true even with PRAGMA journal_mode = WAL? https://www.sqlite.org/wal.html https://www.sqlite.org/wal.html
by otterley 2mo ago
Is that true even with PRAGMA journal_mode = WAL?
https://www.sqlite.org/wal.html https://www.sqlite.org/wal.html
- amluto 2mo agoThat design doc explicitly talks about what is, essentially, compression of duplicate values in the same column. Many column-oriented databases do this. With SQLite you’re looking at third party extensions that compress the data, still in row-oriented format, and might rather inefficiently recover some benefit. But WAL probably does help with the write amplification above and beyond this. journald-style logs really want a column store IMO. It would be highly entertaining to try something like ducklake with SQLite as the catalog — the whole stack is pretty lightweight and there’s support for inlining inserts in the catalog to avoid creating silly numbers of Parquet files.
- otterley 2mo agoThat would make for a fun experiment for a syslog service. I encourage anyone who wants to give it a shot!
- ptman 2mo agoClickhouse seems to be a popular logstore these days. And is column-oriented.
- NewJazz 2mo agoIsn't it at least somewhat heavy weight though?
- valyala 2mo agoVictoriaLogs could be a good alternative: it stores logs in column-oriented compressed format, so they occupy small amounts of disk space, and it consists of a single small executable without external dependencies, which stores the logs into a single directory on a local filesystem.
- dchest 2mo agoYes, WAL by definition means it writes the data at least twice.
- microgpt2 2mo agoYes it's true even with journal_mode=WAL. The same pages are touched (minimum 1 full page plus one per index), only the atomicity layer is different.