存储查询结果的有效方法?

时间:2012-08-03 18:50:01

标签: java database oracle database-design

我有一个要求,比如以固定的时间间隔运行'n'个select次查询并存储该数据。需要根据客户的要求提取这些结果。

我的问题是:

  • 1)可以将其存储为csv文件吗?或者你能建议另一种格式吗?
  • 2)或者,它应该作为clob变量存储在db?

请建议使用任何压缩技术来存储这些查询结果;另外,是否可以只存储以前结果集的修订版而不是存储整个结果集?

注意:

  • 最短时间间隔是每小时。
  • 查询数量(n)将有所不同(目前有10到200个查询。)
  • 每个查询的结果集大小也各不相同(例如10到1,000,000,但大多数是10k左右。)
  • 在每个时间间隔之间获取的结果集数据没有太大差别。 (行值不会经常更新。)

我是计算机科学和编程的新手,也不太了解存储或数据库设计。

3 个答案:

答案 0 :(得分:2)

听起来你应该建立一个data warehouse.

答案 1 :(得分:0)

性能方面我认为最好有一个用于存储查询结果的表。

答案 2 :(得分:0)

我认为您需要将数据存储在数据库中。 SQL数据库可以为您提供最好的服务。 关于以固定的时间间隔存储数据,您只需要实现数据集中的更改而不是一次又一次地存储整个数据。我不知道您的要求是什么,以及您可以负担多少基础设施。如果您有这么大的疑问,我建议您在Distributed System工作。使用NOSQL数据库可以获得更好的性能。