[Codestates] 2021. 7. 30

민병대·2021년 8월 13일

Codestates

목록 보기
40/45

[데이터베이스] NoSQL

  • NoSQL의 장점 및 특징에 대해서 이해 할 수 있다.
    1. 자유로운 형태로 데이터를 저장할 수 있으므로, 소프트웨어 개발에 정형화되지 않은 많은 양의 데이터가 필요한 경우 효율적
    2. 데이터베이스를 클라우드 기반으로 쉽게 분리 할 수 있도록 지원하여, 저장 공간을 효율적으로 사용 가능
    3. 스키마를 미리 준비할 필요가 없어서, 개발을 빠르게 해야하는 경우에 매우 적합

  • MongoDB의 도큐먼트(Document)와 컬렉션(Collection)에 대해 이해할 수 있다.
    도큐먼트(Document) : 필드 - 값 쌍으로 저장된 데이터
    컬렉션(Collection) : 도큐먼트의 모음
    • JSON과 BSON의 차이점을 이해하고, 도큐먼트를 가져오거나 내보낼 수 있다.
      JSON(JavaScript Object Notation) : {"id":"12153"} 같은 형식, 가독성이 좋음, 외부에서 사용
      BSON(Binary JSON) : 이진법에 기반을 둔 표현법, 파싱이 빠르고 메모리 사용이 효율적, 내부에서 사용

  • MongoDB의 Atlas에 대해 이해할 수 있다
    • 클러스터(Cluster)와 레플리카 세트(Replica set)에 대해 이해할 수 있다.
      • 클러스터 : 데이터를 저장하는 서버 그룹으로 여러 대의 컴퓨터를 네트워크를 통해 연결하여 하나의 단일 컴퓨터처럼 동작하도록 제작한 컴퓨터
      • 레플리카 세트 : 동일한 데이터를 저장하는 소수의 연결된 머신. 레플리카 세트 중 하나에 문제가 발생하더라도, 데이터를 그대로 유지.
    • Atlas를 GUI(Graphical User Interface)와 shell 쿼리문으로 사용할 수 있다.

  • MongoDB에서 CRUD를 할 수 있다.
    • Insert(C), Find(R), Update(U), Delete(D)에 대한 쿼리문을 작성 할 수 있다.
      • C : db.fruits.insert([{ "fruit": "apple" }, { "fruit": "banana" }, { "fruit": "blueberries" }])
      • R : db.zips.find({"state":"NY"})
      • U : db.animals.updateMany({ "animal": "tiger" }, { "$set": { "type": "dangerous", "look": "adorable" }})
      • D : deleteOne, deleteMany
    • $match, $project, $group 연산자를 사용할 수 있다.
      • $match : 지정된 조건과 일치하는 문서만 다음 파이프라인 단계로 전달
      • $project : 요청된 필드가 있는 문서를 파이프라인의 다음 단계로 전달
      • $group : 지정된 _id표현식으로 입력 문서를 그룹화하고 개별 그룹화에 대해 문서를 출력
profile
마케터 출신 개발자

0개의 댓글