LabHub

MongoDB — 문서 데이터베이스의 판단 · 문서 모델과 실행 계획 · 퀴즈

퀴즈: 문서 데이터베이스의 판단

LabHub 에서 이어서 보기

문항 8개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. '문서 DB 는 스키마가 없다' 는 말의 가장 정확한 해석은?

    1. 정말로 어떤 제약도 걸 수 없다
    2. 성능을 위해 검증을 포기한 설계다
    3. 컬렉션마다 문서 모양이 반드시 달라야 한다
    4. 스키마가 사라진 것이 아니라 애플리케이션 쪽으로 자리를 옮긴 것이다
  2. 품목을 주문 문서 안에 끼워 넣을(embed) 것인지 참조로 둘 것인지, 판단 기준은?

    1. 함께 읽히는가, 그리고 밖에서 따로 바뀌는가
    2. 문서 크기가 16MB 를 넘는지만 보면 된다
    3. 항목 개수가 열 개를 넘는지 본다
    4. 정규화 이론을 따라 항상 참조로 나눈다
  3. 끼워 넣기(embed)를 골랐을 때 치르는 대가는?

    1. 그 값을 고칠 때 그것을 품은 문서를 전부 찾아 고쳐야 한다
    2. 조인이 없어졌는데도 조회가 느려진다
    3. 배열 안 필드에는 인덱스를 걸 수 없다
    4. 그 컬렉션에는 트랜잭션을 쓸 수 없게 된다
  4. 실행 계획에 COLLSCAN 이 보인다. 뜻은?

    1. 컬렉션이 손상됐다
    2. 조회 결과가 비어 있다
    3. 인덱스를 타지 않고 문서를 전부 훑었다
    4. 쓰기 잠금이 걸려 있다
  5. 인덱스가 잘 걸렸는지 판단하는 가장 직접적인 값은?

    1. 인덱스가 차지하는 디스크 크기
    2. 컬렉션에 들어 있는 전체 문서 수와 평균 크기
    3. 그 조회에 실제로 걸린 밀리초
    4. nReturned 와 totalDocsExamined 의 비율
  6. '혹시 몰라서' 인덱스를 여러 개 만들어 두는 것의 대가는?

    1. 질의 계획 후보가 늘어 계획을 고르는 시간이 길어진다
    2. 문서를 넣을 때마다 모든 인덱스를 갱신해야 해서 쓰기가 느려지고 공간을 먹는다
    3. 메모리 사용량만 조금 늘 뿐 다른 영향은 없다
    4. 복제본으로 전달할 양이 늘어 복제가 지연된다
  7. $set 대신 문서를 통째로 대입(replaceOne)했을 때 흔히 벌어지는 일은?

    1. 더 빠르게 갱신된다
    2. 인덱스가 무효화된다
    3. 적지 않은 필드가 사라진다
    4. _id 가 새로 생성된다
  8. tags 가 배열일 때 태그별 합계를 구하려면 파이프라인에 무엇이 필요한가?

    1. $group 만으로 충분하다
    2. $unwind 로 배열을 펼친 뒤 $group
    3. $lookup 으로 조인한 뒤 $group
    4. $project 로 배열을 문자열로 바꾼 뒤 $group