Skip to content
Snippets Groups Projects
Commit c8fb8ce0 authored by Alexander Tolstoy's avatar Alexander Tolstoy
Browse files

Merge branch '12-04' into 'main'

Replaced images, added new text, reworded bits in the Picodata product description

See merge request picodata/picodata/docs!3
parents 1fdf2315 0884c95e
No related branches found
No related tags found
1 merge request!3Replaced images, added new text, reworded bits in the Picodata product description
Pipeline #3783 passed
docs/cluster.png 0 → 100644
NaN GiB (NaN%)
View file @ c8fb8ce0
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
......@@ -36,12 +36,20 @@ Picodata позволяет развёртывать и управлять кл
* обеспечение высокой доступности и персистентности данных сразу, без использования дополнительного инструментария.
## Архитектура
Архитектура кластера под управлением Picodata предполагает систему гомогенных узлов, входящих в состав кластера. Каждый узел может выполнять различные роли, например роль хранения данных, роль сервера приложения, или служебную роль координатора кластера.
Все узлы работают с единой схемой данных и кодом приложения. Каждый узел выполняется на одном процессорном ядре (1 ядро - 1 процесс). Если рассматривать кластер именно как хранилище, то в нём все данные распределены между узлами, т.е. реплицированы, что означает, что у каждого узла есть как минимум одна реплика. Такие наборы реплицированных узлов называются *репликасетами*, которые считаются единицами физического масштабирования кластера. Число реплик определяется фактором репликации, заданным для набора в глобальных настройках Picodata. У каждого набора всегда есть основная реплика, или *лидер*. В случае отказа лидера репликасета, лидером автоматически становится одна из оставшихся реплик. Данные автоматически балансируются между репликасетами.
Архитектура кластера под управлением Picodata предполагает систему узлов, входящих в состав кластера. Каждый узел может выполнять различные роли, например роль хранения данных, роль сервера приложения, или служебную роль координатора кластера.
Все узлы работают с единой схемой данных и кодом приложения. Каждый процесс базы данных выполняется на одном процессорном ядре и хранит все свои данные в оперативной памяти.
Любой отдельный узел является часть набора реплик, который также называют *репликасетом*. Репликасет может состоять из одного узла или нескольких дубликатов одного и того же набора данных. Внутри репликасета всегда есть *лидер* (основной узел) и - если реплик больше 1 - то некоторое число вспомогательных узлов, обеспечивающие отказоустойчивость системы в случае выхода из строя или недоступности лидера. Число реплик определяется *фактором репликации*, заданным для набора в глобальных настройках Picodata.
На рисунке ниже показана схема простого кластера из двух репликасетов, каждый из которых состоит из двух узлов (активного и в ожидании):
![Схема кластера](cluster.png){ align=left }
Репликасеты являются единицами физического масштабирования кластера. Данные балансируются между ними автоматически.
Внутри каждого репликасета есть *bucket* - виртуализированная единица хранения, обеспечивающая локальность данных (например, хранение нескольких связанных с клиентом записей на одном физическом узле). Таким образом, при горизонтальном масштабировании кластера данные распределяются по устройствам хранения не напрямую, а внутри bucket'ов. Это позволяет увеличить скорость выполнения запросов к БД и одновременно с этим снизить нагрузку на сетевую инфраструктуру кластера.
На схеме ниже показано устройство шардированного кластера, распределенного по трем датацентрам:
![Image title](cluster_scheme1.png){ align=left }
На схеме ниже показан пример шардирования элементов кластера путём распределения репликасетов по нескольким серверам:
![Принцип шардирования](sharding.png){ align=left }
Красным показана связь активных узлов (инстансов) посредством встроенной библиотеки шардирования, а серым - связь узлов, находящихся в режиме hot standby, т.е. готовых вступить в работу в случае роста объёмов хранения данных или увеличения вычислительной нагрузки.
Каждый bucket в любой момент времени может находиться только в одном репликасете. В то же время, в репликасете может быть несколько bucket'ов, или не быть ни одного. Внутри bucket'а данные распределены по двум или более узлам в рамках репликасета.
\ No newline at end of file
В свою очередь, сервера могут находиться в разных дата-центрах и быть географически распределены. С точки зрения администратора кластера, данные сначала попадают в опредёленный bucket и лишь затем оказываются на физическом устройстве хранения.
Каждый bucket в любой момент времени может находиться только в одном репликасете. В то же время, в репликасете может быть несколько bucket'ов, или не быть ни одного. Внутри bucket'а данные задублированы по всем узлам в рамках репликасета в соответствие с фактором репликации.
\ No newline at end of file
......@@ -4,7 +4,7 @@ Picodata — это распределенный сервер приложен
## Доступные документы и статьи
* Общее описание продукта
* Общее [описание](description) продукта
* [Преимущества](benefits) использования Picodata
* Администрирование БД как [услуга](services)
* Системные требования
......
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment