Append / Stream #260
Labels
No Label
AdminAPI
Bug
Check AWS
CI
Correctness
Critical
Documentation
Ideas
Improvement
Low priority
Newcomer
Performance
S3 Compatibility
Testing
Usability
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#260
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
We had some questions about supporting appends/streams. Some use cases:
I think I understand Cryptpad use case better than the MLOps one, but even for Cryptpad I would be curious to see which amount of data is stored for an average document, what is the size of the updates, the frequency, and so on.
Append/Streams on object storage APIs
Some cloud providers implemented append endpoints (with some restrictions):
Append/Streams on Dynamo API
It might also be interesting to check DynamoDB as it may be useful for some cases. With Dynamo semantic, we can fetch multiple entries at once, and also have a "list semantic" on which we can append data for one entry.
Dynamo has also a stream feature to generate a dynamic WAL (log) of what is happening.
The kinesis approach
Amazon recommends using Kinesis to append real time logs to S3 files. This is probably not what we want.
About Cryptpad
Some insights we gathered during FOSDEM by talking with Cryptpad's team:
We will not implement appending/streaming to S3 objects as this is not supported by the S3 API and we don't want to implement custom non-standard featuers.
Workloads that work in an append/stream fashion can now be built using the new K2V API. Moreover, with the Bayou implementation in Aerogramme, we have an example of how to use such an append log structure on K2V with regular compaction into S3 objects so as to minimize the load on K2V (remember that K2V stores everything in the meta/ table so we don't want to overload it).
Wrt Cryptpad, if we were to build a connector to Garage, it would make sense to build it upon K2V.
Closing for now, we can resume the discussion later.