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

Usage as a event sourcing storage #18

Closed
renatoathaydes opened this issue Feb 18, 2019 · 4 comments
Closed

Usage as a event sourcing storage #18

renatoathaydes opened this issue Feb 18, 2019 · 4 comments

Comments

@renatoathaydes
Copy link

Hey, I've been looking at this project with an interest in using it as a event sourcing storage for small datasets - in the order of thousands of records per database.

My idea is to synchronize the small DB between different users of the same database (just a few users/db) via events so it's never necessary to send the whole database to new users except first time they connect... so users should see each other's changes, which should happen infrequently...

Do you think this database would fit the bill? I like that it is written entirely in Dart, so I don't need to rely on external software and could potentially use both on web clients and mobile phones.

Thanks for making this project public and open source by the way, the idea is nice and the code, from what I've seen, of high quality!

@alextekartik
Copy link
Collaborator

Thanks for your interest. It can definitely hold 100K+ records as long as it fits in memory. For web client, there is no support (yet) for convenient persistence (i.e. for now you have to load it in memory - ok for reading) but writing would require some additional code (that I could add if necessary)

@renatoathaydes
Copy link
Author

Ok. Sembast could probably use indexed_db (https://api.dartlang.org/stable/2.1.1/dart-indexed_db/dart-indexed_db-library.html) as a backend (as opposed to the file system) on the browser, no? People could then use the Sembast API on the browser, Dart VM with the filesystem and mobile (maybe even sqlflite for Flutter)?

@alextekartik
Copy link
Collaborator

Definitely indexeddb for the browser. For flutter, a file system is more appropriate for now as it won't take any benefit from sqflite

@alextekartik
Copy link
Collaborator

As a note, sembast_web has been released which supports web client.

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