Storj
Object storestorj
Decentralised S3-compatible object store that erasure codes each segment across uncorrelated nodes.
- Provider
- default
- Kind
- Object store
- Category
- Data
- Official docs
- https://storj.dev/dcs/api/s3/object-versioning
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| accessProtocol | enum | native-uplink | s3-gateway | no | s3-gateway | inherited |
| checksumOnWrite | boolean | — | no | false | inherited |
| durabilityNines | integer | — | no | — | inherited |
| encryptionAtRest | boolean | — | no | false | ▸ true |
| endToEndEncryption | boolean | — | no | false | inherited |
| managed | boolean | — | no | false | ▸ true |
| objectLock | boolean | — | no | false | inherited |
| piecesPerSegment | integer | — | no | 80 | inherited |
| piecesToReconstruct | integer | — | no | 29 | inherited |
| replication | enum | none | primary-secondary | quorum | erasure-coded | no | none | ▸ erasure-coded |
| strongReadAfterWrite | boolean | — | no | false | inherited |
| tier | enum | hot | warm | cold | no | hot | ▸ hot |
| versioning | boolean | — | no | false | ▸ false |
| zones | integer | — | no | — | inherited |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
object-store-single-zone-with-durability-target
Eleven nines of durability assumes redundancy spread over at least three failure domains. An object store confined to fewer zones, or declaring none, cannot reach the target the design states.
- — all of these hold:
- — the design requirement `durability.annualNines` is a number greater than 10
- — any of these hold:
- — the node's `zones` has no value
- — the node's `zones` is a number less than 3
nodes:
- { id: "storj", component: "storj" }Object Storage Servicealibaba-ossAWS HealthImagingaws-healthimagingAWS HealthOmicsaws-healthomicsAmazon S3 Express One Zoneaws-s3-express-one-zoneAmazon S3 Glacieraws-s3-glacierAmazon S3 Tablesaws-s3-tablesAmazon Security Lakeaws-security-lakeAmazon S3s3Azure Blob Storageazure-blob-storageAzure Data Lake Storageazure-data-lake-storageMicrosoft Planetary Computer Proazure-planetary-computerCache Reservecloudflare-cache-reserveCloudflare Imagescloudflare-imagesCloudflare R2cloudflare-r2Backblaze B2 Cloud Storagebackblaze-b2Blob storeblob-storeCeph RADOS Gatewayceph-rgwCloudinarycloudinaryGaragegaragelakeFSlakefsMinIOminioGeneric object storeobject-storeApache OzoneozoneSeaweedFSseaweedfsOpenStack SwiftswiftWasabi Hot Cloud StoragewasabiSpaces Object Storagedigitalocean-spacesGoogle Cloud StoragegcsIBM Cloud Object Storageibm-cloud-object-storageOCI Archive Storageoci-archive-storageOCI Object Storageoci-object-storageOUTSCALE Object Storage (OOS)outscale-oos
# yaml-language-server: $schema=../../schema/component.schema.json # Storj: decentralised S3-compatible object store; every segment is erasure coded and spread over # statistically uncorrelated nodes. Per "File repair", a segment is split into 80 pieces of which any 29 # reconstruct the file; per "Object versioning", a new bucket is unversioned; per "Design decision: # server-side encryption", the native uplink protocol encrypts end to end and the S3 gateway is server-side. schemaVersion: "1" type: "component" id: "storj" kind: "object-store" provider: "default" docs: "https://storj.dev/dcs/api/s3/object-versioning" defaults: managed: true replication: "erasure-coded" tier: "hot" versioning: false encryptionAtRest: true properties: accessProtocol: type: "enum" values: ["native-uplink", "s3-gateway"] default: "s3-gateway" endToEndEncryption: type: "boolean" default: false piecesPerSegment: type: "integer" default: 80 piecesToReconstruct: type: "integer" default: 29