<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:04:39 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-43977] Fully Indexed Collection</title>
                <link>https://jira.mongodb.org/browse/SERVER-43977</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;We are creation a large collection with 2 fields and both are fully indexed.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;For example :&lt;/p&gt;

&lt;p&gt;db.collection.insert ( { x : &quot;sddsqq&quot; })&lt;/p&gt;

&lt;p&gt;db.collection.createIndex ( { x : 1, _id : 1 })&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Obviously the index is required for fast random access.&#160; Now the only problem is that the index could end up being larger than the document in terms of storage.&#160; More over 2x the storage is required to store the same &apos;data&apos; (doc and index entries).&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Does Mongo have any plans to make improvement similar to IOT tables in Oracle ?&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Alex Leong&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="967972">SERVER-43977</key>
            <summary>Fully Indexed Collection</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13204">Community Answered</resolution>
                                        <assignee username="dmitry.agranat@mongodb.com">Dmitry Agranat</assignee>
                                    <reporter username="aleong@indeed.com">Alex Leong</reporter>
                        <labels>
                    </labels>
                <created>Sat, 12 Oct 2019 03:24:07 +0000</created>
                <updated>Fri, 27 Oct 2023 15:56:38 +0000</updated>
                            <resolved>Mon, 18 Nov 2019 08:46:55 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="2515423" author="dmitry.agranat" created="Sun, 3 Nov 2019 12:51:28 +0000"  >&lt;p&gt;Hi Alex,&lt;/p&gt;

&lt;p&gt;We do consider a project of clustered indexes in the future. However, currently we do not have enough information to provide as to if or when this would be implemented.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Dima&lt;/p&gt;
</comment>
                            <comment id="2485644" author="aleong@indeed.com" created="Wed, 16 Oct 2019 20:16:10 +0000"  >&lt;p&gt;Hi Dima&lt;/p&gt;

&lt;p&gt;Whether it is zlib or even zstd, it is double the amount of storage unnecessary.&lt;/p&gt;

&lt;p&gt;Plus the Mongo v4.2 feature allows indexing using wildcard, potentially all fields in a collection.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;There are certainly use cases for such, for example when someone using a collection as a very large dictionary/map/lookup kind of data structure.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Alex&lt;/p&gt;</comment>
                            <comment id="2484386" author="dmitry.agranat" created="Wed, 16 Oct 2019 10:26:48 +0000"  >&lt;p&gt;Hi Alex,&lt;/p&gt;

&lt;p&gt;In order for us to consider a feature request, we would like to understand the use case and data model first. This is important to determine what current alternatives we already have. Could you provide the requested information, as detailed as possible, from my last comment?&lt;/p&gt;

&lt;p&gt;Since storage size is your main concern, have you considered using zlib compression?&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Dima&lt;/p&gt;
</comment>
                            <comment id="2483765" author="aleong@indeed.com" created="Tue, 15 Oct 2019 21:00:04 +0000"  >&lt;p&gt;Hi Dima&lt;/p&gt;

&lt;p&gt;Thank you for you response.&lt;/p&gt;

&lt;p&gt;Yes, our concern would be the storage size, plus twice the storage needed.&lt;/p&gt;

&lt;p&gt;Sorry, there is nothing much I could tell you about its designed, it was created by one of our Developers. The document looks like this :&lt;/p&gt;

{

 &quot;hashedEmail&quot; : NumberLong(&quot;58504134050438472&quot;),

 &quot;messageId&quot; : &quot;&amp;lt;0.19kt94col1jgCXXXCXq@indeedemail.com&amp;gt;&quot;

 }

 {

 &quot;hashedEmail&quot; : NumberLong(&quot;1835081692994461526&quot;),

 &quot;messageId&quot; : &quot;&amp;lt;0.1a3a41gdXCXXCb@indeedemail.com&amp;gt;&quot;

 }

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Alex&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="2483152" author="dmitry.agranat" created="Tue, 15 Oct 2019 16:31:41 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=aleong%40indeed.com&quot; class=&quot;user-hover&quot; rel=&quot;aleong@indeed.com&quot;&gt;aleong@indeed.com&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;Just to make sure I understand what you are requesting, please let me know if this is correct:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Issue: index could end up being larger than the document in terms of storage&lt;/li&gt;
	&lt;li&gt;Feature request: Introduce Index Organized Tables (IOT) which have their primary key data and non-key column data stored within the same B*Tree structure.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;As for the IOT feature request, could you please describe your use case, data model as well as provide us with a few sample documents from a collection? Also, is the only concern is the total storage size? &lt;/p&gt;

&lt;p&gt;I am asking these questions because if the main issue is the total storage size, and if this is because of the &quot;Issue: index could end up being larger than the document in terms of storage&quot; which most probably is caused by fragmentation over time, as with B*Tree index, IOT can also become fragmented and may consume more total storage space.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Dima&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 15 Oct 2019 16:31:41 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 14 weeks, 3 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 14 weeks, 3 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>aleong@indeed.com</customfieldvalue>
            <customfieldvalue>dmitry.agranat@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hvx7q7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hvlpl3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                    <customfieldvalue><![CDATA[dmitry.agranat@mongodb.com]]></customfieldvalue>
    

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hvwtzj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>