【发布时间】:2017-10-20 22:44:32
【问题描述】:
有没有关于如何逐步实现 Cassandra 触发器的好的示例或指南?
我正在寻找一些高级的东西,比如在执行 INSERT 或 UPDATE 之后操作同一分区中的其他行。
不幸的是文档非常有限,我到目前为止只找到了这些链接:
示例
假设您想将日志放入表中,并在达到一定数量的日志条目时聚合它们。
CREATE TABLE simple_log (
id int,
event_id timeuuid,
message text,
PRIMARY KEY(id)
);
INSERT INTO simple_log (id, event_id, message) VALUES (1, now(), 'first');
INSERT INTO simple_log (id, event_id, message) VALUES (1, now(), 'second');
INSERT INTO simple_log (id, event_id, message) VALUES (1, now(), 'third');
当您按 ID 选择日志顶部时,您应该会返回一个汇总结果:
SELECT * FROM simple_log WHERE id = 1;
id | event_id | message
----+--------------------------------------+---------
1 | d97f92d1-b5a4-11e7-825c-495e6ea8608a | first-second-third
【问题讨论】:
-
我认为没有办法。 Cassandra 没有更成熟的数据库系统所具备的丰富选项集。此外,请考虑 Cassandra 的分布式特性。触发器会在哪里运行?触发器会被允许做什么?
-
@MarcBernier - 那么他们为什么将它包含在文档中呢?我不确定是否有计划引入更丰富的触发器功能,但在某些情况下,当您想要扩展数据库时,它会变得有用。
标签: cassandra cql cassandra-3.0