• [MongoDB] MongoDB란?

    2023. 4. 7.

    by. 지은이: 김지은

    728x90

    MongoDB란?

    대표적인 NoSQL, Document DB로 대용량 데이터를 처리하기 좋게 만들어졌다.

    데이터를 key와 document(json)형태로 저장되며 자유로운 스키마(구조와 제약조건에 관한 명세) 구조를 갖는다.

     

    RDB와 NoSQL

    Relational Database: 관계형 데이터 베이스 (테이블 형태)

    자료들의 관계를 주요하게 다루며 SQL 질의어를 사용하기 위해 데이터를 구조화 해야함

     

    Non SQL(Not Only SQL): 질의어를 사용하지 않는 데이터베이스

    자료간의 관계에 초점을 두지 않으며 데이터를 구조화 하지 않고, 유연하게 저장함

     

    나는 RDB인 MySQL을 사용해봤지만(물론 지금은 다 까먹었지만..!) 성능, 확장성 면에서는 더 뛰어나다고 하니까 잘 배워두고 싶다. 

     

    NoSQL을 사용하는 이유?

    SQL을 사용하기 위해선 데이터를 구조화하는 것이 필수 -> 스키마에 정의된 데이터가 아니면 저장할 수 없는 제약

    NoSQL을 사용하면 사전작업 없이 데이터베이스를 사용할 수 있다 -> 스키마가 고정적이지 않으며, 데이터베이스 작업에 크게 관여하지 않고 프로젝트를 빠르게 진행

     

    MongoDB 기본 개념

    Database > Collection > Document

    Database: 하나 이상의 collection을 가질 수 있는 저장소 (SQL database와 유사)

    Collection: Document가 저장되는 공간 (SQL table과 유사)

    Document: MongoDB에 저장되는 자료 (SQL row와 유사하지만 구조제약 없이 유연하게 저장 가능)

    • ObjectID: 각 Document의 유일한 키 값 (SQL primary key와 유사). document 생성 시 자동으로 생성되는 값

     

    Reference

    • 엘리스

     

     

     

    댓글