我们计划将所有票证存储在cassandra数据库中,这是定义的表格。
j-th
我的背景主要是关于SQL的,在设计表之后,我注意到我无法查询除了ticket_num和created_dt之外的表,因为其他列没有被索引:(。
我的需求是用户应该根据所有这些列编写查询。
我应该为每个查询条件创建多个表吗?
TABLE_1
BFMatcher
TABLE_2
CREATE TABLE tickets_info (
ticket_num text,
created_dt timestamp,
division text,
pg text,
duration text,
error_count text,
outage_caused text,
system_caused text,
addt_notes text,
ticket_type text,
row_create_ts timestamp,
PRIMARY KEY (ticket_num,created_dt)
) WITH CLUSTERING ORDER BY (created_dt DESC)
TABLE_3
CREATE TABLE ticket_info_division(
ticket_num text,
created_dt ts,
division text
PRIMARY KEY ((ticket_num, created_dt), division)
)
并合并所有结果?
答案 0 :(得分:2)
我应该为每个查询条件创建多个表吗?
是的,这是Cassandra数据建模的基础,我们称之为非规范化。现在,随着物化视图的引入,开发人员更容易,因为基表与所有视图同步的负担由Cassandra完成。在此处阅读更多内容:http://www.doanduyhai.com/blog/?p=1930