如何解决需要 Cassandra 表架构来记录错误
我正在将 Cassandra 与 Kundera 一起使用。我想在日志表中捕获系统中的任何错误,然后在以后采取行动。
我有字段
- error_log_time(发生错误时),
- error_type(如数据库错误、网络错误等),
- error_state(打开,关闭),
- createdUUID(一些唯一标识符),
- 有效负载(处理错误的一些细节)
所以我的查询会是这样的,
- 给我从某个 error_type 的开始和结束日期开始的错误列表。
- 给我从开始和结束日期开始的错误列表,具有特定的 error_type 并且处于打开状态。
- 给定时间戳和 error_type 以及 createdUUID 更新错误状态从 OPEN 到 CLOSED
那么以下哪个表模式将是有效的。假设我们每天有 1000 个错误。
时间戳和类型作为分区键
CREATE TABLE error_log_table (
error_log_time timestamp,error_type text,error_state text,create_uuid uuid,payload text,PRIMARY KEY ((error_log_time,error_type),error_state,create_uuid))
这将是一个可扩展的表,还是会创建更多的分区,这将使选择查询跨服务器?
或者,我在谷歌上找到的东西,但不能完全满足我的所有查询
记录月份并输入为分区键
CREATE TABLE error_log_table (
log_month text,error_log_time timestamp,PRIMARY KEY ((log_month,error_log_time,create_uuid))
在这种情况下,我每次选择查询时都需要给出月份,而且我只能在一个月内选择。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。