IT/Node.js

Node.js - ORM/Sequelize

Huitopia 2021. 11. 28. 23:45
728x90

ORM

ORM(Object-relational Mapping)이란 OOP 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법으로 쉽게 말해 객와 데이터베이스 사이의 연결 역할을 한다. 대표적으로 spring에는 JPA가, node의 sequalize, 또 Django에는 orm이 내장되어있다.

ORM을 사용 했을 때의 장점

  1. 개발의 생산성 향상
  2. 선언문, 할당, 종료 등과같은 부수적인 코드가 사라짐으로써 개발의 생산성 향상.
  3. 명확한 쿼리 (버그와 실수 감소)
  4. 코드그 간결하고 직관이기 때문에 가독성을 높여준다.
  5. DB 의존성 감소
  6. 대부분 ORM 솔루션이 특정 Database에 종속적이지 않다. 개발자는 Database에 상관없이 Object에만 집중할 수 있다.

ORM을 사용 했을 때의 단점

  1. 튜닝의 어려움
  2. 미세한 수정 및 디버그하기가 상대적으로 어렵다
  3. 복잡한 쿼리작성의 문제
  4. ORM이 지정해 놓은 명령만 내릴 수 있다
  5. Raw쿼리에 비해 느린 실행속도
  6. DB에 직접 명령을 내리지 않고 한단계 거쳐가기 때문

 

Sequelize

Node.js에서 가장 많이 사용되는 ORM이며 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 도구이다. 시퀄라이즈는 자바스크립트 구문을 알아서 SQL로 변환해주어서 좀 더 의존성이 낮은 프로그래밍을 할 수 있도록 도와준다. 또한 어느 정도 문법이 호환되므로 MySQL 뿐만 아니라, MariaDB, PostgreSQL, SQLite 등 다른 데이터베이스로 전환이 비교적 자유롭다. 즉, Sequelize를 사용하면 JavaScript로 MySQL을 제어할 수 있다.

 

 

참고링크

 

Sequelize란?

sequelize sequelize란? > sequelize란 nodeJS에서 mysql을 사용할 때 raw Query문을 사용하지 않고 더욱 쉽게 다룰 수 있도록 > 도와주는 라이브러리이다. > sequelize는 ORM(Object-Relational Mapping)로 분류가 됩니다. >

velog.io

 

[ORM] Node.js에서 ORM 사용하기

Node.js에서 지원하는 ORM의 종류와 차이점 찾아보기

www.kyungyeon.dev

 

Node.js Database ODM / ORM | LibHunt

All libraries and projects - 21. SheetJS js-xlsx, TypeORM, Sequelize, Mongoose, RxDB, Objection.js, Bookshelf, Waterline, MikroORM, and orm2

nodejs.libhunt.com

 

[Database] ORM(Object-relational Mapping)이란?

ORM이란? ORM(Object-relational Mapping)이란 OOP 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법으로 쉽게 말해 객체로 관계형 데이터베이스를 관리하는 기술이다. 대부분의 개발 언어 platform마

ooeunz.tistory.com

728x90