You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by km...@apache.org on 2017/10/18 23:45:02 UTC

[geode] branch develop updated: GEODE-3701 Emphasize performance penalty of hash indexes in docs (#949)

This is an automated email from the ASF dual-hosted git repository.

kmiller pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new cff010f  GEODE-3701 Emphasize performance penalty of hash indexes in docs (#949)
cff010f is described below

commit cff010f4fd058079846ea0023e581a83e65a0fea
Author: Karen Miller <ka...@users.noreply.github.com>
AuthorDate: Wed Oct 18 16:44:59 2017 -0700

    GEODE-3701 Emphasize performance penalty of hash indexes in docs (#949)
    
    * GEODE-3701 Emphasize performance penalty of hash indexes in docs
    
    * GEODE-3701 Revise wording on hash indexes per review
---
 .../query_index/creating_hash_indexes.html.md.erb  | 28 +++++++++++++---------
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb b/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb
index 49b9596..e785749 100644
--- a/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb
+++ b/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb
@@ -19,25 +19,31 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-<%=vars.product_name%> supports the creation of hash indexes for the purposes of performing equality-based queries.
+<%=vars.product_name%> supports the creation of hash indexes for the purpose of performing equality-based queries.
 
-## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_8A927DFB29364DA7856E7FE122FC1654" class="no-quick-link"></a>Why Create a HashIndex
-
-By creating a hash index, you can improve the memory usage of your index. If you are doing equality-based queries, your indexing footprint is significantly reduced. As an example, previously when you created an index that contained string fields, copies of the strings were included in the index. By using hash indexes, indexed expressions are canonicalized and stored in the index as pointers to the objects lying in the region. Improvements in the 30% range are expected, depending on the k [...]
-
-**Note:**
-Your performance results may vary depending on the keys and data being indexed.
-
-## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_2EF23A54378E44FFBF1BEB32E41ABD61" class="no-quick-link"></a>Performance Considerations
+## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_8A927DFB29364DA7856E7FE122FC1654" class="no-quick-link"></a>Hash Index Performance
 
 The performance of put operations and recovery time when using a hash index 
 will be worse than a range index.
 Queries are expected to be slower due to the implementation 
-of hash index and the cost of recalculating the key on request,
-which is the trade-off for the space savings that using a hash index provides.
+of the hash index and the cost of recalculating the key on request.
+A hash index can improve the memory usage of the index.
+So, the trade-off of the hash index space savings must be weighed against the
+performance penalty it imposes.
 If memory usage is not a concern,
 a range index is recommended.
 
+Consider the memory usage when an index contains string fields.
+Copies of the strings are included in the index.
+With hash indexes, indexed expressions are canonicalized and stored in the index
+as pointers to the objects residing in the region,
+thereby using less memory.
+Tests achieved as high as a 30% reduction in memory footprint,
+but the savings depend on the keys and data being used.
+
+## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_2EF23A54378E44FFBF1BEB32E41ABD61" class="no-quick-link"></a>Performance Considerations
+
+
 ## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_800401C53E5841269F389329B8A4CDF3" class="no-quick-link"></a>Limitations
 
 The following limitations must be considered when creating hash indexes:

-- 
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].