Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VFS #165

Open
benbjohnson opened this issue Nov 9, 2022 · 6 comments
Open

VFS #165

benbjohnson opened this issue Nov 9, 2022 · 6 comments
Labels
enhancement New feature or request

Comments

@benbjohnson
Copy link
Collaborator

LiteFS should work as a SQLite VFS so that non-Linux users and users who don't like FUSE can also run it.

@benbjohnson benbjohnson added the enhancement New feature or request label Nov 9, 2022
@mrkurt
Copy link
Member

mrkurt commented Nov 10, 2022

I would really love for this to work with Deno. Is a vfs pretty much going to have to be rust?

@anacrolix
Copy link

That's a good point, the performance overhead calling Go to C is high, and C to Go is incredibly high.

@benbjohnson
Copy link
Collaborator Author

benbjohnson commented Nov 10, 2022

I would really love for this to work with Deno. Is a vfs pretty much going to have to be rust?

@mrkurt I was thinking that the WASM version would have more limited functionality since a lot of those runtimes don't have a persistent disk so they'll probably just act as a thin client to a separate storage service. If that's the case, then we're stripping out a lot so I'm actually leaning towards making that client in TypeScript instead of Rust.

The VFS I'm thinking of for this issue would just be a rebundling of the Go code without FUSE and targeted at a single database connection.

@nickchomey
Copy link

I'm not sure if this will be helpful here, but rqlite implemented some vfs stuff in this PR, which was based on some VFS nuances explained in a different thread that is linked in that PR.

@nickchomey
Copy link

nickchomey commented Mar 13, 2023

Perhaps this goes too far into the weeds, but this is an interesting paper that deeply explores FUSE performance as well as some optimizations. It sounds like it can have minimal or enormous performance lag depending on the application - sounds like the latter has been observed in litefs and that a vfs implementation would be worthwhile.

https://dl.acm.org/doi/fullHtml/10.1145/3310148

@burggraf
Copy link

What's the current status of VFS support?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants