feoblog icon indicating copy to clipboard operation
feoblog copied to clipboard

Support for different database backends

Open NfNitLoop opened this issue 4 years ago • 2 comments

Right now, FeoBlog uses an SQLite database. This simplifies maintenance, and should scale enough for individual use, or use among a small group of friends. But SQLite does have limitations with high write loads.

Currently, database operations are all abstracted through the Backend type. It should be easy to add a new implementation, but I'd need to plan for a few things.

  • Do I want to maintain multiple backends?
  • If not, how do I allow backend implementations to be maintained by others without requiring lock-step development?
  • Config file support so database passwords don't need to be specified as command-line arguments. (Which is also good to have in general, I suppose.)

NfNitLoop avatar Feb 01 '21 19:02 NfNitLoop

In the meantime, one method for gaining better write concurrency may be to enable write-ahead-logging in your SQLite database.

NfNitLoop avatar Feb 02 '21 02:02 NfNitLoop

In the meantime, one method for gaining better write concurrency may be to enable write-ahead-logging in your SQLite database.

This was such a performance gain it's going to be the default in the next release. (It's already in the develop branch, via 6d20a809d29c595e82098f8e8c2b09b3932029dd)

NfNitLoop avatar Feb 21 '21 06:02 NfNitLoop