我是新的卡桑德拉。请帮助我了解如何在Cassandra中定义最佳数据模型。
模型1:
CREATE TABLE users (
id uuid PRIMARY KEY,
username text,
email text,
age int
)
CREATE TABLE users_by_username (
username text PRIMARY KEY,
id uuid
)
CREATE TABLE users_by_email (
email text PRIMARY KEY,
id uuid
)
优点
: 1.没有重复的记录。 2.仅更新/删除一次,但要查找用户详细信息,需要选择一个 查询。
Dis优势
1. To get user records, Need to select in 2 tables ( users_by_username
or users_by_email and users )
模型2 :
CREATE TABLE users_by_username (
id uuid PRIMARY KEY,
username text,
email text,
age int
)
CREATE TABLE users_by_email (
id uuid PRIMARY KEY,
username text,
email text,
age int
)
优点:
1. To get user records, only once select query.
Dis优势:
1.Duplicate records in two tables.
2. Update/Delete needs to performed in two tables.
请告诉我哪种型号会好?
答案 0 :(得分:0)
建模表(列族)的最佳方法是首先定义如何访问信息: - 你打算通过uuid,电子邮件,用户名进行查询吗?只有当你用uuid(主键)
查看时,你的例子才能正常工作