Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 114 additions & 0 deletions ydb/docs/ru/core/concepts/_assets/storage.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36" version="28.2.7">
<diagram name="Страница — 1" id="J0uTW6giYVTPpnwpSZtR">
<mxGraphModel dx="2066" dy="1062" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-1" value="Tablet 1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="190" y="170" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-3" target="Pjcnsb4VpGuC-l-LkhOH-22">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-3" value="DSProxy" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="120" y="260" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-5" target="Pjcnsb4VpGuC-l-LkhOH-23">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-5" value="DSProxy" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="260" y="260" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.842;entryY=0.033;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-1" target="Pjcnsb4VpGuC-l-LkhOH-3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.167;entryY=0.033;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-1" target="Pjcnsb4VpGuC-l-LkhOH-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-9" target="Pjcnsb4VpGuC-l-LkhOH-11">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-9" value="VDisk" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="120" y="500" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-11" target="Pjcnsb4VpGuC-l-LkhOH-12">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-11" value="PDisk" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
<mxGeometry x="190" y="610" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-12" value="Hardware Storage (HDD, SDD)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
<mxGeometry x="190" y="685" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-14" target="Pjcnsb4VpGuC-l-LkhOH-20">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-14" value="VDisk" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="400" y="500" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-16" target="Pjcnsb4VpGuC-l-LkhOH-11">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-16" value="VDisk" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="260" y="500" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-18" target="Pjcnsb4VpGuC-l-LkhOH-20">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-18" value="VDisk" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="540" y="500" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-20" target="Pjcnsb4VpGuC-l-LkhOH-21">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-20" value="PDisk" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
<mxGeometry x="480" y="610" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-21" value="Hardware Storage (HDD, SDD)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
<mxGeometry x="480" y="685" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-22" target="Pjcnsb4VpGuC-l-LkhOH-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-22" value="Storage Group" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="120" y="410" width="240" height="30" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-23" target="Pjcnsb4VpGuC-l-LkhOH-16">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="508" y="480" />
<mxPoint x="320" y="480" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-23" target="Pjcnsb4VpGuC-l-LkhOH-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-23" value="Storage Group" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="440" y="410" width="270" height="30" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-26" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.25;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-22">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="179.67" y="450" as="sourcePoint" />
<mxPoint x="179.67" y="500" as="targetPoint" />
<Array as="points">
<mxPoint x="179.67" y="460" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-42" target="Pjcnsb4VpGuC-l-LkhOH-43">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-42" value="Tablet 2" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="540" y="170" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Pjcnsb4VpGuC-l-LkhOH-43" target="Pjcnsb4VpGuC-l-LkhOH-23">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Pjcnsb4VpGuC-l-LkhOH-43" value="DSProxy" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="540" y="260" width="120" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
Binary file added ydb/docs/ru/core/concepts/_assets/storage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 6 additions & 2 deletions ydb/docs/ru/core/concepts/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,13 @@ Data shard также автоматически разделяются при

### Внутреннее устройство распределенного хранилища

![Внутреннее устройство распределенного хранилища](https://storage.yandexcloud.net/ydb-www-prod-site-assets/howitworks/distributed.png)
![Внутреннее устройство распределенного хранилища](./_assets/storage.png)

{{ ydb-short-name }} не полагается на сторонние файловые системы. Она хранит данные, работая непосредственно с дисковыми накопителями как блочными устройствами. Поддерживаются все основные типы дисков: NVMe, SSD или HDD. За работу с конкретным блочным устройством отвечает компонент PDisk. Уровень абстракции выше PDisk называется VDisk. Также есть специальный компонент, называемый DSProxy, между таблеткой и VDisk. DSProxy анализирует доступность и характеристики дисков и выбирает, какие диски будут обрабатывать запрос, а какие нет.
{{ ydb-short-name }} не полагается на сторонние файловые системы. Вместо этого она работает непосредственно с дисковыми накопителями как с блочными устройствами. Поддерживаются различные типы дисков: NVMe, SSD и HDD — подробнее об этом можно узнать в [системных требованиях](../devops/concepts/system-requirements.md). За работу с конкретным блочным устройством отвечает компонент [PDisk](./glossary.md#pdisk), который взаимодействует непосредственно с физическим диском. Уровень абстракции выше PDisk называется [VDisk](./glossary.md#vdisk).

Между VDisk и компонентами, непосредственно работающими с данными приложений, существует еще один слой абстракции — [Storage Group](./glossary.md#storage-group). Storage Group объединяет несколько VDisk'ов между собой и обеспечивает необходимые [режимы записи данных](./topology.md#cluster-config) для отказоустойчивости.

Входной точкой в распределённое хранилище является [DS-Proxy](./glossary.md#ds-proxy) (distributed storage proxy). DS-Proxy скрывает распределённую природу хранилища и позволяет таблеткам записывать и читать данные, не заботясь о деталях взаимодействия с VDisk и Storage Group.

### Прокси распределенного хранилища (DSProxy)

Expand Down
Loading