본문 바로가기
nest.js

데이터베이스(SQL,NoSQL,ORM,ODM)2024.05.12

by goblin- 2024. 5. 14.

프론트엔드와 백엔드의 전체 구조

  1. 컴퓨터
    • 사용자는 자신의 컴퓨터에서 작업을 시작합니다.
  2. 프론트엔드 서버
    • 코드 에디터(VSCode)에서 싸이월드 코드 작성.
    • 라이브 서버를 통해 프론트엔드 서버를 실행.
    • 사용자가 브라우저에 주소를 입력하면, 프론트엔드 서버에서 파일을 요청하고 브라우저에 화면을 렌더링.
  3. 백엔드 서버
    • 브라우저에서 필요한 데이터를 백엔드 서버로 API 요청.
    • 백엔드 서버는 데이터베이스에서 게시글(board) 정보를 저장하거나 불러와서 브라우저에 응답.

데이터베이스: SQL vs NoSQL

  1. 데이터베이스 종류
    • SQL: 표(Table) 형식으로 구성된 데이터베이스.
    • NoSQL: 서류(Collection) 형식으로 묶여 관리되는 데이터베이스.
  2. SQL과 NoSQL의 차이
    • SQL: Oracle, MySQL, PostgreSQL.
    • NoSQL: MongoDB.
  3. 차이점 비교

SQLNoSQL

스키마가 존재함 스키마가 없음
수직적 확장 가능 수평적 확장 가능

ODM / ORM

  1. API 요청
    • 브라우저에서 백엔드 서버로 데이터를 저장하거나 가져오기 위해 API 요청.
  2. ORM (Object-Relational Mapper)
    • SQL 데이터베이스(테이블 형식)를 다른 프로그래밍 언어에서 쉽게 사용하도록 함.
  3. ODM (Object-Document Mapper)
    • NoSQL 데이터베이스(문서와 컬렉션 형식)를 다른 프로그래밍 언어에서 쉽게 사용하도록 함.

요약

  • 프론트엔드와 백엔드 구조: 사용자의 컴퓨터에서 시작하여 프론트엔드 서버와 백엔드 서버로 데이터를 주고받는 구조.
  • 데이터베이스 종류: SQL과 NoSQL, 각자의 특성과 사용 예시.
  • ORM/ODM: 데이터베이스 접근을 더 편리하게 하기 위한 도구, 각각의 장단점을 이해하고 사용하는 방법.