Node.js - ORM/Sequelize
ORM
ORM(Object-relational Mapping)이란 OOP 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법으로 쉽게 말해 객와 데이터베이스 사이의 연결 역할을 한다. 대표적으로 spring에는 JPA가, node의 sequalize, 또 Django에는 orm이 내장되어있다.
ORM을 사용 했을 때의 장점
- 개발의 생산성 향상
- 선언문, 할당, 종료 등과같은 부수적인 코드가 사라짐으로써 개발의 생산성 향상.
- 명확한 쿼리 (버그와 실수 감소)
- 코드그 간결하고 직관이기 때문에 가독성을 높여준다.
- DB 의존성 감소
- 대부분 ORM 솔루션이 특정 Database에 종속적이지 않다. 개발자는 Database에 상관없이 Object에만 집중할 수 있다.
ORM을 사용 했을 때의 단점
- 튜닝의 어려움
- 미세한 수정 및 디버그하기가 상대적으로 어렵다
- 복잡한 쿼리작성의 문제
- ORM이 지정해 놓은 명령만 내릴 수 있다
- Raw쿼리에 비해 느린 실행속도
- 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