42 lines
4.7 KiB
XML
42 lines
4.7 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="820" viewBox="0 0 1200 820" role="img" aria-labelledby="title desc">
|
|
<title id="title">Version compatibility matrix for a data migration</title>
|
|
<desc id="desc">A matrix compares v1, transition v2 and v3 readers and writers against old and new data representations. The red case highlights removing the old representation while v1 is still declared.</desc>
|
|
<rect width="1200" height="820" fill="#f7fafc"/>
|
|
<rect x="48" y="42" width="1104" height="104" rx="22" fill="#102a43"/>
|
|
<text x="82" y="88" fill="#ffffff" font-family="Arial, sans-serif" font-size="32" font-weight="700">Совместимость: reader и writer во времени</text>
|
|
<text x="82" y="123" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="22">Не «схема развернулась», а какая версия читает и пишет old/new representation</text>
|
|
<rect x="64" y="192" width="266" height="72" fill="#243b53"/>
|
|
<rect x="330" y="192" width="255" height="72" fill="#243b53"/>
|
|
<rect x="585" y="192" width="255" height="72" fill="#243b53"/>
|
|
<rect x="840" y="192" width="296" height="72" fill="#243b53"/>
|
|
<text x="94" y="238" fill="#ffffff" font-family="Arial, sans-serif" font-size="25" font-weight="700">Версия</text>
|
|
<text x="366" y="238" fill="#ffffff" font-family="Arial, sans-serif" font-size="25" font-weight="700">Reader</text>
|
|
<text x="625" y="238" fill="#ffffff" font-family="Arial, sans-serif" font-size="25" font-weight="700">Writer</text>
|
|
<text x="872" y="238" fill="#ffffff" font-family="Arial, sans-serif" font-size="25" font-weight="700">Переходный смысл</text>
|
|
<rect x="64" y="264" width="1072" height="116" fill="#e6fffa" stroke="#9fb3c8" stroke-width="2"/>
|
|
<text x="94" y="313" fill="#102a43" font-family="Arial, sans-serif" font-size="30" font-weight="700">v1 · old</text>
|
|
<text x="94" y="350" fill="#334e68" font-family="Arial, sans-serif" font-size="25">ещё declared</text>
|
|
<text x="358" y="320" fill="#102a43" font-family="Arial, sans-serif" font-size="29">читает old</text>
|
|
<text x="613" y="320" fill="#102a43" font-family="Arial, sans-serif" font-size="29">пишет old</text>
|
|
<text x="870" y="320" fill="#1f7a4d" font-family="Arial, sans-serif" font-size="28" font-weight="700">expand</text>
|
|
<text x="870" y="354" fill="#334e68" font-family="Arial, sans-serif" font-size="23">old path остаётся</text>
|
|
<rect x="64" y="380" width="1072" height="116" fill="#fffbea" stroke="#9fb3c8" stroke-width="2"/>
|
|
<text x="94" y="429" fill="#102a43" font-family="Arial, sans-serif" font-size="30" font-weight="700">v2 · переход</text>
|
|
<text x="94" y="466" fill="#334e68" font-family="Arial, sans-serif" font-size="25">mixed fleet</text>
|
|
<text x="358" y="436" fill="#102a43" font-family="Arial, sans-serif" font-size="29">old / new</text>
|
|
<text x="613" y="436" fill="#102a43" font-family="Arial, sans-serif" font-size="29">old / new</text>
|
|
<text x="870" y="436" fill="#9c6500" font-family="Arial, sans-serif" font-size="28" font-weight="700">migrate</text>
|
|
<text x="870" y="470" fill="#334e68" font-family="Arial, sans-serif" font-size="23">stop gate</text>
|
|
<rect x="64" y="496" width="1072" height="116" fill="#edf2f7" stroke="#9fb3c8" stroke-width="2"/>
|
|
<text x="94" y="545" fill="#102a43" font-family="Arial, sans-serif" font-size="30" font-weight="700">v3 · new</text>
|
|
<text x="94" y="582" fill="#334e68" font-family="Arial, sans-serif" font-size="25">после contract</text>
|
|
<text x="358" y="552" fill="#102a43" font-family="Arial, sans-serif" font-size="29">читает new</text>
|
|
<text x="613" y="552" fill="#102a43" font-family="Arial, sans-serif" font-size="29">пишет new</text>
|
|
<text x="870" y="552" fill="#1f7a4d" font-family="Arial, sans-serif" font-size="28" font-weight="700">contract</text>
|
|
<text x="870" y="586" fill="#334e68" font-family="Arial, sans-serif" font-size="23">после evidence</text>
|
|
<rect x="64" y="642" width="1072" height="96" rx="16" fill="#fff5f7" stroke="#b83280" stroke-width="3"/>
|
|
<text x="94" y="682" fill="#7a2846" font-family="Arial, sans-serif" font-size="25" font-weight="700">Стоп: old representation нельзя удалить, пока v1 всё ещё declared.</text>
|
|
<text x="94" y="716" fill="#7a2846" font-family="Arial, sans-serif" font-size="21">Green deployment нового кода не доказывает отсутствие old reader или old writer.</text>
|
|
<text x="66" y="782" fill="#486581" font-family="Arial, sans-serif" font-size="20">Матрица — проектный контракт, а не inventory реального кластера и не измерение нагрузки.</text>
|
|
</svg>
|