<?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>topic Re: Using Bit Strings to optimize storage and retrieval of integer list types that have a length or maxLength facet in Nuxeo Forum</title>
    <link>https://connect.hyland.com/t5/nuxeo-forum/using-bit-strings-to-optimize-storage-and-retrieval-of-integer/m-p/319694#M6695</link>
    <description>&lt;P&gt;Understood. No, we don't have a JIRA issue for the array optimisation yet.&lt;/P&gt;</description>
    <pubDate>Wed, 18 Jul 2012 17:33:46 GMT</pubDate>
    <dc:creator>Florent_Guillau</dc:creator>
    <dc:date>2012-07-18T17:33:46Z</dc:date>
    <item>
      <title>Using Bit Strings to optimize storage and retrieval of integer list types that have a length or maxLength facet</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/using-bit-strings-to-optimize-storage-and-retrieval-of-integer/m-p/319691#M6692</link>
      <description>&lt;P&gt;I have a few mandatory, limited-size, vocabulary-based, multi-valued properties that are part of my Base Document Type. In order to optimize document retrieval, I would like to minimize the number of tables that need to be joined. Normally, each of these multi-valued properties would be represented as a collection fragment table and therefore require an add'l table join on retrieval.&lt;/P&gt;
&lt;P&gt;I have defined these limited-size vocabularies to have one-up integer IDs that represent a bit index. The Base Document Type properties that lookup into these vocabularies are defined as lists of integers with a maxLength facet. It would be ideal if Nuxeo provided an option to optimize storage and retrieval of these length-restricted, multi-valued integer properties using Bit strings. CMIS query "quantified comparison predicate" and "quantified in predicate" constructs could be translated into bitwise operators. NXQL queries could also be translated similarly.&lt;/P&gt;
&lt;P&gt;Any thoughts or feedback regarding this optimization approach/technique?&lt;/P&gt;</description>
      <pubDate>Wed, 11 Jul 2012 12:39:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/using-bit-strings-to-optimize-storage-and-retrieval-of-integer/m-p/319691#M6692</guid>
      <dc:creator>ron_1</dc:creator>
      <dc:date>2012-07-11T12:39:39Z</dc:date>
    </item>
    <item>
      <title>Re: Using Bit Strings to optimize storage and retrieval of integer list types that have a length or maxLength facet</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/using-bit-strings-to-optimize-storage-and-retrieval-of-integer/m-p/319692#M6693</link>
      <description>&lt;P&gt;Nice idea yes.&lt;/P&gt;
&lt;P&gt;Don't you mean &lt;CODE&gt;xs:minInclusive&lt;/CODE&gt; and &lt;CODE&gt;xs:maxInclusive&lt;/CODE&gt; instead of &lt;CODE&gt;xs:maxLength&lt;/CODE&gt; though? Or &lt;CODE&gt;xs:enumeration&lt;/CODE&gt; for strings?&lt;/P&gt;
&lt;P&gt;However automatically turning those into bit strings (if there are less than 32 or 64 values) would be a bit harsh, I'd think of using some separate configuration flag (maybe in the repository config) to turn that on. For many users (and some kinds of indexing) having the values explicitly stored in the columns is still needed.&lt;/P&gt;
&lt;P&gt;But no plans to work on this for now...&lt;/P&gt;
&lt;P&gt;Another optimization that's more likely to make it into an upcoming version of Nuxeo is to use array types for databases that support it (PostgreSQL, maybe Oracle) to store the a of values in a single row, and use specialized indexing and operators (&lt;CODE&gt;&amp;lt;@&lt;/CODE&gt; in PostgreSQL) to get to the values.&lt;/P&gt;</description>
      <pubDate>Tue, 17 Jul 2012 19:14:09 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/using-bit-strings-to-optimize-storage-and-retrieval-of-integer/m-p/319692#M6693</guid>
      <dc:creator>Florent_Guillau</dc:creator>
      <dc:date>2012-07-17T19:14:09Z</dc:date>
    </item>
    <item>
      <title>Re: Using Bit Strings to optimize storage and retrieval of integer list types that have a length or maxLength facet</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/using-bit-strings-to-optimize-storage-and-retrieval-of-integer/m-p/319693#M6694</link>
      <description>&lt;P&gt;The xs&lt;/P&gt;</description>
      <pubDate>Wed, 18 Jul 2012 14:46:02 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/using-bit-strings-to-optimize-storage-and-retrieval-of-integer/m-p/319693#M6694</guid>
      <dc:creator>ron_1</dc:creator>
      <dc:date>2012-07-18T14:46:02Z</dc:date>
    </item>
    <item>
      <title>Re: Using Bit Strings to optimize storage and retrieval of integer list types that have a length or maxLength facet</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/using-bit-strings-to-optimize-storage-and-retrieval-of-integer/m-p/319694#M6695</link>
      <description>&lt;P&gt;Understood. No, we don't have a JIRA issue for the array optimisation yet.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Jul 2012 17:33:46 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/using-bit-strings-to-optimize-storage-and-retrieval-of-integer/m-p/319694#M6695</guid>
      <dc:creator>Florent_Guillau</dc:creator>
      <dc:date>2012-07-18T17:33:46Z</dc:date>
    </item>
    <item>
      <title>Re: Using Bit Strings to optimize storage and retrieval of integer list types that have a length or maxLength facet</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/using-bit-strings-to-optimize-storage-and-retrieval-of-integer/m-p/319695#M6696</link>
      <description>&lt;P&gt;https&lt;/P&gt;</description>
      <pubDate>Wed, 26 Sep 2012 16:32:08 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/using-bit-strings-to-optimize-storage-and-retrieval-of-integer/m-p/319695#M6696</guid>
      <dc:creator>Florent_Guillau</dc:creator>
      <dc:date>2012-09-26T16:32:08Z</dc:date>
    </item>
  </channel>
</rss>

