풀네임은 Object-Relation Mapping.
객체(클래스)와 관계(관계형 데이터 베이스)와의 설정을 의미한다.
차이점은 객체 지향 프로그래밍은 클래스를 사용하고 관계형 데이터 베이스는 테이블을 사용한다는 것이다.
=> Object와 DB데이터 사이에서 매핑의 역할을 한다!
객체 모델과 관계형 모델간에 불일치가 존재 하는데 이 객체간의 관계를 바탕으로 SQL을 자동 생성하여 불일치를 해결해준다.
Node.js에서 가장많이 사용되고 있는 ORM.
MySQL, PostgreSQL, MariaDB, SQLite, MSSQL, 그 외에도 트랜잭션이나 relation, read replication등을 지원한다.
=> Promise(비동기작업 제어방식)를 기본으로 지원 해준다는 점입니다.
<Promise의 장점>
1) 복잡한 비동기 코드를 깔끔하고 쉽게 만들 수 있도록 한다.
2) Chaining을 통해 값을 전달하거나 연속된 일련의 작업을 처리 할 수 있다.
3) Error handling에 대한 처리를 깔끔하게 할 수 있다.