2013-06-14 4 views
2

네이티브 mongoimport 도구를 사용하여 MongoDB로 가져 오는 9 M 레코드의 2GB CSV 파일이 있습니다. 초당 8K의 속도로 CSV를 가져옵니다. 총 소요 시간은 10 분입니다. 임포트 속도는 꽤 빠르지 만 MySQL LOAD DATA INFILE 버전보다 훨씬 느립니다 (모든 레코드를 데이터베이스에 삽입하는 데 2 ​​분 밖에 걸리지 않습니다). 이것이 받아 들일 수있는 동안 (MongoDB는 JSON 타입 객체를 위해 만들어졌고 일반적으로 속도 향상은 쿼리하는 것이지 삽입하는 것이 아닙니다), MongoDB mongoimport에서 초 당 삽입 횟수를 높일 수있는 방법이 있는지 알고 싶습니다. ? RAM이 8GB이고 코어가 4 개인 컴퓨터가 하나뿐입니다. 감사합니다. .MONGODB 몽고 발 빠른 속도?

+2

두 번째 디스크에 넣고 색인이 없는지 확인하십시오 ... 저널링 끄기 ... 디스크와 CPU가 망치질 않는다면 읽을 코드를 작성할 수 있습니다 파일을 삽입하고 더 빨리 삽입하십시오. 아니면 그냥 쉬고 나서 기다리십시오. :) – WiredPrairie

+0

Ok 네이티브 가져 오기 도구는 "파일을 실행하고 배치 삽입을 수행하는 코드 조각"보다 빠를 것이라고 생각했습니다. 내 편이 오해입니까? – Sai

+1

컴퓨터가 실제로 사용 중입니까? 아마 컴퓨터가 할 수있는만큼 좋은 것입니다. – WiredPrairie

답변

6

대부분의 경우 JSON 객체를 BSON (원시 MongoDB 형식)으로 직렬화하는 데 많은 시간이 소요될 수 있으므로 파일을 분할하고 각각 별도의 파일로 mongoimport를 실행하는 여러 병렬 작업을 수행하면 더 빨리 가져올 수 있습니다.

+0

감사합니다. 좋은 지적입니다. 시도해 보겠습니다. – Sai

관련 문제