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

# Настройки таблиц семейства MergeTree object_shared_*

> Настройки таблиц семейства MergeTree в ClickHouse из сгенерированной группы object_shared_*.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Версия", "Значение по умолчанию", "Комментарий"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        История версий
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Тип</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>По умолчанию</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Изменяется без перезапуска
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Эти настройки доступны в [system.merge\_tree\_settings](/ru/reference/system-tables/merge_tree_settings) и автоматически генерируются из исходного кода ClickHouse.

<div id="object_shared_data_buckets_for_compact_part">
  ## object\_shared\_data\_buckets\_for\_compact\_part
</div>

<SettingsInfoBlock type="NonZeroUInt64" default_value="8" />

Количество бакетов для JSON-сериализации общих данных в компактных частях. Работает с сериализациями общих данных `map_with_buckets` и `advanced`.
Максимально допустимое значение — 256.

<div id="object_shared_data_buckets_for_wide_part">
  ## object\_shared\_data\_buckets\_for\_wide\_part
</div>

<SettingsInfoBlock type="NonZeroUInt64" default_value="32" />

Количество бакетов для JSON-сериализации общих данных в частях Wide. Работает с сериализациями общих данных `map_with_buckets` и `advanced`.
Максимально допустимое значение — 256.

<div id="object_shared_data_serialization_version">
  ## object\_shared\_data\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeObjectSharedDataSerializationVersion" default_value="advanced" />

Версия сериализации общих данных в типе данных JSON.

Возможные значения:

* `map` - хранить общие данные как `Map(String, String)`
* `map_with_buckets` - хранить общие данные в виде нескольких отдельных столбцов `Map(String, String)`. Использование бакетов улучшает чтение отдельных путей из общих данных.
* `advanced` - специальная сериализация общих данных, разработанная для значительного улучшения чтения отдельных путей из общих данных.
  Обратите внимание, что эта сериализация увеличивает объем общих данных на диске, поскольку мы сохраняем много дополнительной информации.

Количество бакетов для сериализаций `map_with_buckets` и `advanced` определяется настройками
[object\_shared\_data\_buckets\_for\_compact\_part](/ru/reference/settings/merge-tree-settings/object-shared#object_shared_data_buckets_for_compact_part)/[object\_shared\_data\_buckets\_for\_wide\_part](/ru/reference/settings/merge-tree-settings/object-shared#object_shared_data_buckets_for_wide_part).

<div id="object_shared_data_serialization_version_for_zero_level_parts">
  ## object\_shared\_data\_serialization\_version\_for\_zero\_level\_parts
</div>

<SettingsInfoBlock type="MergeTreeObjectSharedDataSerializationVersion" default_value="map_with_buckets" />

Эта настройка позволяет указать версию сериализации
общих данных внутри типа JSON для частей нулевого уровня, создаваемых во время вставок.
Для частей нулевого уровня не рекомендуется использовать сериализацию общих данных `advanced`, поскольку это может
существенно увеличить время вставки.
