0

我有一个脚本可以对 web 服务进行 http 调用,捕获响应并解析它。

对于每个事务,我想将以下数据保存在关系数据库中。

  1. HTTP 请求时间
  2. HTTP 请求标头
  3. HTTP 响应时间
  4. HTTP 响应代码
  5. HTTP 响应标头
  6. HTTP 响应内容

我很难为此可视化架构。我最初的想法是创建 2 个表。

Table 'Transactions': 
1. transaction id (not null, not unique)
2. timestamp (not null)
3. type (response or request) (not null)
3. headers (null)
4. content (null)
5. response code (null)

'transaction id' 将是某种校验和,源自时间戳与标题文本的组合。

我计算这个事务 id 的原因是有一个唯一的 id 可以区分 2 个事务,但同时用于链接请求和响应。

这张桌子会用来做什么?该脚本将每 5 分钟运行一次,并将所有这些记录到数据库中。另外,每次运行时,脚本都会检查最后一次成功交易的时间。此外,在一天结束时,脚本会生成当天所有交易的摘要并通过电子邮件发送。

关于我如何改进这个设计的任何想法?我应该对这个模式应用什么样的规范化和/或优化技术?我应该把它分成 2 个或更多表吗?

4

1 回答 1

0

我决定使用 NoSQL 方法来解决这个问题,它已经奏效了。用过 MongDB。它在文档结构方面提供的灵活性以及不必具有固定数量的属性确实很有帮助。可能不是该问题的最佳解决方案,但我能够使用复合索引优化性能。

于 2014-04-14T19:11:10.367 回答