• dan@upvote.au
    link
    fedilink
    English
    arrow-up
    21
    ·
    edit-2
    9 hours ago

    SQLite is underrated. I’ve used it for high traffic systems with no issues. If your system has a large number of readers and a small number of writers, it performs very well. It’s not as good for high-concurrency write-heavy use cases, but that’s not common (most apps read far more than they write).

    My use case was a DB that was created during the build process, then read on every page load.

      • dan@upvote.au
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        4 hours ago

        One of SQLite’s recommended use cases is as an alternate to proprietary binary formats: https://sqlite.org/appfileformat.html. Programs often store data in binary files for performance, but you get a lot of the same functionality included with SQLite (fast random access, concurrent usage, atomicity, updates that don’t need to rewrite the whole file, etc) without having to implement a file format yourself.

        I’m not sure if this is still the case, but Facebook’a HHVM used to store the compiled bytecode for the whole site in a single SQLite database: https://docs.hhvm.com/docs/hhvm/advanced-usage/repo-authoritative/. Every pageload loaded the bytecode for all required files from the DB.