googleapis / googleapis/google-cloud-java

[java-bigtable] Add the ability to get Row cells in serverside order

未关闭
#13,088 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
api: bigtable type: docs
主要语言
Java
星标
2.1k
派生
1.2k
平均合并
1 天 23 小时
30 天内合并 PR
157

描述

Bigtable stores data in the following order:
1. lexicographically by row key
2. family creation order
3. lexicographically by qualifier
4. reverse chronological by timestamp

The family ordering is not guaranteed so the data client currently pre-processes each row to change the ordering of families to be lexicographic order. This makes it convenient to do binary searches for specific values.

Unfortunately, this has negative repercussions when combined with `cells_per_row_limit_filter` and `cells_per_row_offset_filter`. Those filters are executed on the server side using the family creation order.

At the very least we need to update our docs to caution users against using those filters outside of a chain that narrows it to a single family.

In addition we should expose the server ordering of the cells on each row as `Row#getRawCells()` (maybe with a better name).

贡献指南

打开贡献指南

调研方向

从 Row API 开始,追踪 cells_per_row_limit_filter 和 cells_per_row_offset_filter 如何与客户端的 family 重排序交互。检查现有的这些 filter 以及 Row 行为文档。完成标准是记录单 family 限制,并且如果继续推进 API 更改,则通过命名清晰的 Row 方法暴露服务器顺序的 cells。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
database
Issue 类型
功能
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
30/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。