2012-01-20 2 views
0

LDAP를 쿼리하고 50,000 개의 레코드를 가져 와서 해당 정보를 요청 XML (XML 당 300 명의 사용자, 50000/300 = 167 개의 요청을 다시 말함)로 포맷하는 시스템이 시스템 B로 전송되고 응답Oracle DB에 대형 XML을 저장하는 시스템을 설계하는 방법은 무엇입니까?

현재 oracle DB에 167 요청 및 응답 XML을 CLOB로 저장합니다. 그리고 저는 매일 이것을해야합니다.

문제는 10GB에 가까운 테이블 공간이 매우 빨리 소모된다는 것입니다. 그럼 ....이 요구 사항에 더 나은 디자인을 채택하는 방법은 무엇입니까?

지금 시스템은 필요한 작업을 수행합니다. 주변에는 문제가 없습니다. 나는보기 흉하지 않은 디자인을 넣고 싶다. 전문가 ... 제발 도와주세요 ...

+1

이전 레코드를 삭제할 수 없으며 보관/감사 요구 사항이 있습니까? – home

+1

) 1. 당신이 매일 이것을 저장하는 특별한 이유가 있습니까? 2.) 파일에 저장하는 대신 DB에 저장하는 이유가 있습니까? – cdeszaq

+0

1) 보고서 2)이 옵션은 확실히 볼 수 있습니다. – Shiv

답변

1

XML의 각 덩어리가 충분히 큰 경우, 테이블에 쓰기 전에 java.util.zip.GZIPOutputStream을 사용하여 압축하려고 시도 할 수 있습니다. 물론 XML의 일반 텍스트를 쿼리해야하는 경우에는 도움이되지 않습니다.

더 큰 파일 시스템에 XML 데이터를 재 설계하고 저장 한 다음 URI를 관련 룩업 데이터와 함께 데이터베이스의 파일에 저장할 수도 있습니다.

관련 문제