ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Node.JS 와 MongoDB 를 이용한 웹 구조
    프로그래밍 2021. 6. 25. 10:56
    목차
    1. NoSQL 이란?
    2. NoSQL 의 종류
    3. MongoDB 의 특징
    4. Node.JS 란 무엇인가
    5. React, Angular, Vue

     

     NoSQL 이란?

    기존의 컴퓨팅 시스템은 소규모의 복잡한 데이터들을 효율적으로 다루기 위해서 사용되었습니다. 그래서 대부분의 저장 방식은 사람들의 니즈에 맞는 RDBMS가 사용되었죠.

     

     

     

    그런데 2000년대 이후 Big Data 시대가 열리고 RDBMS 의 한계가 옵니다.

     

     

    그리고 이러한 Big Data 를 다루기 위해 등장한 저장 방식이 바로 NoSQL 입니다.

     

     

     NoSQL 의 종류

    NoSQL 은 아래와 같은 CAP 이론과 저장 방식을 기준으로 나뉩니다. 기존의 RDBMS 는 CAP 이론 중에서 CA 속성을 보장하고 있습니다.

     

     

    하지만 NoSQL 은 CP 또는 AP 를 보장하게 됩니다.

     

     

    결론적으로 우리가 궁금한 MongoDB는 이 중에서 CP 의 속성을 보장하고 Document DB 저장 방식을 사용하는 NoSQL 이 되겠습니다.

     

     MongoDB 의 특징

    Mongo DB 는 아래와 같은 Document 저장 방식을 사용하고 있습니다. 특히 저 Document 들은 JSON 형식으로 저장된다는 것이 특징입니다.

     

     

    또한, MongoDB 는 CP 의 속성을 보장하기 때문에, 자연스럽게 데이터의 손실을 용인하게 되는데요. 그래서 데이터의 사본인 Slave 들을 3개 이상 만들어서 관리함으로써 데이터의 손실을 대비하고 있습니다.

     

     

     Node.JS 란?

    우선 JAVA Script 부터 보고 가겠습니다. HTML 은 웹의 화면을 구성해주는 언어이고, CSS 는 그 화면에 디자인을 더해주는 언어입니다. 그리고 여기에 동적인 기능들을 더해주는 언어가 바로 JAVA Script 입니다.

     

     

    그렇다면 이 JAVA Script 는 누가 해석을 하는가? , 바로 웹 브라우저가 하게 됩니다. 근데 그중 크롬의 V8 엔진이 너무 뛰어나서 별도로 출시된 것이 Node.JS 이고, 이 Node.JS 가 웹서버도 되면서 JSON 파일 형식을 너무 해석을 잘하는 부분이 MongoDB 와 너무 궁합이 좋아서, 이 두 조합을 위한 프레임워크까지 나오게 됩니다.

     

     

     React, Angular, Vue

    이게 무엇인가 알기 전에 기존의 웹 프로세스부터 좀 알고 넘어가겠습니다.

     

     

     

    이제 전체적인 구조를 쭉 보면, 웹 브라우저에서 좋아요를 하나 누릅니다. 그럼 HTTP Request 를 통해서 웹서버인 Node.JS 에게 전달하고, 그걸 해석해서 HTML, CSS, JS 를 통해서 웹 페이지를 구성하고 거기에 JS Library 를 통해서 앱 기능을 더해준 뒤 필요한 데이터가 필요한 MongoDB 에 접속해서 데이터를 가져와서 합쳐준 뒤, HTTP Response 를 통해서 다시 웹 브라우저에 전송을 해주는 것이 바로 아주 기본적인 웹 구조입니다.

     

    댓글

Designed by Tistory.