问题描述
我正在将 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 (将#修改为@)