데이터 생성 속도는 약 1Gbps입니다 ... 현재 MongoDB를 테스트 중입니다. 이것은 좋은 선택입니까?
확인을 위해 데이터 속도는 10 초당 ~ 1 기가 바이트입니다. 따라서 20 분마다 1TB 하드 드라이브를 채우고 있습니까?
MongoDB는 쓰기 속도가 매우 뛰어나지 만 RAM과 데이터 비율이 비교적 낮은 상황에서는 이상적으로 사용됩니다. 일부 데이터와 함께 을 최소한 주 인덱스로 유지하려고합니다.
제 경험상, 5-10GB의 데이터마다 약 1GB의 RAM이 필요합니다. 이 수치를 넘으면 읽기 성능이 크게 떨어집니다. 100GB의 데이터에 대해 1GB의 RAM을 확보하면 인덱스가 RAM에 들어가는 것을 막을 때 새로운 데이터를 추가하는 것조차 느려질 수 있습니다. 여기
큰 키는 다음과 같습니다
실행할와 MongoDB를이 쿼리를 실행 쉬운 방법을 않습니다 계획입니까 쿼리
?
귀하의 데이터는 매우 빠르게 기본적으로 모든 쿼리를 그냥 디스크에 갈 것입니다 충분한 공간을 차지할 것입니다. 매우 구체적인 인덱싱 및 샤딩 전략이 없으면 디스크 스캔 만하면됩니다.
또한 MongoDB는 압축을 지원하지 않습니다. 따라서 많은 디스크 공간을 사용하게 될 것입니다.
하지 않으면, 나는 어떤 다른 데이터베이스 시스템을 사용할 수 있습니까?
당신은 플랫 파일을 압축 간주 적이 있습니까? 또는 가능성이 큰 데이터지도/C가 핵심 요구 사항 인 경우
, 어쩌면 당신이 Tokyo/Kyoto Cabinet보고 싶어 (I는 하둡은 자바로 작성 알고 ) 하둡과 같은 시스템을 감소?
편집 : 자세한 내용은
MongoDB를 하지 않습니다 지원 전체 텍스트 검색. 그런 것들을 위해서 다른 도구 (Sphinx/Solr)를 봐야 할 것입니다.
큰 인덱스는 인덱스 사용 목적을 무효화합니다.
숫자에 따르면 10M 문서/20 분 또는 약 30M/시간을 씁니다. 각 문서는 인덱스 항목에 대해 약 16 바이트가 필요합니다. ObjectID의 경우 12 바이트 + 2GB 파일에 대한 포인터의 경우 4 바이트 + 파일 포인터 + 일부 채우기의 경우 1 바이트.
모든 색인 항목에 약 20 바이트가 필요하다고 가정하면 색인은 600MB/시간 또는 14.4GB/일로 증가하고 있습니다. 그리고 그것은 단지 기본값 인 _id
입니다.
주 인덱스가 더 이상 RAM에 맞지 않아 성능이 크게 떨어지기 시작합니다. (이 문서는 MongoDB에 잘 설명되어 있습니다.
그래서 어떤 쿼리를 실행할지 결정하는 것이 중요합니다.
'redis' 시도 http://redis.io/ – Baba