如何设计一个系统来在Oracle DB中存储大型XML?

时间:2012-01-20 19:40:59

标签: java database-design

我有一个查询LDAP的系统,提取50,000条记录(比如说)并将这些信息格式化为请求XML(比如每个XML 300个用户,50000/300 = 167个背靠背请求)将其发送到系统B,返回系统B的回应。

我目前正在oracle DB中保存167请求和响应XML作为CLOB。我需要每天都这样做。

问题是接近10GB的表空间会非常快地耗尽。那么....如何为这个要求采用更好的设计呢?

现在系统完成了它需要做的事情。周围没有问题。我想要一个体面的设计。专家......请帮忙......

1 个答案:

答案 0 :(得分:1)

如果每个XML块都足够大,可以尝试使用java.util.zip.GZIPOutputStream压缩它们,然后再将它们写入表中。当然,如果您需要查询XML的纯文本,那么这对您没有帮助。

您还可以在更大的文件系统上重新设计和存储XML数据,然后将URI与任何相关的查找数据一起存储到数据库中的文件。