2016-09-19 3 views
0

매우 많은 수의 csv 파일이 있는데 mongodb에 저장하려고합니다. 스키마를 디자인 할 때 몇 가지 제안이 필요합니다.대형 csv 파일 용 mongodb 스키마

스키마 유형 1 :

var CsvSchema = new Schema({ 
    col1: String, col2: String, col3: String, col4: String //will save each row of csv file as an object. 
}); 

스키마 유형 2 :

var CsvSchema = new Schema({ 
    row: [] //will store each row of csv file as array 
}); 

나는 다음 읽기 작업이 데이터 (앱보고)를 많이 수행해야합니다. 내 가정 : 스키마 유형 2

  • 데이터 저장소 매우 적은 공간을 차지합니다 내가 2 형

다음 빨라집니다 1 형에서 작업을 읽어 같아요 1.

  • 유형 비교 찬반 양론을 고려하여 데이터를 저장하는 데 사용해야하는 스키마 유형에 대한 제안 ...

  • 답변

    0

    각 행을 배열 (스키마 2)로 저장할 때. 저장소의 공간을 덜 차지하지만 MongoDB에서는 인덱싱 및 데이터 작업이 더욱 복잡해집니다.

    MongoDB는 기본적으로 문서 당 16MB 만 허용한다는 점을 기억해야합니다. 어떻게 데이터를 쿼리합니다 : 어떤 SQL 데이터베이스가없는 설계 할 때 http://blog.mlab.com/2013/04/thinking-about-arrays-in-mongodb/

    0

    주요 질문 :

    나는 MongoDB의를 사용하여 배열을 조작에 대한이 기사를 읽어보실 것을 추천?

    따라서 전체 행을 검색 할 필요가있는 경우에만 특정 필드를 검색 할 필요가 없으며 소프트웨어 수명이 지나면 절대 변경되지 않을 것이라고 합리적으로 확신합니다. 유형 2를 사용하십시오. 이것은 질의하는 악몽이다. 당신이 (컬럼 1은 "X"와 3 열은 "Y"되지 않은 모든 문서를 검색) 데이터 저장소에서 모든 사람들이 예상하는 "정상"검색 작업을 사용할 경우, 유형

    이동 1.