> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Как добиться согласованности при чтении данных в ClickHouse?

> Узнайте, как обеспечить согласованность данных при чтении из ClickHouse, независимо от того, подключены ли вы к тому же узлу или к случайно выбранному узлу.

<div id="question">
  ## Вопрос
</div>

Я записываю данные в ClickHouse Cloud и хочу при чтении быть уверенным, что получаю самую актуальную и полную информацию.

<div id="answer">
  ## Ответ
</div>

<div id="talking-to-the-same-node">
  ### Подключение к тому же узлу
</div>

Если вы используете собственный протокол или сеанс для записи/чтения, то должны быть подключены к одной и той же реплике: в этом случае вы читаете напрямую с узла, в который записываете данные, поэтому чтение всегда будет согласованным.

<div id="talking-to-a-random-node">
  ### Подключение к случайному узлу
</div>

Если вы не можете гарантировать, что обращаетесь к одному и тому же узлу (например, если обращаетесь к узлу через HTTPS-запросы, которые распределяет балансировщик нагрузки), вы можете либо:

A)

1. записать данные
2. подключиться к другой реплике
3. выполнить `SYSTEM SYNC REPLICA db.table_name LIGHTWEIGHT`
4. прочитать последние данные

См. [справку](/ru/reference/statements/system#sync-replica) по командам `SYSTEM`

ИЛИ

B) выполнять чтение в любой момент с последовательной согласованностью

```sql theme={null}
SELECT 
...
SETTINGS select_sequential_consistency = 1
```

Обратите внимание: при использовании ClickHouse Cloud и его движка таблиц [SharedMergeTree](/ru/products/cloud/features/infrastructure/shared-merge-tree) по умолчанию параметр `insert_quorum_parallel` не требуется — все вставки в SharedMergeTree по умолчанию являются quorum inserts.

Использование [`SYSTEM SYNC REPLICAS`](/ru/reference/statements/system#sync-replica) или [`select_sequential_consistency`](/ru/reference/settings/session-settings#select_sequential_consistency) увеличит нагрузку на ClickHouse Keeper и может снизить производительность в зависимости от нагрузки на сервис.

Рекомендуется выполнять запись и чтение в рамках одного и того же сеанса или через собственный протокол (sticky connection).
