我有一个查询LDAP的系统,提取50,000条记录(比如说)并将这些信息格式化为请求XML(比如每个XML 300个用户,50000/300 = 167个背靠背请求)将其发送到系统B,返回系统B的回应。
我目前正在oracle DB中保存167请求和响应XML作为CLOB。我需要每天都这样做。
问题是接近10GB的表空间会非常快地耗尽。那么....如何为这个要求采用更好的设计呢?
现在系统完成了它需要做的事情。周围没有问题。我想要一个体面的设计。专家......请帮忙......
答案 0 :(得分:1)
如果每个XML块都足够大,可以尝试使用java.util.zip.GZIPOutputStream压缩它们,然后再将它们写入表中。当然,如果您需要查询XML的纯文本,那么这对您没有帮助。
您还可以在更大的文件系统上重新设计和存储XML数据,然后将URI与任何相关的查找数据一起存储到数据库中的文件。