在 Azure 表存储中,我存储新闻更新,分区键是分配给新闻类别的关键字,例如“政治”、“体育”等。
当用户登录时,我希望能够根据用户的兴趣选择记录——这些记录保存在另一个数据库中。所以用户可能对“政治”和“体育”感兴趣。显然,我们可能有大量用户感兴趣的类别。它可能是 20 多个类别。
如何查询我的表,以便获得这些类别中的任何新闻更新?具体来说,问题是我可以在针对 Azure 表存储的 SELECT 语句中指定的条件数量限制。我认为我不能指定超过 15 个条件,例如 partitionKey = x 或 partitionKey = y 等。
通常,在 NoSQL 数据库中,解决方案是去规范化,但在这种情况下,这将是一个糟糕的选择。假设我使用用户 ID 作为我的分区键。如果我有 100 万用户,那么使用不同的分区键为同一记录创建 100 万份副本是没有意义的,这样每个用户都可以轻松获得自己的更新。
如何使用 Azure 表存储处理这种情况?