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

# hashed_array dictionary layout types

> Store a dictionary in memory using a hash table with attribute arrays.

<h2 id="hashed_array">
  hashed\_array
</h2>

The dictionary is completely stored in memory. Each attribute is stored in an array. The key attribute is stored in the form of a hashed table where value is an index in the attributes array. The dictionary can contain any number of elements with any identifiers. In practice, the number of keys can reach tens of millions of items.

The dictionary key has the [UInt64](/reference/data-types/int-uint) type.

All types of sources are supported. When updating, data (from a file or from a table) is read in its entirety.

Configuration example:

<Tabs>
  <Tab title="DDL">
    ```sql theme={null}
    LAYOUT(HASHED_ARRAY([SHARDS 1]))
    ```
  </Tab>

  <Tab title="Configuration file">
    ```xml theme={null}
    <layout>
      <hashed_array>
      </hashed_array>
    </layout>
    ```
  </Tab>
</Tabs>

<br />

<h2 id="complex_key_hashed_array">
  complex\_key\_hashed\_array
</h2>

This type of storage is for use with composite [keys](/reference/statements/create/dictionary/attributes#composite-key). Similar to [hashed\_array](#hashed_array).

Configuration example:

<Tabs>
  <Tab title="DDL">
    ```sql theme={null}
    LAYOUT(COMPLEX_KEY_HASHED_ARRAY([SHARDS 1]))
    ```
  </Tab>

  <Tab title="Configuration file">
    ```xml theme={null}
    <layout>
      <complex_key_hashed_array />
    </layout>
    ```
  </Tab>
</Tabs>

<br />
