ORM과 Node.js 추상화 계층
추상화란? 추상화
데이터베이스도 사용하는 방법에 따라 추상화가 많이 되어있는 라이브러리를 사용할 수도 있고, 그렇지 않은 라이브러리를 사용해서 데이터베이스를 컨트롤 할 수도 있다.
추상화 정도를 3단계로 나눠서 살펴보자.
저수준: 데이터베이스 드라이버
데이터베이스 인증 정보를 가져오고, 새 데이터베이스 인스턴스를 인스턴스화 하고, 데이터베이스에 연결하고, 문자열 형식으로 쿼리를 보내고 결과를 비동기적으로 처리하는 것
ex)

중간 수준: 쿼리 빌더
단순한 데이터베이스 드라이버 모듈과 완전한 ORM을 사용하는 것의 중간 수준(Knex와 함께 사용하려는 특정 라이브러리를 설치해야 한다.)
ex)

고 수준: ORM
최고 수준의 추상화, ORM으로 작업할 때 일반적으로 더 많은 설정을 사전에 수행해야 한다. 관계형 데이터베이스의 데이터를 애플리케이션의 객체(클래스 인스턴스)에 매핑하는 것이다.
Node.js 대표 ORM 종류
ORM의 단점
ORM의 장점