kbase / workspace_deluxe

The Workspace Service (WSS) is primarily a language independent remote storage and retrieval system for KBase typed objects (TO) defined with the KBase Interface Description Language (KIDL).
MIT License
1 stars 17 forks source link

Store smaller objects in mongo vs minio #717

Open MrCreosote opened 7 months ago

MrCreosote commented 7 months ago

Now that the workspace stores objects in minio vs shock and the object storage location is definitely invisible to users, we could update the workspace to store smaller objects in mongo, which would reduce the small files problem in minio and make fetching the objects faster as they can be batched in mongo and a separate minio call isn't needed.

Possibilities:

Drawbacks - if stored in Minio, S3 has json parsing built in which could be used for pulling sub objects. If the files are relatively small this probably doesn't really matter. Also if the files are stored as normal docs there's libraries for doing this.

Once the workspace is updated, we'd want to run a script to move small objects from minio -> mongo