4 ms·
This is great and I'm definitely going to be using it this week in a client project. That being said, you don't get an innovation rebate for using a new tool,
by couchand 4y ago
This is great and I'm definitely going to be using it this week in a client project.
That being said, you don't get an innovation rebate for using a new tool, even if, as here, it's a parsimony-enabler. It's still a new tool.
A description from TFA reads "The most important thing you should understand about Litestream is that it's just SQLite." (This reminds me an awful lot of the tagline for CoffeeScript: "It's just JavaScript" -- where did that leave us?) But that info box is just under a description of how the new tool is implemented in a way that makes it sound (to someone who's never looked at the SQLite codebase) like it's breaking some assumptions that SQLite is making. That's the sound of an innovation token being spent.
- tptacek 4y agoCoffeeScript was not in fact just Javascript. Litestream literally is just sqlite3; it's not an app dependency, and doesn't interpose itself between your app and sqlite3. You could add it to an existing single-process SQLite-backed app without changing any code or configuration, other than running the Litestream process.
- couchand 4y agoIt's brilliant that a person can ship their WAL from an app that doesn't know anything about Litestream. That's cool. But it is not in fact just SQLite. If it were, there wouldn't be a blog post, or an additional binary to download, or a backup of my database in S3, or...
- tptacek 4y agoThis is like saying simply rsync'ing the database file is "not just SQLite". Sure, in one particularly unuseful parsing of the words "just SQLite".
- kasey_junk 4y agoI think saying it is “just SQLite” is (unintentionally) misleading. Your app may not know it’s anything else but operationally it’s a sidecar, so another process to manage. I actually had to go look that up because it was a little unclear from the blog post and this comments section.
- rogers18445 4y agoIt would appear that sqlite is merely "deceived" by a secondary client, its normal operation is not affected. https://litestream.io/how-it-works/ https://litestream.io/how-it-works/ Keep in mind that sqlite is most likely the most tested 100k lines of C code in existence. They have tests covering WAL behavior.
- couchand 4y agoIf we're designing a system that relies on an unconventional and otherwise quite rare use-case of a dependency in order to make critical long-term stability guarantees, I would rather that dependency be SQLite, for sure.