storj/docs/blueprints/byte-range-multipart-copy/images/metabase-shape-160.plantuml
Erik van Velzen 0cfbd34da2 docs/blueprints: byte range multipart copy
Design proposal for approval to support S3's UploadPartCopy. Major
revision 2.

Change-Id: I9cbe934a773d3496101f32afb19492ea75f48061
2022-10-13 12:03:17 +00:00

143 lines
2.2 KiB
Plaintext

@startuml
package Original {
class Original.Object {
key
256 MiB
}
package Part1 {
class Original.Part1.Segment1 {
64 MiB
56 pieces
}
class Original.Part1.Segment2 {
64 MiB
56 pieces
}
class Original.Part1.Segment3 {
64 MiB
56 pieces
}
class Original.Part1.Segment4 {
64 MiB
56 pieces
}
}
}
@enduml
@startuml
package Destination {
class Object {
PENDING
key
??? MiB
}
}
@enduml
@startuml
package Destination {
class Object {
PENDING
key
??? MiB
}
package PendingCopyRange {
class Part1 {
Source=Object1
1-160 MiB
}
}
package Segments.Part1 {
class Segment1 {
64 MiB
0 pieces
}
class Segment2 {
64 MiB
0 pieces
}
class Segment3 {
64 MiB
0 pieces
}
}
}
@enduml
@startuml
package Destination {
class Object {
PENDING
key
??? MiB
}
package PendingCopyRange {
class Part1 {
Source=Object1
1-160 MiB
}
class Part2 {
Source=Object1
160-320 MiB
}
}
package Segments.Part1 {
class Segment1 {
64 MiB
0 pieces
}
class Segment2 {
64 MiB
0 pieces
}
class Segment3 {
64 MiB
0 pieces
}
class Segment4 {
64 MiB
0 pieces
}
}
}
@enduml
@startuml
package Destination {
class Object {
COMMITTED
key
256 MiB
}
class SegmentCopies {
streamID
ancestorStreamID
}
package Segments.Part1 {
class Segment1 {
64 MiB
0 pieces
}
class Segment2 {
64 MiB
0 pieces
}
class Segment3 {
64 MiB
0 pieces
}
class Segment4 {
64 MiB
0 pieces
}
}
}
@enduml