From d136717060113552d935a591e95d8300675bdeb3 Mon Sep 17 00:00:00 2001
From: "a.tolstoy" <a.tolstoy@picodata.io>
Date: Mon, 27 Mar 2023 17:28:17 +0300
Subject: [PATCH 1/2] docs: revise the preface page for Sbroad

---
 docs/cli.md                   |   2 +-
 docs/index.md                 |   5 +++--
 docs/sbroad/sql_basics.md     |  39 ---------------------------------
 docs/sbroad/sql_glossary.md   |  37 +++++++++++++++++++++++++++++++
 docs/sbroad/sql_index.md      |  40 +++++++++++++++++++++++++++++-----
 docs/sbroad/sql_queries.md    |   4 +++-
 docs/sbroad/tables.svg        | Bin 30772 -> 0 bytes
 docs/sbroad/tables_curves.svg | Bin 48859 -> 0 bytes
 mkdocs.yml                    |   1 +
 9 files changed, 79 insertions(+), 49 deletions(-)
 delete mode 100644 docs/sbroad/sql_basics.md
 create mode 100644 docs/sbroad/sql_glossary.md
 delete mode 100644 docs/sbroad/tables.svg
 delete mode 100644 docs/sbroad/tables_curves.svg

diff --git a/docs/cli.md b/docs/cli.md
index 88030b1b..76a21bb6 100644
--- a/docs/cli.md
+++ b/docs/cli.md
@@ -1,4 +1,4 @@
-# Описание параметров запуска
+# Описание параметров запуска Picodata
 Picodata является консольным приложением, которое поддерживает различные параметры запуска в виде аргументов командной строки. 
 
 Полный список аргументов доступен с помощью следующей команды:
diff --git a/docs/index.md b/docs/index.md
index 883aab32..4797b103 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -15,8 +15,9 @@
 * [Пример работы с кластером Picodata](tutorial)
 
 ### Справочные материалы
-* [Описание параметров запуска](cli)
-* [Поддерживаемые функции стандарта SQL](sql_reference)
+* [Описание параметров запуска Picodata](cli)
+* [Поддерживаемые функции стандарта SQL](sbroad/sql_reference)
+* [Глоссарий основных терминов и определений](sbroad/sql_glossary)
 
 На данном портале представлена техническая документация программного продукта Picodata. Информация о выгодах сотрудничества с компанией Picodata, корпоративных решениях и услугах, новостях, событиях находится на сайте [picodata.io](https://www.picodata.io){:target="_blank"}.
 
diff --git a/docs/sbroad/sql_basics.md b/docs/sbroad/sql_basics.md
deleted file mode 100644
index 1485ac0e..00000000
--- a/docs/sbroad/sql_basics.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# Основы и базовые понятия SQL
-Данный раздел содержит описание основных понятий и терминов, которые
-понадобятся при взаимодействии с СУБД. Раздел ориентирован на
-пользователей, не имеющих обширного опыта работы с реляционными СУБД.
-
-## Что такое SQL
-
-Picodata предоставляет интерфейс доступа к СУБД Tarantool — реляционной системе управления базами данных, которая реализует поддержку [стандарта SQL](../sql_reference) (_Structured Query Language_, язык структурированных запросов). Это означает, что это система управления данными, представленными в виде отношений (relation). Отношение — это математически точное обозначение таблицы. 
-Реляционная база данных состоит из таблиц, и у нее есть две ключевые характеристики:
-
-* Данные распределены по смыслу по таблицам
-* Между таблицами есть отношения
-
-Любая таблица представляет собой именованный набор строк. Все строки таблицы имеют одинаковый набор именованных столбцов, при этом каждому столбцу назначается определённый тип данных. Несмотря на то что порядок столбцов во всех строках фиксирован, важно помнить, что SQL не гарантирует какой-либо порядок строк в таблице (хотя их можно явно отсортировать при выводе).
-
-## Что позволяет делать SQL
-
-SQL позволяет работать с наборами данных и отношениями между ними. В общем случае, пользователю базы данных (БД) доступны следующие действия:
-
-* Выполнение запросов к БД
-* Получение данных из БД в виде представления (view)
-* Сортировать полученные из БД данные
-* Добавление таблиц в БД
-* Запись данных в БД
-* Обновление данных в БД
-* Удаление данных из БД
-* Управление правами доступа к данным в БД
-
-## Применение SQL
-SQL применяется практически везде, где требуется накопление и хранение важных бизнес-данных. Например, это может быть список клиентов, список их покупок, список их адресов и т.п. Каждый список будет отдельной таблицей в БД.
-
-При запросе на получение данных из таблиц формируется представление (view) — результат запроса в виде объединенной таблицы, которая содержит в себе найденные вхождения из одной или нескольких исходных таблиц. Вариант представления показан на рисунке ниже.
-
-![tables_query](tables_curves.svg "Tables and views")
-
-Представление может содержать столбцы из разных таблиц, при этом количество строк будет соответствовать числу найденных вхождений согласно заданному запросу.
-
-Более подробные сведения о работе SQL в Picodata приведены в разделе [Принцип работы распределенных запросов](../sql_review)
-
diff --git a/docs/sbroad/sql_glossary.md b/docs/sbroad/sql_glossary.md
new file mode 100644
index 00000000..880f78a7
--- /dev/null
+++ b/docs/sbroad/sql_glossary.md
@@ -0,0 +1,37 @@
+# Глоссарий
+## Общие сведения
+Данный документ содержит список терминов и их определений для основных программных компонентов и понятий, которые используются в Picodata. У глоссария две простые цели:
+
+- Дать точное и непротиворечивое определение каждому термину применительно к его использованию в Picodata.
+- Обеспечить единообразие терминологии во внутренних документах (комментарии в коде, readme и прочие Markdown-документы в наших репозиториях).
+
+Список ниже будет дополняться и исправляться в течение времени.
+
+## Список терминов и определений
+**Инстанс** — программный узел, входящий в состав кластера. Каждый инстанс является экземпляром приложения Picodata, а также репликой в составе репликасета. Среда выполнения приложения может быть как виртуальной, так и физической.
+
+**Кластер** — набор программных узлов, составляющих отдельную группу.
+
+**Raft** — алгоритм синхронной репликации, обеспечивающий целостность кластера (raft-группы). Raft отвечает за автоматический выбор лидера raft-группы (лидер может меняться). В raft-группе есть лидер, а остальные узлы называются follower’ами.
+
+**Отказоустойчивость** — показатель надежности кластера и/или отдельных его узлов. Отказоустойчивость означает способность кластера продолжать работу при выходе из строя одного или нескольких узлов. Достигается с помощью репликации.
+
+**Репликация** — создание и поддержание в актуальном состоянии резервных копий инстансов. Набор из активного инстанса и его резервных копий называется репликасетом.
+
+**Фактор репликации** — число инстансов в репликасете.
+
+**Репликасет** — буквально «набор реплик», экземпляров приложений, в которых хранится один и тот же набор реплицированных данных. В зависимости от роли реплик, в Picodata есть реплики _active (RW)_ и _standby (RO)_. 
+
+**Failure domain** — букв. _"домен отказа"_. Термин обозначает зону доступности инстанса Picodata, т.е. признак физического размещения сервера, на котором запущен инстанс (географический регион, датацентр, стойка и т.д.). Зона доступности используется для того чтобы в один репликасет по возможности попадали инстансы с разным размещением, повышая таким образом отказоустойчивость как отдельного репликасета, так и кластера в целом.
+
+**Bucket** (бакет) — виртуальная неделимая единица хранения данных, обеспечивающая локальность данных (т. е. их нахождение на каком-то одном репликасете).
+
+**Горизонтальное масштабирование** — шардинг, т.е. распределение bucket'ов между различными репликасетами, находящихся на разных серверах. Каждый такое репликасет называется шардом.
+
+**Discovery** — алгоритм взаимного обнаружения инстансами друг друга во время объединения в кластер.
+
+**Space** (спейс) — пространство хранения данных в СУБД. В резидентных СУБД спейс является синонимом _таблицы_ из реляционных СУБД.
+
+**Grade** (грейд) — специфичный для Picodata способ обозначения состояния инстанса. Грейд отражает то, как инстанс сконфигурирован его соседями. Существуют _текущий_ (current) и _целевой_ (target) типы грейдов. За приведение первого ко второму отвечает _governor_ (губернатор).
+
+**Governor** (губернатор) — внутренняя централизованная сущность, управляющая конфигурациями и жизненными циклами инстансов в соответствие с изменениями их грейдов.
diff --git a/docs/sbroad/sql_index.md b/docs/sbroad/sql_index.md
index c174adbe..389bb8e3 100644
--- a/docs/sbroad/sql_index.md
+++ b/docs/sbroad/sql_index.md
@@ -1,17 +1,45 @@
 # Работа с SQL в Picodata
+Данный раздел содержит базовые сведения о поддержке распределенного SQL в Picodata и используемой в ней СУБД Tarantool.
 
-## Возможности и функции при работе с SQL в Picodata
+## Основные термины и определения
+Работа с СУБД Tarantool предполагает знание и понимание основных терминов, используемых при эксплуатации распределенных систем. Для этого на нашем портале документации имеется [справочник-глоссарий](../sql_review), дающий определения для базовых понятий.
+
+## Picodata и SQL
 Picodata включает в себя богатую функциональность по работе с реляционными данными, имеющуюся в СУБД Tarantool. Пользователи могут создавать, наполнять данными хранилище БД и затем считывать данные посредством запросов в интерактивной консоли Picodata.
 Дополнительно, Picodata предоставляет функцию получения данных из всего распределенного хранилища посредством компонента [SQL Broadcaster](https://git.picodata.io/picodata/picodata/sbroad). Таким образом, Picodata является одной из немногих СУБД, где реализован механизм как локального, так и распределенного SQL.
 
-SQL Broadcaster представляет собой библиотеку, предоставляющую функции планировщика и модуля исполнения SQL-запросов в рамках распределенного кластера СУБД Tarantool. Подробности архитектуры планировщика доступны в отдельной [PDF-презентации](https://git.picodata.io/picodata/picodata/sbroad/-/blob/main/doc/design/sbroad.pdf).
+## Основные понятия SQL
+
+СУБД Tarantool в Picodata реализует поддержку [стандарта SQL](../sql_reference) (_Structured Query Language_, язык структурированных запросов). Это означает, что это система управления данными, представленными в виде отношений (relation). Отношение — это математически точное обозначение таблицы. 
+Реляционная база данных состоит из таблиц, и у нее есть две ключевые характеристики:
+
+* Данные распределены по смыслу по таблицам
+* Между таблицами есть отношения
+
+Любая таблица представляет собой именованный набор строк. Все строки таблицы имеют одинаковый набор именованных столбцов, при этом каждому столбцу назначается определённый тип данных. Несмотря на то что порядок столбцов во всех строках фиксирован, важно помнить, что SQL не гарантирует какой-либо порядок строк в таблице (хотя их можно явно отсортировать при выводе).
+
+Для работы с SQL в рамках распределенной системы (кластера) в Picodata используется компонент SQL Broadcaster.
+
+## Что такое SQL Broadcaster
+
+SQL Broadcaster — это динамическая библиотека, которая работает на всех экземплярах БД Tarantool в кластере. Данная библиотека предоставляет функции планировщика и модуля исполнения SQL-запросов в рамках кластера СУБД Tarantool. SQL-запросы выполняются на узлах, исполняющих роль маршрутизаторов (роутеров), и получают данные с узлов хранения (storages). Поскольку в кластере может быть много как узлов хранения, так и роутеров, каждый распределенный запрос разбивается на части для опроса всех узлов. Собранные данные затем консолидируются и возвращаются пользователю. 
 
-## Доступные документы
-Данный раздел предоставляет следующие документы:
+Подробности архитектуры планировщика доступны в отдельной [PDF-презентации](https://git.picodata.io/picodata/picodata/sbroad/-/blob/main/doc/design/sbroad.pdf).
+
+
+## Доступные материалы в данном разделе
+Мы предоставляем следующие документы для SQL Broadcaster:
 
-* [Основы и базовые понятия SQL](../sql_basics)
 * [Общее описание и принцип работы компонента SQL Broadcaster](../sql_review)
-* [Описание поддерживаемых запросов и их синтаксиса](../sql_queries)
+* [Справочник команд SQL Broadcaster](../sql_queries)
 * [Перечень поддерживаемых типов данных](../sql_datatypes)
 * [Инструкция по установке SQL Broadcaster и тестового приложения](../sql_tutorial)
+* [Глоссарий основных терминов и определений](../sql_glossary)
 * [Справочник поддерживаемых функций стандарта SQL](../sql_reference)
+
+## Связь с разработчиком и получение помощи
+Программное обеспечение Picodata, включающее в себя, в том числе, компонент SQL Broadcaster, является открытым и доступно в нашем [Git-репозитории](https://git.picodata.io/). Мы приветствуем использование, распространение и доработку нашего ПО в рамках совместной коллективной работы.
+
+Дополнительную техническую поддержку, информацию о новостях и тренингах Picodata, а также о сотрудничестве можно также получить в нашем Telegram-канале [@picodataru](https://t.me/picodataru)
+
+
diff --git a/docs/sbroad/sql_queries.md b/docs/sbroad/sql_queries.md
index 76fbf675..572423c4 100644
--- a/docs/sbroad/sql_queries.md
+++ b/docs/sbroad/sql_queries.md
@@ -1,4 +1,6 @@
-# Поддерживаемые запросы и их синтаксис
+# Справочник команд SQL Broadcaster
+Справочник команд предоставлят основные варианты использование команд SQL в Picodata при работе с распределенной СУБД.
+
 Функциональность компонента SQL Broadcaster обеспечивает поддержку распределенных запросов SELECT и INSERT. Ниже на схеме показаны базовые варианты этих запросов.
 
 
diff --git a/docs/sbroad/tables.svg b/docs/sbroad/tables.svg
deleted file mode 100644
index d34b5230b0671f81c9eb339e6e75530f42d1fa86..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 30772
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

diff --git a/docs/sbroad/tables_curves.svg b/docs/sbroad/tables_curves.svg
deleted file mode 100644
index feb677c25d99996b730230f0f7a3eecb43cd8ce7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 48859
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
GSN{(SH)r<%

diff --git a/mkdocs.yml b/mkdocs.yml
index ad33545d..020180e7 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -15,6 +15,7 @@ nav:
     - Пример работы с кластером Picodata: tutorial.md
   - Справочные материалы:
     - Описание параметров запуска Picodata: cli.md
+    - Глоссарий основных терминов и определений: sbroad/sql_glossary
     - Поддерживаемые функции стандарта SQL: sbroad/sql_reference.md
 
 
-- 
GitLab


From 9c9b46e91aa8ffcf4bcad188136e8cc4f898edd5 Mon Sep 17 00:00:00 2001
From: "a.tolstoy" <a.tolstoy@picodata.io>
Date: Tue, 28 Mar 2023 15:35:52 +0300
Subject: [PATCH 2/2] docs: follow-up fixes for preface and glossary

---
 docs/sbroad/sql_glossary.md | 2 +-
 docs/sbroad/sql_index.md    | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/docs/sbroad/sql_glossary.md b/docs/sbroad/sql_glossary.md
index 880f78a7..bdb4545e 100644
--- a/docs/sbroad/sql_glossary.md
+++ b/docs/sbroad/sql_glossary.md
@@ -20,7 +20,7 @@
 
 **Фактор репликации** — число инстансов в репликасете.
 
-**Репликасет** — буквально «набор реплик», экземпляров приложений, в которых хранится один и тот же набор реплицированных данных. В зависимости от роли реплик, в Picodata есть реплики _active (RW)_ и _standby (RO)_. 
+**Репликасет** — буквально «набор реплик», экземпляров приложений, в которых хранится один и тот же набор реплицированных данных. В зависимости от роли реплик, в Picodata есть реплики _active (RW)_ и _standby (RO)_. Репликасет также называют _отказоустойчивой группой_.
 
 **Failure domain** — букв. _"домен отказа"_. Термин обозначает зону доступности инстанса Picodata, т.е. признак физического размещения сервера, на котором запущен инстанс (географический регион, датацентр, стойка и т.д.). Зона доступности используется для того чтобы в один репликасет по возможности попадали инстансы с разным размещением, повышая таким образом отказоустойчивость как отдельного репликасета, так и кластера в целом.
 
diff --git a/docs/sbroad/sql_index.md b/docs/sbroad/sql_index.md
index 389bb8e3..d0d0e2a8 100644
--- a/docs/sbroad/sql_index.md
+++ b/docs/sbroad/sql_index.md
@@ -10,8 +10,7 @@ Picodata включает в себя богатую функционально
 
 ## Основные понятия SQL
 
-СУБД Tarantool в Picodata реализует поддержку [стандарта SQL](../sql_reference) (_Structured Query Language_, язык структурированных запросов). Это означает, что это система управления данными, представленными в виде отношений (relation). Отношение — это математически точное обозначение таблицы. 
-Реляционная база данных состоит из таблиц, и у нее есть две ключевые характеристики:
+СУБД Tarantool в Picodata реализует поддержку [стандарта SQL](../sql_reference) (_Structured Query Language_, язык структурированных запросов). Это означает, что это система управления данными, представленными в виде таблиц. У такой системы есть две ключевые характеристики:
 
 * Данные распределены по смыслу по таблицам
 * Между таблицами есть отношения
-- 
GitLab