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

Add SQLite #365

Closed
jakirkham opened this issue Dec 16, 2018 · 6 comments
Closed

Add SQLite #365

jakirkham opened this issue Dec 16, 2018 · 6 comments

Comments

@jakirkham
Copy link
Member

As another nice builtin Python option, it would be great to implement an SQLite-based key-value store. Most users are likely to have SQLite support in Python out-of-the-box. Not to mention many languages support SQLite, which should help in cases where the same data may need to be viewed in various languages. Finally in industry it is quite common for databases to support SQL to make using the database easier for people familiar with this language, which should help if we want to make other mutable mappings that leverage SQL in the future.

@jakirkham jakirkham transferred this issue from zarr-developers/numcodecs Dec 16, 2018
@jakirkham
Copy link
Member Author

Some good info in this doc.

@jakirkham jakirkham mentioned this issue Dec 21, 2018
7 tasks
@jakirkham
Copy link
Member Author

Have added an implementation in PR ( #368 ).

@alimanfoo
Copy link
Member

Just mentioning that, in googling around sqlite and key-value stores, I found there is something called LSM which apparently is a new key-value store developed originally as a storage engine for sqlite4, but which can be used as a standalone package. So LSM could be another possible store implementation for zarr. Doesn't take away from the value of having the sqlite3 implementation in #368, it would be a different store class.

@jakirkham
Copy link
Member Author

Very cool. Looks like SQLite4 is going to be a very nice improvement!

While the SQLite3 implementation has value on its own, am hopeful that demonstrating how to leverage SQL to implement this is handy for users working with or interested in other databases that support SQL and want to use Zarr with them.

@alimanfoo
Copy link
Member

Very cool. Looks like SQLite4 is going to be a very nice improvement!

FWIW I read somewhere that there are question marks about whether sqlite4 is going to happen, however the LSM package stands by itself and so could be used regardless of what happens with sqlite4.

While the SQLite3 implementation has value on its own, am hopeful that demonstrating how to leverage SQL to implement this is handy for users working with or interested in other databases that support SQL and want to use Zarr with them.

That's a nice idea.

@jakirkham
Copy link
Member Author

FWIW I read somewhere that there are question marks about whether sqlite4 is going to happen...

Looks like you are right.

ref: https://sqlite.org/src4/info/c0b7f14c0976ed5e

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

No branches or pull requests

2 participants