2011-02-07 5 views
8

난 그냥 내가 구축 매우 간단한 PHP 스크립트와 나의 새로운 몽고 데이터베이스 내 MySQL의 데이터베이스 (크기 2,8 미오)를 가져 오기 오류없이 괜찮다고하지만 난 (RockMongo로) 내 몽고 데이터베이스를 볼 때 나는 이것을 볼 수있다 : 데이터 크기 8.01m, 저장 크기 13.7m.MongoDB의 일반적인 크기입니까?

MongoDB를이 정상이며, 동일한 양의 데이터 MySQL은보다 크다?

영어를 유감스럽게 생각하며 도와 주셔서 감사합니다.

+2

8.01/2.8 = 2.86x not 10x –

답변

13

예, "동일한"데이터가 mongodb에서 더 많은 공간을 차지한다는 것은 정상입니다.

1) 각 문서에 저장된 문서 _id (사용자가 직접 값을 지정하지 않는 한)은 문서 당 12 바이트입니다.
2) 다음을 저장해야합니다. 각 문서의 각 키 - 값 쌍에 대한 키입니다. 반면 MySql에서는 모든 단일 행에 대해 열 이름이 저장되지 않으므로 mongodb 문서에서도 추가 오버 헤드가 발생합니다. 이 문제를 줄일 수있는 한 가지 방법은 당신의 문서
3)에서 키 이름 ("열 이름")을 단축 사용하는 것입니다 MongoDB를 자동으로 문서가 MongoDB를에 SQL 서버에서 유사한 테스트에서 데이터를로드

성장을 할 수 있도록 패딩을 추가 SQL Server 당 전체 이름 대신 2 문자 문서 키 이름이 짧아지면 MongoDB에서 25-30 % 정도의 추가 공간이 사용됩니다.

+0

오, 나는 "1"(_id)에 대해서 이미 생각했지만, "2"에 대해서는, 모든 것이 좋다고 귀에 기쁘게 생각합니다. – Tahola