aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralexv-smirnov <alexv-smirnov@yandex-team.ru>2022-02-11 14:08:24 +0300
committeralexv-smirnov <alexv-smirnov@yandex-team.ru>2022-02-11 14:08:24 +0300
commite7a02de169d3c58a75c8193d67736659942a4dfa (patch)
treefa9cd195a9a8df6fadbc53acdb652745f8ecd919
parentde8b7f2f9a62a34093f4197ee6457ccc689848bd (diff)
downloadydb-e7a02de169d3c58a75c8193d67736659942a4dfa.tar.gz
getting started laid over core docs
getting started laid over core docs getting_started - connect, auth, cli, work in progress ref:a889a163d53450a7245cd3eee6ca9af0dd7c40f0
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/auth.md2
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/cli.md99
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/cli/ls_example_generic.md11
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/cli/ls_example_local.md8
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/cli/ls_example_overlay.md0
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/cli/ls_examples.md6
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/create_db.md19
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/create_db_overlay.md0
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/index.md14
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/index/auth.md1
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/index/cli.md1
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/index/create_db.md1
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/index/intro.md5
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/index/network.md0
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/index/sdk.md1
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/index/toc_network.yaml4
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/index/yql.md1
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/sdk.md5
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/yql.md191
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/yql/ui_dml_autocommit.md0
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/yql/ui_execute.md0
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/yql/ui_prompt.md0
-rw-r--r--ydb/docs/ru/core/getting_started/_includes/yql/ui_scheme_ls.md0
-rw-r--r--ydb/docs/ru/core/getting_started/cli.md1
-rw-r--r--ydb/docs/ru/core/getting_started/create_db.md2
-rw-r--r--ydb/docs/ru/core/getting_started/index.md7
-rw-r--r--ydb/docs/ru/core/getting_started/sdk.md1
-rw-r--r--ydb/docs/ru/core/getting_started/toc_i.yaml17
-rw-r--r--ydb/docs/ru/core/getting_started/yql.md1
29 files changed, 387 insertions, 11 deletions
diff --git a/ydb/docs/ru/core/getting_started/_includes/auth.md b/ydb/docs/ru/core/getting_started/_includes/auth.md
index 7376f08d36..dc664efd9d 100644
--- a/ydb/docs/ru/core/getting_started/_includes/auth.md
+++ b/ydb/docs/ru/core/getting_started/_includes/auth.md
@@ -1,4 +1,4 @@
-# Аутентификация в БД
+# Аутентификация - Начало работы
Для соединения с развернутой локально базой данных OpenSource YDB вам не нужно указывать никаких параметров, связанных с аутентификацией.
diff --git a/ydb/docs/ru/core/getting_started/_includes/cli.md b/ydb/docs/ru/core/getting_started/_includes/cli.md
new file mode 100644
index 0000000000..ce2e734bdf
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/cli.md
@@ -0,0 +1,99 @@
+# YDB CLI - Начало работы
+
+## Предварительные требования {#prerequisites}
+
+Для выполнения команд через CLI вам потребуются параметры соединения с базой данных, которые вы можете получить при её [создании](../create_db.md):
+
+- [Эндпоинт](../../concepts/connect.md#endpoint)
+- [Имя базы данных](../../concepts/connect.md#database)
+
+Также вам может потребоваться токен или логин/пароль, если база данных требует [аутентификации](../auth.md). Если для аутентификации применяется токен, то для успешного исполнения сценария ниже вам нужно выбрать вариант его сохранения в переменной окружения.
+
+## Установка CLI {#install}
+
+Установите YDB CLI как описано в статье [Установка YDB CLI](../../reference/ydb-cli/install.md).
+
+Проверьте успешность установки YDB CLI запуском с параметром `--help`. В ответ должно быть выведено приветственное сообщение, краткое описание синтаксиса, и перечень доступных команд:
+
+``` bash
+$ {{ ydb-cli }} --help
+YDB client
+
+Usage: ydb [options...] <subcommand>
+
+Subcommands:
+ydb
+├─ config Manage YDB CLI configuration
+│ └─ profile Manage configuration profiles
+│ ├─ activate Activate specified configuration profile (aliases: set)
+...
+```
+
+Все возможности работы со встроенной справкой YDB CLI описаны в статье [Встроенная справка](../../reference/ydb-cli/commands/service.md#help) справочника по YDB CLI.
+
+## Проверьте успешность соединения {#ping} {#scheme-ls}
+
+Для проверки успешности соединения можно использовать команду [получения перечня объектов](../../reference/ydb-cli/commands/scheme-ls.md) в базе данных `scheme ls`:
+
+``` bash
+{{ ydb-cli }} -e <endpoint> -d <database> scheme ls
+```
+
+При успешном выполнении команды в ответ будет выведен перечень объектов в базе данных. Если вы еще не создавали ничего в БД, то вывод будет содержать только системный каталог `.sys`, в котором находятся [диагностические представления YDB](../../troubleshooting/system_views.md).
+
+{% include [cli/ls_examples.md](cli/ls_examples.md) %}
+
+## Создание профиля соединения {#profile}
+
+Параметры соединения с базой данных могут быть довольно длинными, особенно при использовании явного указания [параметров аутентификации в командной строке](../../reference/ydb-cli/connect.md#command-line-pars). Чтобы не писать их каждый раз при вызове YDB CLI, воспользуйтесь [профилем](../../reference/ydb-cli/profile/index.md).
+
+[Создайте профиль](../../reference/ydb-cli/profile/create.md) `db1` следующей командой:
+
+``` bash
+{{ ydb-cli }} config profile create db1
+```
+
+В интерактивном режиме будут запрошены параметры соединения, которые нужно связать с данным профилем. Используйте для них проверенные на [предыдущем шаге](#ping) значения.
+
+Имя профиля `db1` будет использоваться в следующих шагах, чтобы вы могли просто копировать примеры через буфер обмена.
+
+Проверьте работоспособность профиля командой `scheme ls`:
+``` bash
+$ {{ ydb-cli }} --profile db1 scheme ls
+.sys
+```
+
+## Исполнение YQL скрипта {#yql}
+
+Команда YDB CLI `scripting yql` позволяет выполнить любую команду (как DDL так и DML) на [языке YQL](../../yql/reference/index.md) - диалекте SQL, поддерживаемом YDB:
+
+``` bash
+{{ ydb-cli }} --profile <profile_name> scripting yql -s <yql_request>
+```
+
+Например:
+- Создание таблицы
+
+ ``` bash
+ {{ ydb-cli }} --profile db1 scripting yql -s "create table t1( id uint64, primary key(id))"
+ ```
+- Добавление записи
+
+ ``` bash
+ {{ ydb-cli }} --profile db1 scripting yql -s "insert into t1(id) values (1)"
+ ```
+- Выборка данных
+
+ ``` bash
+ {{ ydb-cli }} --profile db1 scripting yql -s "select * from t1"
+ ```
+
+Если вы получаете ошибку `Profile db1 does not exist` - значит вы не создали его на [предыдущем шаге](#profile).
+
+Для знакомства с синтаксисом и основными командами YQL перейдите к статье [YQL - Начало работы](../yql.md).
+
+## Специализированные команды CLI {#ydb-api}
+
+Исполнение команд через `scripting yql` является хорошим простым способом начать работу. Однако, YQL-интерфейс поддерживает неполный набор возможных функций, доступных на YDB API, а также работает не самым эффективным образом из-за своей универсальности.
+
+YDB CLI поддерживает отдельные команды с полным набором опций для всех существующих YDB API. Описание полного перечня команд находится в [справочнике по YDB CLI](../../reference/ydb-cli/index.md). \ No newline at end of file
diff --git a/ydb/docs/ru/core/getting_started/_includes/cli/ls_example_generic.md b/ydb/docs/ru/core/getting_started/_includes/cli/ls_example_generic.md
new file mode 100644
index 0000000000..2b071300db
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/cli/ls_example_generic.md
@@ -0,0 +1,11 @@
+Например, если:
+* Эндпоинт: grpc://ydb.aerosmith.com:2136
+* Имя базы данных: /john/db1
+* База данных не требует аутентификации, или задана нужная переменная окружения, как описано [здесь](../../auth.md).
+* База данных только что создана и не содержит объектов
+
+То команда и результат выполнения будут выглядеть следующим образом:
+``` bash
+$ {{ ydb-cli }} -e grpc://ydb.aerosmith.com:2136 -d /john/db1 scheme ls
+.sys
+```
diff --git a/ydb/docs/ru/core/getting_started/_includes/cli/ls_example_local.md b/ydb/docs/ru/core/getting_started/_includes/cli/ls_example_local.md
new file mode 100644
index 0000000000..d94afd2456
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/cli/ls_example_local.md
@@ -0,0 +1,8 @@
+### Соединение с локальной БД
+
+Если вы развернули локальную YDB по одному из описанных сценариев [Самостоятельного развертывания](../../create_db.md#self-hosted) с предложенной конфигурацией, то соединение с ней можно проверить командой:
+
+``` bash
+$ {{ ydb-cli }} -e grpc://localhost:2136 -d /local scheme ls
+.sys
+```
diff --git a/ydb/docs/ru/core/getting_started/_includes/cli/ls_example_overlay.md b/ydb/docs/ru/core/getting_started/_includes/cli/ls_example_overlay.md
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/cli/ls_example_overlay.md
diff --git a/ydb/docs/ru/core/getting_started/_includes/cli/ls_examples.md b/ydb/docs/ru/core/getting_started/_includes/cli/ls_examples.md
new file mode 100644
index 0000000000..6ce3f0ea16
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/cli/ls_examples.md
@@ -0,0 +1,6 @@
+{% include [ls_example_generic.md](ls_example_generic.md) %}
+
+{% include [ls_example_overlay.md](ls_example_overlay.md) %}
+
+{% include [ls_example_local.md](ls_example_local.md) %}
+
diff --git a/ydb/docs/ru/core/getting_started/_includes/create_db.md b/ydb/docs/ru/core/getting_started/_includes/create_db.md
new file mode 100644
index 0000000000..70b056fc9f
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/create_db.md
@@ -0,0 +1,19 @@
+# Создание базы данных - Начало работы
+
+{% include [create_db_overlay.md](create_db_overlay.md) %}
+
+## Самостоятельное развертывание {#self-hosted}
+
+YDB может быть развернута самостоятельно тремя способами:
+
+- [С использованием Docker](../ydb_docker.md)
+- [В Kubernetes](../../deploy/orchestrated/concepts.md)
+- [Локально из скачанного исполнямого файла](../ydb_local.md)
+
+По умолчанию в результате выполнения этих сценариев вы получите базу данных со следующими параметрами соединения:
+
+- Эндпоинт: `grpc://localhost:2136`
+- Имя базы данных: `/local`
+- Аутентификация: не требуется
+
+Подробная информация о базах данных находится в статье [Термины и определения - База данных](../../concepts/databases.md#database) в разделе "Концепции". \ No newline at end of file
diff --git a/ydb/docs/ru/core/getting_started/_includes/create_db_overlay.md b/ydb/docs/ru/core/getting_started/_includes/create_db_overlay.md
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/create_db_overlay.md
diff --git a/ydb/docs/ru/core/getting_started/_includes/index.md b/ydb/docs/ru/core/getting_started/_includes/index.md
new file mode 100644
index 0000000000..e80bce9695
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/index.md
@@ -0,0 +1,14 @@
+{% include [intro.md](index/intro.md) %}
+
+{% include [create_db.md](index/create_db.md) %}
+
+{% include [network_access.md](index/network.md) %}
+
+{% include [auth.md](index/auth.md) %}
+
+{% include [cli.md](index/cli.md) %}
+
+{% include [yql.md](index/yql.md) %}
+
+{% include [sdk.md](index/sdk.md) %}
+
diff --git a/ydb/docs/ru/core/getting_started/_includes/index/auth.md b/ydb/docs/ru/core/getting_started/_includes/index/auth.md
new file mode 100644
index 0000000000..337ffb6d0a
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/index/auth.md
@@ -0,0 +1 @@
+- [Аутентификация](../../auth.md) - узнайте что нужно для доступа к БД \ No newline at end of file
diff --git a/ydb/docs/ru/core/getting_started/_includes/index/cli.md b/ydb/docs/ru/core/getting_started/_includes/index/cli.md
new file mode 100644
index 0000000000..0e802a5ffc
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/index/cli.md
@@ -0,0 +1 @@
+- [Использование интерфейса командной строки (CLI)](../../cli.md) - установите YDB Command Line Interface, соединитесь с БД, посмотрите примеры использования
diff --git a/ydb/docs/ru/core/getting_started/_includes/index/create_db.md b/ydb/docs/ru/core/getting_started/_includes/index/create_db.md
new file mode 100644
index 0000000000..924df73ee3
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/index/create_db.md
@@ -0,0 +1 @@
+- [Создание базы данных](../../create_db.md) - запустите самостоятельно OpenSource БД YDB \ No newline at end of file
diff --git a/ydb/docs/ru/core/getting_started/_includes/index/intro.md b/ydb/docs/ru/core/getting_started/_includes/index/intro.md
new file mode 100644
index 0000000000..faaf536cf7
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/index/intro.md
@@ -0,0 +1,5 @@
+# Начало работы с {{ ydb-name }}
+
+Статьи в этом разделе подскажут вам быстрый путь для того, чтобы начать работать с {{ ydb-short-name }}.
+
+Каждая из статей приводит один или несколько простых сценариев выполнения того или иного действия, и дополнительно содержит ссылку на другие материалы документации, где описаны все доступные возможности YDB. \ No newline at end of file
diff --git a/ydb/docs/ru/core/getting_started/_includes/index/network.md b/ydb/docs/ru/core/getting_started/_includes/index/network.md
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/index/network.md
diff --git a/ydb/docs/ru/core/getting_started/_includes/index/sdk.md b/ydb/docs/ru/core/getting_started/_includes/index/sdk.md
new file mode 100644
index 0000000000..85a844f6b3
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/index/sdk.md
@@ -0,0 +1 @@
+- [YDB SDK](../../sdk.md) - познакомьтесь с YDB SDK для разных языков программирования, выполните простые запросы к БД из приложений-примеров \ No newline at end of file
diff --git a/ydb/docs/ru/core/getting_started/_includes/index/toc_network.yaml b/ydb/docs/ru/core/getting_started/_includes/index/toc_network.yaml
new file mode 100644
index 0000000000..1dce705aca
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/index/toc_network.yaml
@@ -0,0 +1,4 @@
+# To be supplied in overlay if needed
+items:
+- name: Dummy
+ hidden: true
diff --git a/ydb/docs/ru/core/getting_started/_includes/index/yql.md b/ydb/docs/ru/core/getting_started/_includes/index/yql.md
new file mode 100644
index 0000000000..0b82645960
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/index/yql.md
@@ -0,0 +1 @@
+- [YQL](../../yql.md) - познакомьтесь с YQL - основным языком запросов к YDB, диалектом SQL \ No newline at end of file
diff --git a/ydb/docs/ru/core/getting_started/_includes/sdk.md b/ydb/docs/ru/core/getting_started/_includes/sdk.md
new file mode 100644
index 0000000000..0108639a4c
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/sdk.md
@@ -0,0 +1,5 @@
+# YDB SDK - Начало работы
+
+YDB SDK - набор программных компонентов на разных языках программирования, поддерживающих работу с базами данных YDB.
+
+Перейдите в раздел [справочника по YDB SDK](../../reference/ydb-sdk/index.md), чтобы продолжить занкомство. \ No newline at end of file
diff --git a/ydb/docs/ru/core/getting_started/_includes/yql.md b/ydb/docs/ru/core/getting_started/_includes/yql.md
new file mode 100644
index 0000000000..b463d037ee
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/yql.md
@@ -0,0 +1,191 @@
+# YQL - Начало работы
+
+## Введение {#intro}
+
+YQL - язык запросов к базе данных YDB, диалект SQL. В частности, он обладает синтаксическими особенностями, рассчитанными на его применение при исполнении запросов на кластерах.
+
+YDB предоставляет следующие способы отправки запроса к базе данных на языке YQL:
+
+{% include [yql/ui_prompt.md](yql/ui_prompt.md) %}
+
+- [YDB CLI](#cli)
+- [YDB SDK](../sdk.md)
+
+Полная информация по синтаксису YQL находится в [справочнике по YQL](../../yql/reference/index.md).
+
+Приведенные ниже примеры формируют сценарий знакомства с YQL, и предполагают последовательное выполнение: запросы в разделе ["Работа с данными"](#dml) обращаются к данным в таблицах, созданным в разделе ["Работа со схемой данных"](#ddl). Выполняйте шаги последовательно, чтобы скопированные через буфер обмена примеры успешно исполнялись.
+
+Базовый интерфейс YDB YQL принимает на вход не одну команду, а скрипт, который может состоять из множества команд.
+
+{% include [yql/ui_execute.md](yql/ui_execute.md) %}
+
+### Исполнение YQL в YDB CLI {#cli}
+
+Для исполнения скриптов через YDB CLI нужно предварительно:
+- Выполнить [установку CLI](../cli.md#install)
+- Определить и проверить [параметры соединения с БД](../cli#scheme-ls)
+- [Создать профиль `db1`](../cli.md#profile), настроенный на соединение с вашей БД.
+
+Текст приведенных ниже скриптов нужно сохранить в файл. Назовите его `script.yql`, чтобы команды в примерах можно было выполнить простым копированием через буфер обмена. Далее выполните команду `scripting yql` с указанием использования профиля `db1` и чтения скрипта из файла `script.yql`:
+
+``` bash
+{{ ydb-cli }} --profile db1 scripting yql -f script.yml
+```
+
+## Работа со схемой данных {#ddl}
+
+### Создание таблицы {#create-table}
+
+Таблица с заданными колонками создается [командой YQL `CREATE TABLE`](../../yql/reference/syntax/create_table.md). В таблице обязательно должен быть определен первичный ключ. Типы данных для колонок приведены в статье [Типы данных YQL](../../yql/reference/types/index.md).
+
+YDB в настоящее время не поддерживает ограничение `NOT NULL`, все колонки будут допускать отсутствие значений, включая колонки первичного ключа. YDB также не поддерживает ограничения `FOREIGN KEY`.
+
+Создайте таблицы каталога сериалов: `series` (Сериалы), `seasons` (Сезоны), и `episodes` (Эпизоды), выполнив следующий скрипт:
+
+```sql
+CREATE TABLE series (
+ series_id Uint64,
+ title Utf8,
+ series_info Utf8,
+ release_date Uint64,
+ PRIMARY KEY (series_id)
+);
+
+CREATE TABLE seasons (
+ series_id Uint64,
+ season_id Uint64,
+ title Utf8,
+ first_aired Uint64,
+ last_aired Uint64,
+ PRIMARY KEY (series_id, season_id)
+);
+
+CREATE TABLE episodes (
+ series_id Uint64,
+ season_id Uint64,
+ episode_id Uint64,
+ title Utf8,
+ air_date Uint64,
+ PRIMARY KEY (series_id, season_id, episode_id)
+);
+```
+
+Описание всех возможностей работы с таблицами приведены в разделах документаци по YQL:
+
+- [`CREATE TABLE`](../../yql/reference/syntax/create_table) - создание таблицы и определение начальных параметров
+- [`ALTER TABLE`](../../yql/reference/syntax/alter_table) - изменение состава колонок таблицы и её параметров
+- [`DROP TABLE`](../../yql/reference/syntax/drop_table) - удаление таблицы
+
+Для исполнения скрипта через YDB CLI выполните инструкции, приведенные в пункте ["Исполнение в YDB CLI"](#cli) данной статьи.
+
+### Получение перечня существующих таблиц в БД {#scheme-ls}
+
+Проверьте, что таблицы фактически созданы в БД.
+
+{% include [yql/ui_scheme_ls.md](yql/ui_scheme_ls.md) %}
+
+Для получения перечня существующих таблиц в БД через YDB CLI убедитесь, что выполнены предварительные требования пункта ["Исполнение в YDB CLI"](#cli) данной статьи, и выполните [команду `scheme ls`](../cli.md#ping):
+
+``` bash
+{{ ydb-cli }} --profile db1 scheme ls
+```
+
+## Работа с данными {#dml}
+
+{% include [yql/ui_dml_autocommit.md](yql/ui_dml_autocommit.md) %}
+
+### UPSERT : Запись данных {#upsert}
+
+Самым эффективным способом записи данных в YDB является нестандартная для SQL [команда `UPSERT`](../../yql/reference/syntax/upsert_into.md). Она выполняет запись новых данных по первичным ключам независимо от того, существовали ли данные по этим ключам ранее в таблице. В результате, в отличие от привычных `INSERT` и `UPDATE`, её исполнение не требует на сервере предварительного чтения данных для проверки уникальности ключа. Всегда при работе с YDB рассматривайте `UPSERT` как основной способ записи данных, используя другие команды только при необходимости.
+
+Все команды записи данных в YDB поддерживают работу как с выборками, так и со множеством записей, передаваемых непосредственно с запросе.
+
+Добавим данные в созданные ранее таблицы:
+
+``` yql
+UPSERT INTO series (series_id, title, release_date, series_info)
+VALUES
+ (
+ 1,
+ "IT Crowd",
+ CAST(Date("2006-02-03") AS Uint64),
+ "The IT Crowd is a British sitcom produced by Channel 4, written by Graham Linehan, produced by Ash Atalla and starring Chris O'Dowd, Richard Ayoade, Katherine Parkinson, and Matt Berry."),
+ (
+ 2,
+ "Silicon Valley",
+ CAST(Date("2014-04-06") AS Uint64),
+ "Silicon Valley is an American comedy television series created by Mike Judge, John Altschuler and Dave Krinsky. The series focuses on five young men who founded a startup company in Silicon Valley."
+ )
+ ;
+
+UPSERT INTO seasons (series_id, season_id, title, first_aired, last_aired)
+VALUES
+ (1, 1, "Season 1", CAST(Date("2006-02-03") AS Uint64), CAST(Date("2006-03-03") AS Uint64)),
+ (1, 2, "Season 2", CAST(Date("2007-08-24") AS Uint64), CAST(Date("2007-09-28") AS Uint64)),
+ (2, 1, "Season 1", CAST(Date("2014-04-06") AS Uint64), CAST(Date("2014-06-01") AS Uint64)),
+ (2, 2, "Season 2", CAST(Date("2015-04-12") AS Uint64), CAST(Date("2015-06-14") AS Uint64))
+;
+
+UPSERT INTO episodes (series_id, season_id, episode_id, title, air_date)
+VALUES
+ (1, 1, 1, "Yesterday's Jam", CAST(Date("2006-02-03") AS Uint64)),
+ (1, 1, 2, "Calamity Jen", CAST(Date("2006-02-03") AS Uint64)),
+ (2, 1, 1, "Minimum Viable Product", CAST(Date("2014-04-06") AS Uint64)),
+ (2, 1, 2, "The Cap Table", CAST(Date("2014-04-13") AS Uint64))
+;
+```
+Для исполнения скрипта через YDB CLI выполните инструкции, приведенные в пункте ["Исполнение в YDB CLI"](#cli) данной статьи.
+
+### SELECT : Выборка данных {#select}
+
+Запросите выборку записанных на предыдущем шаге данных:
+
+```sql
+SELECT
+ series_id,
+ title AS series_title,
+ DateTime::ToDate(DateTime::FromDays(release_date)) AS release_date
+FROM series;
+```
+или
+```sql
+SELECT * FROM episodes;
+```
+
+Если в скрипте YQL будет несколько команд `SELECT`, то в результате его исполнения будет возвращено несколько выборок, к каждой из которых можно обратиться отдельно. Выполните приведенные выше команды `SELECT`, объединенные в одном скрипте.
+
+Для исполнения скрипта через YDB CLI выполните инструкции, приведенные в пункте ["Исполнение в YDB CLI"](#cli) данной статьи.
+
+### Параметризованные запросы {#param}
+
+Для транзакционных приложений, работающих с базой данных, характерно исполнение множества однотипных запросов, отличающихся только параметрами. Как и большинство баз данных, YDB будет работать эффективнее, если вы определите изменяемые параметры и их типы, а далее будете инициировать исполнение запроса, передавая значения параметров отдельно от его текста.
+
+Для определения параметров в тексте запроса YQL применяется [команда DECLARE](../../yql/reference/syntax/declare.md).
+
+Описание методов исполнения параметризованных запросов YDB SDK доступно в разделе [Тестовый пример](../../reference/ydb-sdk/example/index.md), в секции "Параметризованные запросы" для нужного языка программирования.
+
+При отладке параметризованного запроса в YDB SDK вы можете проверить его работоспособность вызовом YDB CLI, скопировав полный текст запроса без каких-либо корректировок, и задав значения параметров.
+
+Сохраните скрипт выполнения параметрированного запроса в текстовом файле `script.yql`:
+
+``` sql
+DECLARE $seriesId AS Uint64;
+DECLARE $seasonId AS Uint64;
+
+SELECT sa.title AS season_title, sr.title AS series_title
+FROM seasons AS sa
+INNER JOIN series AS sr ON sa.series_id = sr.series_id
+WHERE sa.series_id = $seriesId AND sa.season_id = $seasonId;
+```
+
+Для выполнения параметризованной выборки убедитесь, что выполнены предварительные требования пункта ["Исполнение в YDB CLI"](#cli) данной статьи, и выполните следующую команду:
+
+``` bash
+$ {{ ydb-cli }} --profile db1 scripting yql -f script.yql -p '$seriesId=1' -p '$seasonId=1'
+```
+
+Полное описание возможностей передачи параметров находится в [справочнике по YDB CLI](../../reference/ydb-cli/index.md).
+
+## Туториал YQL {#tutorial}
+
+Вы можете продолжить изучение основных возможностей YQL, выполняя задания из [Туториала YQL](../../yql/tutorial/index.md). \ No newline at end of file
diff --git a/ydb/docs/ru/core/getting_started/_includes/yql/ui_dml_autocommit.md b/ydb/docs/ru/core/getting_started/_includes/yql/ui_dml_autocommit.md
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/yql/ui_dml_autocommit.md
diff --git a/ydb/docs/ru/core/getting_started/_includes/yql/ui_execute.md b/ydb/docs/ru/core/getting_started/_includes/yql/ui_execute.md
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/yql/ui_execute.md
diff --git a/ydb/docs/ru/core/getting_started/_includes/yql/ui_prompt.md b/ydb/docs/ru/core/getting_started/_includes/yql/ui_prompt.md
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/yql/ui_prompt.md
diff --git a/ydb/docs/ru/core/getting_started/_includes/yql/ui_scheme_ls.md b/ydb/docs/ru/core/getting_started/_includes/yql/ui_scheme_ls.md
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/_includes/yql/ui_scheme_ls.md
diff --git a/ydb/docs/ru/core/getting_started/cli.md b/ydb/docs/ru/core/getting_started/cli.md
new file mode 100644
index 0000000000..d737e7a176
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/cli.md
@@ -0,0 +1 @@
+{% include [cli.md](_includes/cli.md) %}
diff --git a/ydb/docs/ru/core/getting_started/create_db.md b/ydb/docs/ru/core/getting_started/create_db.md
new file mode 100644
index 0000000000..51d7c75381
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/create_db.md
@@ -0,0 +1,2 @@
+
+{% include [create_db.md](_includes/create_db.md) %}
diff --git a/ydb/docs/ru/core/getting_started/index.md b/ydb/docs/ru/core/getting_started/index.md
index e7f724c2c2..12643df073 100644
--- a/ydb/docs/ru/core/getting_started/index.md
+++ b/ydb/docs/ru/core/getting_started/index.md
@@ -1,6 +1 @@
----
-title: Начало работы с Yandex Database (YDB). Обзор
----
-
-# Начало работы с {{ ydb-name }}
-
+{% include [index.md](_includes/index.md) %}
diff --git a/ydb/docs/ru/core/getting_started/sdk.md b/ydb/docs/ru/core/getting_started/sdk.md
new file mode 100644
index 0000000000..18bd227b1a
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/sdk.md
@@ -0,0 +1 @@
+{% include [sdk.md](_includes/sdk.md) %}
diff --git a/ydb/docs/ru/core/getting_started/toc_i.yaml b/ydb/docs/ru/core/getting_started/toc_i.yaml
index 281608fdea..b9e00287af 100644
--- a/ydb/docs/ru/core/getting_started/toc_i.yaml
+++ b/ydb/docs/ru/core/getting_started/toc_i.yaml
@@ -1,19 +1,28 @@
# common internal + external "Getting started" items
items:
+- name: Создание базы данных
+ href: create_db.md
+- include: { mode: link, path: _includes/index/toc_network.yaml }
+- name: Аутентификация
+ href: auth.md
+- name: Интерфейс командной строки (CLI)
+ href: cli.md
+- name: Язык запросов YQL
+ href: yql.md
+- name: SDK для разных языков программирования
+ href: sdk.md
- name: Самостоятельное развертывание
items:
- name: Docker
href: ydb_docker.md
- name: Запуск локального кластера
href: ydb_local.md
- when: audience == "tech"
+ # when: audience == "tech"
- name: Создание конфигурации кластера
include: { mode: link, path: ../deploy/configuration/toc_i.yaml }
- when: audience == "tech"
+ # when: audience == "tech"
- name: Kubernetes
include: { mode: link, path: ../deploy/orchestrated/toc_p.yaml }
-- name: Аутентификация
- href: auth.md
- name: Полезные ссылки
href: useful_links.md
diff --git a/ydb/docs/ru/core/getting_started/yql.md b/ydb/docs/ru/core/getting_started/yql.md
new file mode 100644
index 0000000000..1bba08b228
--- /dev/null
+++ b/ydb/docs/ru/core/getting_started/yql.md
@@ -0,0 +1 @@
+{% include [yql.md](_includes/yql.md) %}