> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Быстрый старт с ClickHouse Cloud

> Руководство по быстрому старту с ClickHouse Cloud

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

> Самый быстрый и простой способ начать работу с ClickHouse — создать новый
> сервис в [ClickHouse Cloud](https://console.clickhouse.cloud). В этом руководстве по быстрому старту вы настроите всё
> за три простых шага.

<Steps>
  <Step title="Создайте сервис ClickHouse" id="1-create-a-clickhouse-service">
    Чтобы создать бесплатный сервис ClickHouse в [ClickHouse Cloud](https://console.clickhouse.cloud), вам нужно только зарегистрироваться, выполнив следующие шаги:

    * Создайте аккаунт на [странице регистрации](https://console.clickhouse.cloud/signUp)
    * Вы можете зарегистрироваться с помощью электронной почты или через Google SSO, Microsoft SSO, AWS Marketplace, Google Cloud или Microsoft Azure
    * Если вы регистрируетесь с помощью электронной почты и пароля, не забудьте подтвердить адрес электронной почты в течение следующих 24 часов по ссылке из письма
    * Войдите, используя имя пользователя и пароль, которые вы только что создали

    <Image img="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/signup_page.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=851f4bdbd6b36c16ab42dff1f5c8b2c6" size="md" alt="Выбор плана" border width="3200" height="2218" data-path="images/_snippets/signup_page.webp" />

    <br />

    После входа в систему ClickHouse Cloud запускает мастер онбординга, который поможет вам создать новый сервис ClickHouse. Выберите нужный регион для развертывания сервиса и задайте имя новому сервису:

    <Image img="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/createservice1.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=d3f5a8446d55dbcb513c48a6dbe47b91" size="md" alt="Новый сервис ClickHouse" border width="3200" height="1766" data-path="images/_snippets/createservice1.webp" />

    <br />

    По умолчанию для новых организаций используется уровень Scale, при этом создаются 3 реплики, каждая с 4 vCPU и 16 GiB оперативной памяти. [Vertical autoscaling](/docs/ru/products/cloud/features/autoscaling/vertical) на уровне Scale включена по умолчанию. Позже вы сможете изменить уровень организации на странице 'Plans'.

    При необходимости настройте ресурсы сервиса, указав минимальный и максимальный размер, в пределах которого будут масштабироваться реплики. Когда всё будет готово, выберите `Create service`.

    <Image img="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/scaling_limits.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=de2807936d60fc298881e12dbe9136c2" size="md" alt="Пределы масштабирования" border width="3200" height="2014" data-path="images/_snippets/scaling_limits.webp" />

    <br />

    Поздравляем! Ваш сервис ClickHouse Cloud запущен, и онбординг завершён. Продолжайте читать, чтобы узнать, как начать приём данных и выполнение запросов к ним.
  </Step>

  <Step title="Подключение к ClickHouse" id="2-connect-to-clickhouse">
    Есть 2 способа подключиться к ClickHouse:

    * Подключиться через нашу веб-консоль SQL
    * Подключиться из вашего приложения

    <br />

    ### Подключение через консоль SQL

    Чтобы быстро начать работу, ClickHouse предоставляет веб-консоль SQL, в которую вы будете перенаправлены после завершения онбординга.

    <Image img="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/createservice8.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=6dd410dbfc7e72071431754d93394209" size="md" alt="Консоль SQL" border width="3200" height="1800" data-path="images/_snippets/createservice8.webp" />

    Создайте вкладку запроса и введите простой запрос, чтобы убедиться, что подключение работает:

    ```sql theme={null}
    SHOW databases
    ```

    В списке должны отображаться 4 базы данных, а также все базы данных, которые вы могли добавить.

    <Image img="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/show_databases.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=b145f5c30cd4c46b1cc5f89678c35ed2" size="md" alt="SQL Console" border width="3200" height="1800" data-path="images/_snippets/show_databases.webp" />

    <br />

    Вот и всё — теперь вы готовы начать пользоваться своим новым сервисом ClickHouse!

    ### Подключите приложение

    Нажмите кнопку Connect в меню навигации. Откроется модальное окно с учетными данными вашего сервиса, а также инструкциями по подключению через нужный интерфейс или клиентскую библиотеку для вашего языка программирования.

    <Image img="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/service_connect.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=2a4e5eaf1da489019468d5a732877cc2" size="md" alt="Подключение к сервису" border width="3200" height="2125" data-path="images/_snippets/service_connect.webp" />

    <br />

    Если вы не видите нужную клиентскую библиотеку, возможно, стоит посмотреть наш список [интеграций](/docs/ru/integrations/home).
  </Step>

  <Step title="Добавление данных" id="3-add-data">
    ClickHouse раскрывает свой потенциал с данными! Существует несколько способов добавить данные, большинство из которых доступны на странице источников данных в навигационном меню.

    <Image img="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/data_sources.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=109802e9e25496f2b56d446e537a910e" size="md" alt="Источники данных" border width="3200" height="1964" data-path="images/_snippets/data_sources.webp" />

    <br />

    Вы можете загрузить данные следующими способами:

    * Настройте ClickPipe, чтобы начать ингестию данных из таких источников, как S3, Postgres, Kafka и GCS
    * Используйте SQL-консоль
    * Используйте клиент ClickHouse
    * Загрузите файл  - поддерживаются форматы JSON, CSV и TSV
    * Загрузите данные по URL файла

    ### ClickPipes

    [ClickPipes](http://clickhouse.com/docs/integrations/clickpipes) — это управляемая интеграционная платформа, которая делает ингестию данных из разнообразных источников такой же простой, как нажатие нескольких кнопок. Разработанный для самых требовательных рабочих нагрузок, ClickPipes обладает надёжной и масштабируемой архитектурой, обеспечивающей стабильную производительность и надёжность. ClickPipes можно использовать как для долгосрочного стриминга, так и для разовой загрузки данных.

    <Image img="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/select_data_source.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=0029e576bd7210788303b88b1c107016" size="md" alt="Выберите источник данных" border width="3200" height="1964" data-path="images/_snippets/select_data_source.webp" />

    <br />

    ### Добавление данных с помощью SQL Console

    Как и большинство систем управления базами данных, ClickHouse логически группирует таблицы в **базы данных**. Используйте команду [`CREATE DATABASE`](/docs/ru/reference/statements/create/database), чтобы создать новую базу данных в ClickHouse:

    ```sql theme={null}
    CREATE DATABASE IF NOT EXISTS helloworld
    ```

    Выполните следующую команду, чтобы создать таблицу `my_first_table` в базе данных `helloworld`:

    ```sql theme={null}
    CREATE TABLE helloworld.my_first_table
    (
        user_id UInt32,
        message String,
        timestamp DateTime,
        metric Float32
    )
    ENGINE = MergeTree()
    PRIMARY KEY (user_id, timestamp)
    ```

    В приведённом выше примере `my_first_table` — это таблица [`MergeTree`](/docs/ru/reference/engines/table-engines/mergetree-family/mergetree) с четырьмя столбцами:

    * `user_id`:  32-битное беззнаковое целое число ([UInt32](/docs/ru/reference/data-types/int-uint))
    * `message`: тип данных [String](/docs/ru/reference/data-types/string), который заменяет такие типы, как `VARCHAR`, `BLOB`, `CLOB` и другие, используемые в других системах управления базами данных
    * `timestamp`: значение [DateTime](/docs/ru/reference/data-types/datetime), представляющее определённый момент времени
    * `metric`: 32-битное число с плавающей точкой ([Float32](/docs/ru/reference/data-types/float))

    <Info>
      **Движки таблиц**

      Движки таблиц определяют:

      * Как и где хранятся данные
      * Какие запросы поддерживаются
      * Реплицируются ли данные

      <br />

      Существует множество движков таблиц, но для простой таблицы на одноузловом сервере ClickHouse наиболее вероятным выбором будет [`MergeTree`](/docs/ru/reference/engines/table-engines/mergetree-family/mergetree).
    </Info>

    #### Краткое введение в первичные ключи

    Прежде чем двигаться дальше, важно разобраться в том, как работают первичные ключи в ClickHouse (их реализация
    может показаться неожиданной!):

    * в ClickHouse первичные ключи ***не уникальны*** для каждой строки в таблице

    Первичный ключ таблицы ClickHouse определяет порядок сортировки данных при записи на диск. Каждые 8 192 строки или 10 МБ
    данных (это называется **гранулярностью индекса**) создают запись в файле индекса первичного ключа. Концепция гранулярности
    формирует **разреженный индекс**, который легко помещается в памяти, а гранулы представляют собой страйп минимального объёма
    данных столбцов, обрабатываемых при выполнении запросов `SELECT`.

    Первичный ключ можно задать с помощью параметра `PRIMARY KEY`. Если таблица определена без указания `PRIMARY KEY`,
    ключом становится кортеж, указанный в предложении `ORDER BY`. Если указаны и `PRIMARY KEY`, и `ORDER BY`, первичный ключ должен быть подмножеством порядка сортировки.

    Первичный ключ одновременно является ключом сортировки и представляет собой кортеж `(user_id, timestamp)`. Таким образом, данные, хранящиеся в каждом файле столбца, будут отсортированы сначала по `user_id`, затем по `timestamp`.

    Для более глубокого изучения основных концепций ClickHouse см. раздел [«Основные концепции»](/docs/ru/concepts/core-concepts/index).

    #### Вставка данных в таблицу

    Вы можете использовать привычную команду [`INSERT INTO TABLE`](/docs/ru/reference/statements/insert-into) в ClickHouse, однако важно понимать, что каждая вставка в таблицу [`MergeTree`](/docs/ru/reference/engines/table-engines/mergetree-family/mergetree) приводит к созданию нового **куска** данных в хранилище.

    <Tip>
      **Рекомендация ClickHouse**

      Выполняйте вставку большого количества строк одним батчем — десятков тысяч или даже миллионов
      строк за раз. Не беспокойтесь — ClickHouse легко справляется с такими объёмами — и это [сэкономит вам деньги](/docs/ru/concepts/best-practices/selecting-an-insert-strategy#batch-inserts-if-synchronous), поскольку к вашему сервису будет отправляться меньше запросов на запись.
    </Tip>

    <br />

    Даже в простом примере выполним вставку сразу нескольких строк:

    ```sql theme={null}
    INSERT INTO helloworld.my_first_table (user_id, message, timestamp, metric) VALUES
        (101, 'Hello, ClickHouse!',                                 now(),       -1.0    ),
        (102, 'Insert a lot of rows per batch',                     yesterday(), 1.41421 ),
        (102, 'Sort your data based on your commonly-used queries', today(),     2.718   ),
        (101, 'Granules are the smallest chunks of data read',      now() + 5,   3.14159 )
    ```

    <Note>
      Обратите внимание: столбец `timestamp` заполняется с помощью различных функций [**Date**](/docs/ru/reference/data-types/date) и [**DateTime**](/docs/ru/reference/data-types/datetime). В ClickHouse есть сотни полезных функций, ознакомиться с которыми можно [в разделе **Functions**](/docs/ru/reference/functions/index).
    </Note>

    Проверим, что всё прошло успешно:

    ```sql theme={null}
    SELECT * FROM helloworld.my_first_table
    ```

    ### Добавление данных с помощью клиента ClickHouse

    Вы также можете подключиться к своему сервису ClickHouse Cloud с помощью инструмента командной строки [**clickhouse client**](/docs/ru/concepts/features/interfaces/cli). Нажмите `Connect` в левом меню, чтобы открыть соответствующий раздел. В диалоговом окне выберите `Native` из выпадающего списка:

    <Image img="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/client_details.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=68928763d95040070ce316dab1853ae2" size="md" alt="сведения о подключении клиента ClickHouse" border width="3200" height="1800" data-path="images/_snippets/client_details.webp" />

    <br />

    1. Установите [ClickHouse](/docs/ru/concepts/features/interfaces/cli).

    2. Выполните команду, подставив имя хоста, имя пользователя и пароль:

    ```bash theme={null}
    ./clickhouse client --host HOSTNAME.REGION.CSP.clickhouse.cloud \
    --secure --port 9440 \
    --user default \
    --password <password>
    ```

    Если вы видите приглашение со смайликом, значит, можно выполнять запросы!

    ```response theme={null}
    :)
    ```

    3. Попробуйте выполнить следующий запрос:

    <br />

    ```sql theme={null}
    SELECT *
    FROM helloworld.my_first_table
    ORDER BY timestamp
    ```

    Обратите внимание, что ответ возвращается в удобном табличном формате:

    ```response theme={null}
    ┌─user_id─┬─message────────────────────────────────────────────┬───────────timestamp─┬──metric─┐
    │     102 │ Insert a lot of rows per batch                     │ 2022-03-21 00:00:00 │ 1.41421 │
    │     102 │ Sort your data based on your commonly-used queries │ 2022-03-22 00:00:00 │   2.718 │
    │     101 │ Hello, ClickHouse!                                 │ 2022-03-22 14:04:09 │      -1 │
    │     101 │ Granules are the smallest chunks of data read      │ 2022-03-22 14:04:14 │ 3.14159 │
    └─────────┴────────────────────────────────────────────────────┴─────────────────────┴─────────┘

    4 rows in set. Elapsed: 0.008 sec.
    ```

    4. Добавьте предложение [`FORMAT`](/docs/ru/reference/statements/select/format), чтобы указать один из [многих поддерживаемых ClickHouse форматов вывода](/docs/ru/reference/formats/index):

    <br />

    ```sql theme={null}
    SELECT *
    FROM helloworld.my_first_table
    ORDER BY timestamp
    FORMAT TabSeparated
    ```

    В приведённом выше запросе результат возвращается в формате с разделителями-табуляциями:

    ```response theme={null}
    Query id: 3604df1c-acfd-4117-9c56-f86c69721121

    102 Insert a lot of rows per batch      2022-03-21 00:00:00     1.41421
    102 Sort your data based on your commonly-used queries  2022-03-22 00:00:00     2.718
    101 Hello, ClickHouse!  2022-03-22 14:04:09     -1
    101 Granules are the smallest chunks of data read       2022-03-22 14:04:14     3.14159

    4 rows in set. Elapsed: 0.005 sec.
    ```

    5. Чтобы выйти из `клиента ClickHouse`, введите команду **exit**:

    <br />

    ```bash theme={null}
    exit
    ```

    ### Загрузить файл

    Одна из типичных задач при начале работы с базой данных — вставка данных из уже имеющихся файлов. В открытом доступе есть
    демонстрационные данные, которые вы можете вставить: они представляют собой данные кликстрима и включают идентификатор пользователя, посещённый URL и
    временную метку события.

    Предположим, у нас есть следующий текст в CSV-файле `data.csv`:

    ```bash title="data.csv" theme={null}
    102,This is data in a file,2022-02-22 10:43:28,123.45
    101,It is comma-separated,2022-02-23 00:00:00,456.78
    103,Use FORMAT to specify the format,2022-02-21 10:43:30,678.90
    ```

    1. Следующая команда вставляет данные в таблицу `my_first_table`:

    <br />

    ```bash theme={null}
    ./clickhouse client --host HOSTNAME.REGION.CSP.clickhouse.cloud \
    --secure --port 9440 \
    --user default \
    --password <password> \
    --query='INSERT INTO helloworld.my_first_table FORMAT CSV' < data.csv
    ```

    2. Обратите внимание: при выполнении запроса из консоли SQL в таблице теперь отображаются новые строки:

    <br />

    <Image img="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/new_rows_from_csv.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=05d26efdb2a1508e6d2eb6610e5a69f4" size="md" alt="Новые строки из CSV-файла" width="3200" height="1800" data-path="images/_snippets/new_rows_from_csv.webp" />

    <br />
  </Step>
</Steps>

<Tip>
  **Фильтрация по IP Access List**

  Прежде чем двигаться дальше, рекомендуем настроить фильтрацию по IP Access List.
  Подробнее см. в разделе ["Настройка IP-фильтров"](/docs/ru/products/cloud/guides/security/connectivity/setting-ip-filters).
</Tip>

<div id="whats-next">
  ## Что дальше?
</div>

* В [руководстве](/docs/get-started/quickstarts/tutorial) вы выполните вставку 2 миллионов строк в таблицу и напишете несколько аналитических запросов
* У нас есть список [демонстрационных наборов данных](/docs/ru/get-started/sample-datasets/index) с инструкциями по их загрузке
* Посмотрите наше 12-минутное видео [«Начало работы с ClickHouse»](https://clickhouse.com/company/events/getting-started-with-clickhouse/)
* Если ваши данные поступают из внешнего источника, ознакомьтесь с нашей [подборкой руководств по интеграциям](/docs/ru/integrations/home) для подключения к очередям сообщений, базам данных, конвейерам и не только
* Если вы используете инструмент визуализации UI/BI, ознакомьтесь с [руководствами пользователя по подключению UI к ClickHouse](/docs/ru/integrations/connectors/data-visualization/index)
* В руководстве по [первичным ключам](/docs/ru/guides/clickhouse/data-modelling/sparse-primary-indexes) собрано всё, что нужно знать о первичных ключах и о том, как их определять
