2010-12-17 2 views
1

우리는 현재 postgreSQL을 사용하여 Java/Hibernate 다중 사용자 응용 프로그램을 개발하고 있습니다. 우리는 데이터베이스를 여러 스키마 (하나의 스키마는 하나의 회사)로 마이그레이션하고 있습니다. 이제는 같은 데이터가 있더라도이 단점 데이터베이스 크기가 점점 더 커지고있는 것을 알았습니다. 마이그레이션하기 전에 700MB가있었습니다. 대략 2GB 후에.여러 스키마를 사용할 경우의 장점은 무엇입니까?

우리는 백업/복원 문제에 직면하고 있기 때문에 이전보다 훨씬 많은 작업을 수행하고 있습니다.

Q :보다 빠른 전송을 위해 시간과 공간을 낭비하지 않아도됩니까? 아니면 뭔가 잘못하고있는 것입니까?

+0

스키마가 네임 스페이스 일 뿐이며 왜 DB 크기가 두 배 이상입니까? 모든 데이터를 복제하고 있습니까? 그렇다면 그렇게 DB를 완전히 비정규 화하지 마십시오. –

+0

나는 중복 된 데이터가 없다는 것을 확신한다. 그러나 동일한 테이블을 가진 각 회사에 대해 하나의 공개 스키마와 개인 스키마가있다. –

답변

1

이 문제를 실제로 조사하기위한 간단한 테스트 사례를 만들어야합니다. 우리는 db 서버에 여러 개의 wiki를 구현하기 위해 문자 그대로 천개의 스키마를 사용하며 꽤 잘 작동합니다.

그리고 저는 요즘 백업하는 데 2GB 밖에되지 않는 DB를 갖고 싶습니다. :)

+1

312 개의 테이블을 가진 새로운 빈 스키마를 만들면 postgresql의 데이터 폴더 크기 1.2GB 증가했습니다. 이상하지 않은가? –

1

당신이 실제로 한 것을 쓰지 않았습니다.

내가 복사 한 몇 가지 공통 데이터 (예 : 사전)가 있다고 가정합니다. 이 데이터가 각 회사 (사용자 정의되지 않음)에 공통적 인 경우 분리 된 스키마로 유지해야합니다.

+0

예, 우리는 상수, 참조를 저장하기위한 공용 스키마를 분리했습니다. 하나의 가입 (새 회사)은 데이터가없는 하나의 개인 스키마로 생성됩니다. –

관련 문제