Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I made a similar sqlite vfs in Go[1]. I really love the VFS api. HTTP range queries is about the most mild thing you can do with it. The VFS implementations that use non-traditional backing stores are more fun. Like say, using DynamoDB as a read/write backing store for your sqlite database[2].

[1]: https://github.com/psanford/sqlite3vfshttp

[2]: https://github.com/psanford/donutdb



That DynamoDB VFS looks cool! I agree that the VFS api makes one think about plenty of crazy ideas. Someone is working on a VFS based on Foundation DB[0] that looks very promising. It was recently discussed here[1]

[0]: https://github.com/losfair/mvsqlite

[1]: https://news.ycombinator.com/item?id=32269287


I wish I knew rust so I could contribute, as I think that's the best one. FDB has the best durability/transactional guarantees of any key/value store that's distributed as far as I've seen. Syclla for example is also pretty great but doesn't have the same guarantees for transactions.


> FDB has the best durability/transactional guarantees of any key/value store that's distributed as far as I've seen.

Can you expand more on this? I keep hearing that on HN but what guarantees does FDB provide over other key/value DB’s?


I’d read this:

https://apple.github.io/foundationdb/cap-theorem.html

And

https://apple.github.io/foundationdb/consistency.html

For a summary. Tldr is that FDB provides transactional guarantees similar to an rdbms but can be distributed and has optimistic concurrency, meaning locks are not necessary.

In the context of SQLite that’s the main issue it has and FDB is positioned to solve it.


Very useful. Thank you so much


Here's [1] a particularly crazy one which offers synchronous, low-latency (millis) replication of a SQLite database to a distributed recovery log. It does this by instrumenting the file operations SQLite is making and recording their effects into the log.

[1] https://pkg.go.dev/go.gazette.dev/core@v0.89.0/consumer/stor...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: