gpt4 book ai didi

cassandra - 用于休息通信 cassandra 的建模帐户

转载 作者:行者123 更新时间:2023-12-04 08:43:08 24 4
gpt4 key购买 nike

我需要在 cassandra 中建模帐户(名字、姓氏、电子邮件作为用户名等)以及当前事件的 token 。

我最初的想法是创建 account_by_email这将具有由带有静态列的电子邮件分区的瘦行,并通过 access_token 进行聚类。 (也可能是 TTL),然后您总能找到基于当前电子邮件的访问 token 。

但是我们要求客户端只有登录后才能发送access_token并基于它当前用户必须从数据库中提取。

我可以再创建一张表,其中电子邮件将按 access_token 进行分区但这对我来说是开销和很多分区。然后我可以收到来自 access_token 的电子邮件并始终通过电子邮件获取用户。

任何更好的想法和方法,这似乎是常见的用例,但是当 cassandra 用作存储时,我找不到任何建模细节?

最佳答案

I can create one more table where email will be partitioned by access_token but that seams to me as overhead and lot of partitions.



一个表的大量分区有什么问题?这绝对是正确的 Cassandra 做事方式:
create table users (
email text primary key,
first_name text,
last_name text,
current_token text
);

create table tokens (
auth_token text primary key,
valid_until timestamp,
email text
);

所以你有一个单独的用户表,以及 tokens将 token 作为分区键的表。使用此模型,您可以:
  • 通过使用 TTL 更新 users.current_token 并将新 token 行插入到 tokens 来为用户设置新 token table 。
  • 通过 token 获取用户电子邮件,即使 token 已过期。
  • 获取当前用户的事件 token 。
  • 拥有用户的完整 token 历史记录(但无法对此类信息运行有效查询,您可以使用 Spark/SparkSQL/Hive)。
  • 通过为单个 current_token 设置 TTL 自动使 token 过期柱子。
  • 关于cassandra - 用于休息通信 cassandra 的建模帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30625989/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com