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

Storage module refactoring #2027

Open
DmitryAstafyev opened this issue May 13, 2024 · 0 comments
Open

Storage module refactoring #2027

DmitryAstafyev opened this issue May 13, 2024 · 0 comments
Assignees
Labels
Chipmunk 3 Migration NodeJS -> Rust native implemented in the rust part (natively) performance

Comments

@DmitryAstafyev
Copy link
Collaborator

Chipmunk needs to save some data on a disk (recent actions, filters, charts, bookmarks and etc). Requests to save/load data mostly comes from client via IPC. Implementation of storage (IO operations) done on electron level (nodejs). Current solution has a couple of weak points:

  • data stored as a JSON string. In the case of a big dataset it might be a problem to exchange data with client with IPC. Currently, we are not limited here: if a dataset is 10 Mb, 10 Mb will be sent to the client completely. It has to be done in some cases (loading of application for example), but it is useless in case of pulling updates for example.
  • current implementation of storage done in the scope of electron module (nodejs) and gives us unnecessary dependency to the electron as itself.

Suggestion:

  • it would be nice to move a storage module to the rust side

Specification (in general it should be some kind of database):

  • indexes/keys: a uuid of storage (name of table in database's terms) and uuid of record in storage
  • type of record: string
  • storage features: create storage; drop storage; overwrite storage
  • records features: insert, remove, overwrite, read
@DmitryAstafyev DmitryAstafyev added native implemented in the rust part (natively) performance Chipmunk 3 Migration NodeJS -> Rust labels May 13, 2024
@DmitryAstafyev DmitryAstafyev self-assigned this May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Chipmunk 3 Migration NodeJS -> Rust native implemented in the rust part (natively) performance
Projects
None yet
Development

No branches or pull requests

1 participant