This repository has been archived by the owner on Nov 18, 2024. It is now read-only.
Replies: 1 comment 1 reply
-
How about add |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Recently, it seems valuable to do little discuss the title question during investigation #247
Background
For the previous implement(temp deleted by interface design fusion), it maps Engula's bucket/object to S3's bucket directly.
But it should have some questions:
What if use one bucket to store all data?
It also has another option that stores all data in one S3 bucket and maintains "engula bucket" info by prefix inside an S3 bucket.
For AWS S3, there is no difference between a bucket per tenant and a prefix per tenant in one bucket after using IAM to restrict prefix access( S3's request limit is based on prefix level)
Pros:
Cons:
Some known differences in engula's storage requirements
May be incomplete
Propose Mapping
For current, we are focused on one region multiple AZ deployment, one bucket + prefix should be valuable to take a try
(And it also naturally for different tablet-group pass different regional-bucket-name as root bucket when tablet-group works done)
tenant_id
(or cluster name) as the first prefixSo in one S3 bucket, we will store
So for each operation:
init
Need to specify the root S3 bucket name and region(location), storage can create bucket if not exist.
create bucket
Put meta object in
/{tenant_id}/_engula_meta_/{engula_bucket}
list bucket
list_object_v2
for/{tenant_id}/_engula_meta_/
delete bucket
Delete meta object in
/{tenant_id}/_engula_meta_/{engula_bucket}
and set lifecycle to clean/{tenant_id}/{engula_bucket}
(maybe or not need some background compensation task for the fail call)
create object
Put object in
/{tenant_id}/{engula_bucket}/{object}
delete object
Delete objects in
/{tenant_id}/{engula_bucket}/{object}
list object in bucket
list_object_v2
for/{tenant_id}/{engula_bucket}
TODO
I will do a prototype to verify it, as part of #247
Beta Was this translation helpful? Give feedback.
All reactions