복붙노트

[MONGODB] 생산을위한 빠른 GridFS하고 신뢰할 수있는 충분한가요?

MONGODB

생산을위한 빠른 GridFS하고 신뢰할 수있는 충분한가요?

나는 새로운 웹 사이트를 개발하고 정상적인 파일 시스템 스토리지에 비해 많은 장점을 제공하기 때문에 나는 모든 사용자 업로드 스토리지로 GridFS를 사용하고 싶습니다.

Nginx에 의해 제공 GridFS와 벤치 마크는 빨리 정상적인 파일 시스템의 nginx에 의해 제공으로 아니라고, 나타냅니다.

의 nginx와 벤치 마크

프로덕션 환경에서 이미 GridFS를 사용하거나 새 프로젝트를 위해 그것을 사용하는 것이 거기 사람이 있습니까?

해결법

  1. ==============================

    1.내가 존경하는 트래픽 통계 (하루 25K 방문자를 arround)와 가격 비교 웹 사이트의 일부가 우리의 서버 중 하나에 직장에서 gridfs를 사용합니다. 서버별로 램, 2gigs, 심지어 CPU하지 정말 빨리 (코어 2 듀오 1.8GHz의)을 가지고 있지만 서버는 충분한 저장 공간이 있습니다 10TB를 (SATA) RAID 0 구성. 서버가하고있는 작업은 매우 간단합니다 :

    내가 존경하는 트래픽 통계 (하루 25K 방문자를 arround)와 가격 비교 웹 사이트의 일부가 우리의 서버 중 하나에 직장에서 gridfs를 사용합니다. 서버별로 램, 2gigs, 심지어 CPU하지 정말 빨리 (코어 2 듀오 1.8GHz의)을 가지고 있지만 서버는 충분한 저장 공간이 있습니다 10TB를 (SATA) RAID 0 구성. 서버가하고있는 작업은 매우 간단합니다 :

    우리의 가격 비교 자에 각 제품 이미지를 (우리의 제품의 DB에 따라 약 1 천만 제품이 있습니다)이 있고, 서버 작업은 이미지를 다운로드 크기를 조정, gridfs에 저장하고, 방문자의 브라우저로 제공하는 것입니다. .. 그것은 이미 그리드에 저장되어있는 경우 방문자의 브라우저에 제공 ... 그리드에 존재하지의 ... 경우 나. 그래서, 이것은 '전통적인 CDN 스키마'이라 할 수있다.

    우리는 저장하고 설치하고 실행 이후이 서버에 4 개 백만 이미지 처리. 크기 조정 및 상점 물건은 간단한 PHP 스크립트에 의해 이루어집니다 ...하지만 확실히, 자바와 같은 파이썬 스크립트, 또는 뭔가 빨리 될 수 있습니다.

    현재 데이터 크기 : 11.23g

    현재 스토리지 크기 : 12.5g을

    지수 : 5

    색인 크기 : 849.65m

    신뢰성에 관하여 : 이것은 매우 신뢰할 수 있습니다. 서버는 인덱스의 크기가 괜찮습니다,로드되지 않고, 쿼리는 빠르다

    속도에 관하여 : 확실히, 그렇지 않은 빠른 로컬 파일 저장소로, 아마 10 % 느리지 만 실시간 이미지의 요구가 우리의 경우, 이는 처리하는 경우에도에서 사용하기에 충분히 빨리, 매우 의존 PHP는 것입니다. 유지 관리 및 개발 시간도 감소되었습니다 그것은 하나 또는 여러 개의 이미지를 삭제하는 것이 너무 간단했다 : 단지 쿼리 DB를 기본 삭제 명령. 또 다른 흥미로운 점 : 우리는 가끔 시간이 중단 시스템이 파일 무결성 검사를 수행 한 원인 (폴더 수천의 파일 만 때문에) 로컬 파일 스토리지 우리의 오래된 서버를 재부팅 할 때 (이 정말 ... 시간이 걸렸다). 우리는 더 이상 gridfs이 문제가 없습니다, 우리의 이미지는 이제 큰 MongoDB의 청크 (2GB 파일)에 저장된다

    그래서 ... 내 마음에 ... 예, gridfs 생산에 사용되는 빠르고 신뢰할 수있는 충분한입니다.

  2. ==============================

    2.언급 한 바와 같이, 그것은 일반 파일 시스템만큼 빠르지 않을 수도 있지만 그것은 내가의 비트 속도를 포기 가치가 생각하는 일반 파일 시스템을 통해 당신에게 사람의 장점을 제공합니다.

    언급 한 바와 같이, 그것은 일반 파일 시스템만큼 빠르지 않을 수도 있지만 그것은 내가의 비트 속도를 포기 가치가 생각하는 일반 파일 시스템을 통해 당신에게 사람의 장점을 제공합니다.

    GridFS 저장 실제로 일반 파일 시스템과 단일 노드와 달리 빠른 옵션이 될 경우 궁극적으로, 샤딩, 당신은 그러나 지점에 도달 할 수 있습니다.

  3. ==============================

    3.mdirolf의 nginx를-gridfs 모듈은 설치를 얻을 매우 쉽게 위대하고있다. 우리는 그림의 모든 서비스를 제공하는 paint.ly에서 생산에 그것을 사용하고 지금까지 아무런 문제가 없었다.

    mdirolf의 nginx를-gridfs 모듈은 설치를 얻을 매우 쉽게 위대하고있다. 우리는 그림의 모든 서비스를 제공하는 paint.ly에서 생산에 그것을 사용하고 지금까지 아무런 문제가 없었다.

  4. ==============================

    4.헤드 업 더 큰 DB를하지만 ​​대한 수리에 - 우리가 개발하는 새로운 시스템, 몽고는 정상적으로 종료하지 않았다, 그리고 130 시간 걸릴 것 같은 7TB GridFS의 외모를 수리.

    헤드 업 더 큰 DB를하지만 ​​대한 수리에 - 우리가 개발하는 새로운 시스템, 몽고는 정상적으로 종료하지 않았다, 그리고 130 시간 걸릴 것 같은 7TB GridFS의 외모를 수리.

    이 때문에, 나는 OpenStack은 스위프트 또는 Ceph로 전환 살펴 보겠습니다 생각합니다. 그러나 그때까지이 좋았다. 그리고 nginx를-gridfs 모듈은 달콤한입니다.

  5. ==============================

    5.당신은 당신이 무엇을하고 있는지 알지 못한다면 나는 gridfs를 사용하지 않는 것이 좋습니다. GridFS 두 컬렉션에 덩어리 저장 파일을위한 파일을 분할 단지 추상화 계층입니다. 더 많은 파일 - 오버 헤드. 당신이 파일이 꽤 같은 크기,하지 초과 32M 정도가 될 것으로 예상되는 경우 - 당신은 올바른 방법에 있습니다. gridfs에 큰 파일을 저장하지 마십시오. 왜?

    당신은 당신이 무엇을하고 있는지 알지 못한다면 나는 gridfs를 사용하지 않는 것이 좋습니다. GridFS 두 컬렉션에 덩어리 저장 파일을위한 파일을 분할 단지 추상화 계층입니다. 더 많은 파일 - 오버 헤드. 당신이 파일이 꽤 같은 크기,하지 초과 32M 정도가 될 것으로 예상되는 경우 - 당신은 올바른 방법에 있습니다. gridfs에 큰 파일을 저장하지 마십시오. 왜?

    당신이에 대해로드 된 프로젝트를 읽을 생각하는 경우 - 직접 문서로 파일을로드 고려 (만약 16M 이하 크기) 로직 또는 다른 clusterfs을 선택하고 링크 파일 이름 / 아이 노드가.

    희망이 도움이됩니다.

  6. from https://stackoverflow.com/questions/3413115/is-gridfs-fast-and-reliable-enough-for-production by cc-by-sa and MIT license