【发布时间】:2013-05-27 02:05:07
【问题描述】:
在尝试了解 Cassandra 的一些基础知识时,我的印象是,开发人员在设计数据模型时可以利用的优势之一是动态地将列添加到由键标识的行中。这意味着我可以对我的数据进行建模,以便在有意义的情况下,键可以是关系数据库中的 user_id 之类的东西,例如,我可以创建与该用户相关的任意数量的列。
我不明白为什么在 CLQ 示例中如此强调预定义列,尤其是在 CREATE TABLE/COLUMNFAMILY 示例中:
CREATE TABLE emp (
empID int,
deptID int,
first_name varchar,
last_name varchar,
PRIMARY KEY (empID, deptID)
);
这种类型的模型仅用于关系数据库不是更有意义吗?如果我直到运行时才知道我的列名并且需要动态创建它怎么办?我是否必须使用 ALTER TABLE 向使用 CLQ 的行添加新列?我想到的特定应用用例只需要一个键标识符和任意列名,其中列名可能包含时间戳+变量标识符。
Cassandra 是不是合适的工具?文档中的预定义列仅仅是一个示例吗?如何在现有列族/表中添加动态列名?
【问题讨论】:
-
Lyuben 已经在这里回答了,你为什么要重新发布到邮件列表?要有耐心,尤其是在周末。
-
对此我深表歉意。我在帖子中明确表示我正在这样做。我会看看我是否可以删除这个线程并跟进邮件线程。