파이어버드는 데이터 저장 때 RLE 알고리즘으로 압축을 합니다. 그래서, 데이터의 종류나 테이블 컬럼 구조에 따라 다를 수는 있지만, 제 경험으로는 텍스트 파일이나 다른 데이터베이스에서 데이터를 임포트했을 때 대략 2/3 정도로 줄어드는 경우가 많았습니다.
그런데, 이 RLE 압축은 스트링에 대해서만 가능합니다. 그래서, 만약 테이블에 다른 데이터 타입이 많다거나 하면 압축 효과를 거의 못볼 수 있겠고요. 또, 인덱스는 데이터 자체와는 무관하게 데이터베이스의 공간을 차지하므로 인덱스가 아주 많다면 오히려 더 늘어날 수도 있겠습니다.
그럼...
히로 님이 쓰신 글 :
: 안녕하세요.. Firebird 를 처음 사용하게된 초짜입니다..
:
: 다름이 아니라 임베디드 용 App 을 개발 하고 있는데
: 디스크 용량이 한정된 상황에 Data Size 가 많아서 도움을 얻고자 글을 올립니다.
:
: 제가 알기로는 Firebird 가 Data 를 저장할때 압축을 해서 저장하는걸로 알고 있는데
:
: 텍스트 파일 30 메가 정도를 data type 을 여러가지로 바꿔서 저장을 해봐도
:
: DB 사이즈는 60 메가 정도로 원래 Data 의 2배 정도가 되네요..
:
: Sqllite 를 사용하려다 용량 문제로 Firebird 로 바꿨는데 용량은 오히려 더 커진거 같습니다.
:
: 문제점이 무엇인지 해결 방법이 무었인지 알고 싶습니다..
:
: 감사합니다..
|