<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article How Is Data Stored In Qlik Sense And QlikView? in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/How-Is-Data-Stored-In-Qlik-Sense-And-QlikView/ta-p/1712436</link>
    <description>&lt;P&gt;Data loaded is structured in a flat table. This table has rows and fields, and all fields have the same number of rows. All the value are stored as dual values by the Qlik Indexing (QIX) engine.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Table visualzing data.png" style="width: 375px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/43985iFBD12656C5566F73/image-size/large?v=v2&amp;amp;px=999" role="button" title="Table visualzing data.png" alt="Table visualzing data.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;The distinct values of each loaded field are collected into symbol tables. There is one symbol table per field, and each symbol table has a pointer value assigned for each distinct value. The pointers are unique within each symbol table, but not among all symbol tables.&amp;nbsp;QlikView has a limit of maximum of 2 billion (2^31) symbols per symbol table.&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;NOTE:&lt;/STRONG&gt;&amp;nbsp;The distinctness of values are based on the dual value's underlying numerical value. This means that dual values with a different text value, but identical numerical values will be represented by the same symbol.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;The pointer values are&amp;nbsp;bit-stuffed, which means that they only have as many bits that it takes to represent the number of rows in the symbol table. For example, a field with four distinct values needs a pointer with only two bits length, because that is the number of bits it takes to represent four (2^2) values. In the pictures below the pointers are represented as binary values.&lt;BR /&gt;&lt;BR /&gt;A symbol table can be visualized by presenting the field in a list box since it shows the distinct values in a field.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Symbole table.png" style="width: 641px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/43986i5B4980915EA1132C/image-size/large?v=v2&amp;amp;px=999" role="button" title="Symbole table.png" alt="Symbole table.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;The in-memory data table will not store the actual loaded values. In the data table the values are replaced by the pointer values. This allows for significant data compression since the pointers are many times shorter than the actual data value. Data can many times be processed quickly through the pointer values, since they have fewer bits to process compared to the real data value.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Table visualzing data 2.png" style="width: 376px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/43987iBB6B9F1EE8C025C2/image-size/large?v=v2&amp;amp;px=999" role="button" title="Table visualzing data 2.png" alt="Table visualzing data 2.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Community blog post on QlikView symbol tables and optimization considerations:&amp;nbsp;&lt;A href="http://community.qlik.com/blogs/qlikviewdesignblog/2012/11/20/symbol-tables-and-bit-stuffed-pointers" target="_blank" rel="noopener"&gt;http://community.qlik.com/blogs/qlikviewdesignblog/2012/11/20/symbol-tables-and-bit-stuffed-pointers&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 10 May 2022 19:25:39 GMT</pubDate>
    <dc:creator>ToniKautto</dc:creator>
    <dc:date>2022-05-10T19:25:39Z</dc:date>
    <item>
      <title>How Is Data Stored In Qlik Sense And QlikView?</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/How-Is-Data-Stored-In-Qlik-Sense-And-QlikView/ta-p/1712436</link>
      <description>&lt;P&gt;Data loaded is structured in a flat table. This table has rows and fields, and all fields have the same number of rows. All the value are stored as dual values by the Qlik Indexing (QIX) engine.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Table visualzing data.png" style="width: 375px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/43985iFBD12656C5566F73/image-size/large?v=v2&amp;amp;px=999" role="button" title="Table visualzing data.png" alt="Table visualzing data.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;The distinct values of each loaded field are collected into symbol tables. There is one symbol table per field, and each symbol table has a pointer value assigned for each distinct value. The pointers are unique within each symbol table, but not among all symbol tables.&amp;nbsp;QlikView has a limit of maximum of 2 billion (2^31) symbols per symbol table.&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;NOTE:&lt;/STRONG&gt;&amp;nbsp;The distinctness of values are based on the dual value's underlying numerical value. This means that dual values with a different text value, but identical numerical values will be represented by the same symbol.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;The pointer values are&amp;nbsp;bit-stuffed, which means that they only have as many bits that it takes to represent the number of rows in the symbol table. For example, a field with four distinct values needs a pointer with only two bits length, because that is the number of bits it takes to represent four (2^2) values. In the pictures below the pointers are represented as binary values.&lt;BR /&gt;&lt;BR /&gt;A symbol table can be visualized by presenting the field in a list box since it shows the distinct values in a field.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Symbole table.png" style="width: 641px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/43986i5B4980915EA1132C/image-size/large?v=v2&amp;amp;px=999" role="button" title="Symbole table.png" alt="Symbole table.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;The in-memory data table will not store the actual loaded values. In the data table the values are replaced by the pointer values. This allows for significant data compression since the pointers are many times shorter than the actual data value. Data can many times be processed quickly through the pointer values, since they have fewer bits to process compared to the real data value.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Table visualzing data 2.png" style="width: 376px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/43987iBB6B9F1EE8C025C2/image-size/large?v=v2&amp;amp;px=999" role="button" title="Table visualzing data 2.png" alt="Table visualzing data 2.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Community blog post on QlikView symbol tables and optimization considerations:&amp;nbsp;&lt;A href="http://community.qlik.com/blogs/qlikviewdesignblog/2012/11/20/symbol-tables-and-bit-stuffed-pointers" target="_blank" rel="noopener"&gt;http://community.qlik.com/blogs/qlikviewdesignblog/2012/11/20/symbol-tables-and-bit-stuffed-pointers&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 10 May 2022 19:25:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/How-Is-Data-Stored-In-Qlik-Sense-And-QlikView/ta-p/1712436</guid>
      <dc:creator>ToniKautto</dc:creator>
      <dc:date>2022-05-10T19:25:39Z</dc:date>
    </item>
  </channel>
</rss>

