Web Dev/ELICE

31 :: 데이터베이스, SQL, NoSQL, express, Mongoose 실습

HJPlumtree 2021. 12. 7. 17:58

엘리스 SW 엔지니어 트랙 31일차

박성국님 실시간 강의 🦁

 

 

Node.js에서 사용하는 Database

 

 

데이터베이스 사용 이유

  • 데이터공유: 여러명 동시에 공유에도 안정성과 정확성 갖춤
  • 데이터 중복 최소화: 하나의 데이터베이스에서 여러 테이블로 나눠 중복 최소화
  • 지속성: DBMS에 의해 중앙집중적 관리되어 무결성 유지 용의
  • 보안성: 중앙집중적으로 관리되어 한군데 보안을 유지
    => 지금은 클라우드(AWS, Google)에서 삼엄하게 보안 유지해준다

 

 

SQL | NoSQL

SQL

  • 엄격한 스키마
  • 유연성 낮다
  • 관계를 통해 데이터 중복 피함
  • 수직적 확장만 가능

SQL 사용이 좋은 경우

  • 명확한 스키마 사용할 경우

 

 

NoSQL

  • 스키마 없다
  • 유연성 높다
  • 관계 없다 => 중복 데이터 많다 => 효율이 떨어진다
  • JSON 구조

NoSQL 사용이 좋은 경우

  • 정확한 데이터 구조 알 수 없을 때
  • 변경/확장 될 수 있는 경우
  • 보통 스타트업에서 많이 사용

 

 

NoSQL 데이터베이스 종류

Key-Value

  • Redis, AWS, DynamoDB
  • 모든 레코드 key-value 페어
  • NoSQL 가장 단순한 형태

 

Document

  • DynamoDB, CouchDB
  • 각 레코드 하나의 문서
  • 활용성 높은 API 제공

 

Graph-based

  • Neo4j, AWS Neptune
  • 데이터베이스 그래프로 표현
  • 실시간 추천 등 유리
  • ???

 

 

MongoDB 문서

링크 => https://docs.mongodb.com/drivers/node/current/usage-examples/

 

그리고 PostgreSQL

링크 = > https://www.postgresql.org/

 

 

Sequelize

Node.js의 대표적인 ORM

Object Relational Mapping

객체지향 패러다임 활용 관계형 데이터베이스 데이터 조작

 

객체 메서드 활용하는 것처럼 작성 가능

MySQL, PostgreSQL, MariaDB 등 많은 RDBMS 지원

Promise 기반 => 비동기 로직 편리하게 작성 가능

 

Sequelize 공식 링크 => https://sequelize.org/master/

 

 

 

오후 실시간 실시간 강의 🦁🦁

 

Node.js, MongoDB, Mongoose, express 사용 실습

게시판

express + Mongoose 이용 DB 저장

마지막 Pagination까지

 

감이 안오는 내용..

이번주 온라인 강의에서 만회하자!