locationtech / locationtech/geomesa

Track table splits/ranges and use them to inform z-range decomposition

Open
#6,451 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Scala
Stars
1.5k
Forks
446
Avg merge
1d 8h
Merged PRs (30d)
31

Description

Track table splits/ranges and use them to inform z-range decomposition

A potential idea to improve query times: keep metadata about ranges for chunks of data (e.g. track every 100MB chunk). (Determine these with a coprocessor/filter?) Use these metadata to decide how much range decomposition to use for a given query. I.e. if we know that half the range being queried doesn't (likely) have any data, we can not decompose that part very much. If the other half of the range has a lot of data, we can decompose that part extra.

This approach is supposedly used by Apache Phoenix: https://github.com/apache/phoenix


Original JIRA Issue: https://geomesa.atlassian.net/browse/GEOMESA-2620

Key: GEOMESA-2620
Type: Improvement
Priority: Major
Status: To Do
Resolution: Unresolved
Reporter: Emilio Lahr-Vivaz
Created: Thu, 9 May 2019 08:57:56 -0400
Updated: Thu, 9 May 2019 08:57:56 -0400

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by locating the z-range decomposition entry point and the code handling table splits or range metadata, then review how coprocessors or filters could provide the proposed information. Done means metadata informs variable decomposition so sparse and dense query ranges receive different treatment, with tests showing the behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
databases, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.