Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bigtable: add helper methods to Rows to efficiently fetch qualifier values #4055

Closed
igorbernstein2 opened this issue Nov 20, 2018 · 0 comments
Assignees
Labels
api: bigtable Issues related to the Bigtable API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.

Comments

@igorbernstein2
Copy link

igorbernstein2 commented Nov 20, 2018

A Row is currently a flat list of cells. The cells have a particular order: all cells for a column family are clustered (NOTE: column families are not sorted, only clustered.) and then sorted lexicographically by qualifier. To expose this behavior to the user we should have 3 methods that on the Row class:

List<RowCell> getCells(String family)
List<RowCell> getCells(String family, ByteString qualifier)
List<RowCell> getCells(String family, String qualifier)

These methods should efficiently return a list of matching cells. To implement this efficiently, the Row class should include Map of index ranges for each family cluster, which should populated by the RowMerger. Then the 3 methods could use a combination of index lookups (for the family) and binary searches (for the qualifier) to return the matching cells.

@igorbernstein2 igorbernstein2 self-assigned this Nov 20, 2018
@igorbernstein2 igorbernstein2 added api: bigtable Issues related to the Bigtable API. and removed api: bigtable Issues related to the Bigtable API. labels Nov 20, 2018
@JustinBeckwith JustinBeckwith added triage me I really want to be triaged. 🚨 This issue needs some love. labels Nov 21, 2018
@sduskis sduskis added type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. and removed 🚨 This issue needs some love. triage me I really want to be triaged. labels Nov 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: bigtable Issues related to the Bigtable API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.
Projects
None yet
Development

No branches or pull requests

3 participants