googleapis / googleapis/google-cloud-java
[java-bigtable] Add the ability to get Row cells in serverside order
- 主要语言
- 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