[Документация Yandex Cloud](../../index.md) > [Yandex MPP Analytics for PostgreSQL](../index.md) > [Концепции](overview.md) > Шардирование

# Шардирование в Yandex MPP Analytics for PostgreSQL

[_Шардирование_](../../glossary/sharding.md) — это стратегия горизонтального масштабирования кластера Yandex MPP Analytics for PostgreSQL, при которой части каждой таблицы в базе данных размещаются на разных хостах-сегментах. Каждый запрос на запись или чтение в Yandex MPP Analytics for PostgreSQL утилизирует все сегменты кластера.

## Ключ дистрибуции {#distribution-key}

Для оптимизации работы операций `JOIN` с большими таблицами вы можете задать ключ дистрибуции явным образом. В таком случае при соединении таблиц по указанным в ключе полям операция будет производиться локально на сегменте, и запрос отработает быстрее.

Подробнее о ключе дистрибуции в [Greenplum 6](https://techdocs.broadcom.com/us/en/vmware-tanzu/data-solutions/tanzu-greenplum/6/greenplum-database/ref_guide-sql_commands-CREATE_TABLE.html) и [Cloudberry](https://cloudberry.apache.org/docs/sql-stmts/create-table/).

Для создания таблицы с ключом дистрибуции передайте одно или несколько нужных полей в аргументе `DISTRIBUTED BY`:

```sql
CREATE TABLE tableName
(
    column1 type1,
    column2 type2,
    ...
    columnN typeN
) DISTRIBUTED BY (column1);
```

Неверно выбранный ключ может привести к тому, что большая часть данных будет храниться на одном сегменте — это повлечет за собой снижение производительности кластера или остановку работы сегмента, если на его хосте закончится место. Поэтому не выбирайте в качестве ключа дистрибуции:

* поля с временем и датой;
* поля, в которых может оказаться большое количество одинаковых значений;
* поля с большим количеством значений `NULL`.

{% note info %}

Если при создании таблицы не указать ключ дистрибуции, то данные распределятся по хостам-сегментам либо по первичному ключу (если он задан), либо по первому полю таблицы.

{% endnote %}

_Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах._

_Apache® и Apache Cloudberry™ являются зарегистрированными товарными знаками или товарными знаками Apache Software Foundation в США и/или других странах._