2016-09-28 4 views
0

node, express 및 mongodb를 사용하여 RESTful API를 만들고 있는데, 참고 문헌으로 사용하고있는 책은 MongoDB 컷오프보다 큰 파일을 처리해야하는 경우 GridFS (즉 gridfs-stream)를 사용하도록 권장합니다. (16MB)MongoDB에서 GridFS를 기본값으로 사용하는 것에 대한 단점이 있습니까?

내 응용 프로그램이 그 크기의 파일을 처리해야하는지 잘 모르겠지만 나중에 필요할 경우를 대비해 사용하는 것이 단점인지 궁금합니다.

이러한 결정을 내릴 때 유의해야 할 사안 (즉, 불필요한 성능 저하, 안정성 문제)이 있습니까?

나는 또한 대체 파일 관리 솔루션에 대한 제안을받을 수 있습니다.

감사합니다.

답변

1

작은 이진 데이터 GridFS에 대한 Gridfs을 사용하지 말아은 두 개의 쿼리가 필요합니다 하나를 파일의 메타 데이터를 가져 오기 위해 당신이 작은 파일을 저장하기 위해 GridFS를 사용하는 경우, 당신은 쿼리의 수 를 두 배로 있으며, 따라서 그 내용 를 가져가 귀하의 응용 프로그램이해야합니다. GridFS는 기본적으로 데이터베이스에 저장하기 위해 큰 바이너리 개체를 분할하는 방법입니다. GridFS는 단일 문서에 들어갈 수있는 것보다 큰 큰 데이터를 저장하기위한 것입니다. 모범 사례의 원칙에 따라 클라이언트에서 한 번에 모두를로드하기에는 너무 큰 모든 것이 서버에 한꺼번에로드하려고하는 것이 아닐 것입니다. 따라서 클라이언트에 스트림을 보내려는 모든 것이 GridFS에 대한 좋은 후보입니다. 한 번에 모두로드 될 이미지, 사운드 또는 작은 비디오 클립과 같이 클라이언트의 은 일반적으로 주 문서에 이 포함되어야합니다.

또한 파일 크기가 모두 작 으면 BSON 문서 크기 제한은 GridFS를 사용하는 대신 파일 하나를 수동으로 저장하는 것을 고려하십시오. BinData 데이터 형식을 사용하여 이진 데이터를 저장할 수 있습니다. BinData 사용에 대한 자세한 내용은 드라이버 설명서를 참조하십시오.

는이

도움이 경우

가 올바른 표시하십시오 https://docs.mongodb.com/manual/core/gridfs/ 참조