storj/docs/blueprints/byte-range-multipart-copy/images/metabase-shape-160_002.svg
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

49 lines
13 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="363px" preserveAspectRatio="none" style="width:584px;height:363px;background:#FFFFFF;" version="1.1" viewBox="0 0 584 363" width="584px" zoomAndPan="magnify"><defs/><g><!--MD5=[e99e64f544e03e74d5532d92e9db740c]
cluster Destination--><g id="cluster_Destination"><path d="M8.5,6.294 L88.5,6.294 A3.75,3.75 0 0 1 91,8.794 L98,29.0939 L574.5,29.0939 A2.5,2.5 0 0 1 577,31.5939 L577,353.794 A2.5,2.5 0 0 1 574.5,356.294 L8.5,356.294 A2.5,2.5 0 0 1 6,353.794 L6,8.794 A2.5,2.5 0 0 1 8.5,6.294 " fill="none" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="6" x2="98" y1="29.0939" y2="29.0939"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="79" x="10" y="21.2999">Destination</text></g><!--MD5=[e32ea201eac9c26a2182d9fc82f320db]
cluster PendingCopyRange--><g id="cluster_PendingCopyRange"><path d="M402.5,49.294 L540.5,49.294 A3.75,3.75 0 0 1 543,51.794 L550,72.0939 L550.5,72.0939 A2.5,2.5 0 0 1 553,74.5939 L553,179.794 A2.5,2.5 0 0 1 550.5,182.294 L402.5,182.294 A2.5,2.5 0 0 1 400,179.794 L400,51.794 A2.5,2.5 0 0 1 402.5,49.294 " fill="none" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="400" x2="550" y1="72.0939" y2="72.0939"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="137" x="404" y="64.2999">PendingCopyRange</text></g><!--MD5=[8729272c8dbef0dd5f62fba128b8720d]
cluster Segments.Part1--><g id="cluster_Segments.Part1"><path d="M118.5,49.294 L226.5,49.294 A3.75,3.75 0 0 1 229,51.794 L236,72.0939 L373.5,72.0939 A2.5,2.5 0 0 1 376,74.5939 L376,329.794 A2.5,2.5 0 0 1 373.5,332.294 L118.5,332.294 A2.5,2.5 0 0 1 116,329.794 L116,51.794 A2.5,2.5 0 0 1 118.5,49.294 " fill="none" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="116" x2="236" y1="72.0939" y2="72.0939"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="107" x="120" y="64.2999">Segments.Part1</text></g><!--MD5=[aa7f586532e18719e6cefa70fc650583]
class Object--><g id="elem_Object"><rect codeLine="40" fill="#F1F1F1" height="98.3998" id="Object" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="75" x="21.5" y="76.294"/><ellipse cx="37.4" cy="92.294" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M32.4,93.4502 C32.4,95.9502 34.5406,97.7627 37.4625,97.7627 C38.6969,97.7627 39.8688,97.4659 40.6188,96.9502 C41.2281,96.5284 41.5563,96.1065 41.5563,95.7002 C41.5563,95.2315 41.1344,94.8252 40.6344,94.8252 C40.4,94.8252 40.1813,94.9034 39.9781,95.1065 C39.5406,95.544 39.5406,95.544 39.3688,95.6377 C38.9156,95.8721 38.275,96.0127 37.5094,96.0127 C35.5094,96.0127 34.2281,94.9971 34.2281,93.419 L34.2281,92.3721 C34.2281,90.669 35.4469,89.4659 37.15,89.4659 C37.7281,89.4659 38.3063,89.6065 38.775,89.8565 C39.2438,90.1221 39.4156,90.3096 39.4781,90.669 C39.6031,91.3409 39.8531,91.5909 40.3844,91.5909 C40.6656,91.5909 40.9469,91.4502 41.1344,91.2315 C41.2594,91.0596 41.3063,90.8877 41.3063,90.4502 L41.3063,89.0909 C41.3063,88.669 41.2906,88.5284 41.1656,88.3565 C40.9938,88.1065 40.7125,87.9502 40.3844,87.9502 C40.0719,87.9502 39.8688,88.0596 39.65,88.3252 C38.4781,87.8252 38.0406,87.7159 37.0875,87.7159 C34.4156,87.7159 32.4,89.7315 32.4,92.3565 L32.4,93.4502 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="51.6" y="96.9">Object</text><line style="stroke:#181818;stroke-width:0.5;" x1="22.5" x2="95.5" y1="108.294" y2="108.294"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63" x="27.5" y="125.2999">PENDING</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="22" x="27.5" y="142.0999">key</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="27.5" y="158.8998">??? MiB</text><line style="stroke:#181818;stroke-width:0.5;" x1="22.5" x2="95.5" y1="166.6938" y2="166.6938"/></g><!--MD5=[351a9df3532dba24ee657e370e0b6cee]
class Part1--><g id="elem_Part1"><rect codeLine="47" fill="#F1F1F1" height="81.5999" id="Part1" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="114" x="419" y="84.294"/><ellipse cx="455.6" cy="100.294" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M450.6,101.4502 C450.6,103.9502 452.7406,105.7627 455.6625,105.7627 C456.8969,105.7627 458.0688,105.4659 458.8188,104.9502 C459.4281,104.5284 459.7563,104.1065 459.7563,103.7002 C459.7563,103.2315 459.3344,102.8252 458.8344,102.8252 C458.6,102.8252 458.3813,102.9034 458.1781,103.1065 C457.7406,103.544 457.7406,103.544 457.5688,103.6377 C457.1156,103.8721 456.475,104.0127 455.7094,104.0127 C453.7094,104.0127 452.4281,102.9971 452.4281,101.419 L452.4281,100.3721 C452.4281,98.669 453.6469,97.4659 455.35,97.4659 C455.9281,97.4659 456.5063,97.6065 456.975,97.8565 C457.4438,98.1221 457.6156,98.3096 457.6781,98.669 C457.8031,99.3409 458.0531,99.5909 458.5844,99.5909 C458.8656,99.5909 459.1469,99.4502 459.3344,99.2315 C459.4594,99.0596 459.5063,98.8877 459.5063,98.4502 L459.5063,97.0909 C459.5063,96.669 459.4906,96.5284 459.3656,96.3565 C459.1938,96.1065 458.9125,95.9502 458.5844,95.9502 C458.2719,95.9502 458.0688,96.0596 457.85,96.3252 C456.6781,95.8252 456.2406,95.7159 455.2875,95.7159 C452.6156,95.7159 450.6,97.7315 450.6,100.3565 L450.6,101.4502 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="474.4" y="104.9">Part1</text><line style="stroke:#181818;stroke-width:0.5;" x1="420" x2="532" y1="116.294" y2="116.294"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="102" x="425" y="133.2999">Source=Object1</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="425" y="150.0999">1-160 MiB</text><line style="stroke:#181818;stroke-width:0.5;" x1="420" x2="532" y1="157.8938" y2="157.8938"/></g><!--MD5=[e8c087ca6c91ad88f30ff6f96718cc79]
class Segment1--><g id="elem_Segment1"><rect codeLine="54" fill="#F1F1F1" height="81.5999" id="Segment1" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="97" x="131.5" y="84.294"/><ellipse cx="146.5" cy="100.294" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M141.5,101.4502 C141.5,103.9502 143.6406,105.7627 146.5625,105.7627 C147.7969,105.7627 148.9688,105.4659 149.7188,104.9502 C150.3281,104.5284 150.6563,104.1065 150.6563,103.7002 C150.6563,103.2315 150.2344,102.8252 149.7344,102.8252 C149.5,102.8252 149.2813,102.9034 149.0781,103.1065 C148.6406,103.544 148.6406,103.544 148.4688,103.6377 C148.0156,103.8721 147.375,104.0127 146.6094,104.0127 C144.6094,104.0127 143.3281,102.9971 143.3281,101.419 L143.3281,100.3721 C143.3281,98.669 144.5469,97.4659 146.25,97.4659 C146.8281,97.4659 147.4063,97.6065 147.875,97.8565 C148.3438,98.1221 148.5156,98.3096 148.5781,98.669 C148.7031,99.3409 148.9531,99.5909 149.4844,99.5909 C149.7656,99.5909 150.0469,99.4502 150.2344,99.2315 C150.3594,99.0596 150.4063,98.8877 150.4063,98.4502 L150.4063,97.0909 C150.4063,96.669 150.3906,96.5284 150.2656,96.3565 C150.0938,96.1065 149.8125,95.9502 149.4844,95.9502 C149.1719,95.9502 148.9688,96.0596 148.75,96.3252 C147.5781,95.8252 147.1406,95.7159 146.1875,95.7159 C143.5156,95.7159 141.5,97.7315 141.5,100.3565 L141.5,101.4502 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="160.5" y="104.9">Segment1</text><line style="stroke:#181818;stroke-width:0.5;" x1="132.5" x2="227.5" y1="116.294" y2="116.294"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="44" x="137.5" y="133.2999">64 MiB</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="53" x="137.5" y="150.0999">0 pieces</text><line style="stroke:#181818;stroke-width:0.5;" x1="132.5" x2="227.5" y1="157.8938" y2="157.8938"/></g><!--MD5=[0c5e25f2d8585a3891e00bf8523de367]
class Segment2--><g id="elem_Segment2"><rect codeLine="58" fill="#F1F1F1" height="81.5999" id="Segment2" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="97" x="263.5" y="84.294"/><ellipse cx="278.5" cy="100.294" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M273.5,101.4502 C273.5,103.9502 275.6406,105.7627 278.5625,105.7627 C279.7969,105.7627 280.9688,105.4659 281.7188,104.9502 C282.3281,104.5284 282.6563,104.1065 282.6563,103.7002 C282.6563,103.2315 282.2344,102.8252 281.7344,102.8252 C281.5,102.8252 281.2813,102.9034 281.0781,103.1065 C280.6406,103.544 280.6406,103.544 280.4688,103.6377 C280.0156,103.8721 279.375,104.0127 278.6094,104.0127 C276.6094,104.0127 275.3281,102.9971 275.3281,101.419 L275.3281,100.3721 C275.3281,98.669 276.5469,97.4659 278.25,97.4659 C278.8281,97.4659 279.4063,97.6065 279.875,97.8565 C280.3438,98.1221 280.5156,98.3096 280.5781,98.669 C280.7031,99.3409 280.9531,99.5909 281.4844,99.5909 C281.7656,99.5909 282.0469,99.4502 282.2344,99.2315 C282.3594,99.0596 282.4063,98.8877 282.4063,98.4502 L282.4063,97.0909 C282.4063,96.669 282.3906,96.5284 282.2656,96.3565 C282.0938,96.1065 281.8125,95.9502 281.4844,95.9502 C281.1719,95.9502 280.9688,96.0596 280.75,96.3252 C279.5781,95.8252 279.1406,95.7159 278.1875,95.7159 C275.5156,95.7159 273.5,97.7315 273.5,100.3565 L273.5,101.4502 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="292.5" y="104.9">Segment2</text><line style="stroke:#181818;stroke-width:0.5;" x1="264.5" x2="359.5" y1="116.294" y2="116.294"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="44" x="269.5" y="133.2999">64 MiB</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="53" x="269.5" y="150.0999">0 pieces</text><line style="stroke:#181818;stroke-width:0.5;" x1="264.5" x2="359.5" y1="157.8938" y2="157.8938"/></g><!--MD5=[6709f8a889f97bff46691ea82439f452]
class Segment3--><g id="elem_Segment3"><rect codeLine="62" fill="#F1F1F1" height="81.5999" id="Segment3" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="97" x="131.5" y="234.294"/><ellipse cx="146.5" cy="250.294" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M141.5,251.4502 C141.5,253.9502 143.6406,255.7627 146.5625,255.7627 C147.7969,255.7627 148.9688,255.4659 149.7188,254.9502 C150.3281,254.5284 150.6563,254.1065 150.6563,253.7002 C150.6563,253.2315 150.2344,252.8252 149.7344,252.8252 C149.5,252.8252 149.2813,252.9034 149.0781,253.1065 C148.6406,253.544 148.6406,253.544 148.4688,253.6377 C148.0156,253.8721 147.375,254.0127 146.6094,254.0127 C144.6094,254.0127 143.3281,252.9971 143.3281,251.419 L143.3281,250.3721 C143.3281,248.669 144.5469,247.4659 146.25,247.4659 C146.8281,247.4659 147.4063,247.6065 147.875,247.8565 C148.3438,248.1221 148.5156,248.3096 148.5781,248.669 C148.7031,249.3409 148.9531,249.5909 149.4844,249.5909 C149.7656,249.5909 150.0469,249.4502 150.2344,249.2315 C150.3594,249.0596 150.4063,248.8877 150.4063,248.4502 L150.4063,247.0909 C150.4063,246.669 150.3906,246.5284 150.2656,246.3565 C150.0938,246.1065 149.8125,245.9502 149.4844,245.9502 C149.1719,245.9502 148.9688,246.0596 148.75,246.3252 C147.5781,245.8252 147.1406,245.7159 146.1875,245.7159 C143.5156,245.7159 141.5,247.7315 141.5,250.3565 L141.5,251.4502 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="160.5" y="254.9">Segment3</text><line style="stroke:#181818;stroke-width:0.5;" x1="132.5" x2="227.5" y1="266.294" y2="266.294"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="44" x="137.5" y="283.2999">64 MiB</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="53" x="137.5" y="300.0999">0 pieces</text><line style="stroke:#181818;stroke-width:0.5;" x1="132.5" x2="227.5" y1="307.8938" y2="307.8938"/></g><!--MD5=[5d096717cbca39ab6121e00296a483f6]
@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
PlantUML version 1.2022.7(Mon Aug 22 19:01:30 CEST 2022)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>