首页 > 解决方案 > gcp 云数据存储索引策略

问题描述

数据存储新手,但熟悉 Cassandra 和 Dynamo。我有一个用例,其中我有一个由两个字段 ( A, B) 组成的唯一复合键。B将是desc有序的。我的访问模式是查询给定值(带分页)的最新(基于B)实体。A我的问题是它A可能具有非常高的基数(可能在 5-1000 万范围内,但低至 100-1000)。

如果这是在 Dynamo 中,我将A成为分区键并B成为排序键。然而,在 Datastore 中,密钥标识符的概念让我大吃一惊。我应该将唯一的 CONCAT(A,B) 作为关键标识符(以实现某种唯一约束)吗?A然后B一次又一次地为查询添加一个索引?

我找不到关于 Datastore 内部工作的太多信息,所以我不确定是否将 CONCAT(A,B) 作为关键标识符会随机分布数据。我猜测对于快速查询,我希望所有具有相同A值的实体都存储在同一个分区中。或者索引是否像关系数据库中的视图一样工作?

标签: indexinggoogle-cloud-platformgoogle-cloud-firestorenosqlgoogle-cloud-datastore

解决方案


推荐阅读