ORM의 장단점

손승우·2022년 3월 1일
0

ORM?

NodeJS의 경우 Sequelize 또는 TypeORM에 속한다.
객체와 관계형 데이터베이스의 데이터를 자동으로 연결해준다.
자바스크립트같은 객체 지향프로그래밍은 클래스를 사용하는데, 관계형 데이터베이스는 테이블을 사용한다, 이때 서로의 구조간의 불일치가 발생하고 ORM을 활용해서 객체간의 관계를 바탕으로 SQL을 자동으로 생성한다.

장점

  • 완벽한 객체지향코드로 직관적인 이해가 쉽다.
  • ORM을 통해 작성한 객체를 재활용하여 재사용에 용이하다. (개발시간 단축)
  • 객체의 자료형 타입까지 사용가능하여 RDBMS의 데이터구조와 객체지향 모델사이의 간격을 좁힐 수 있다.

단점

  • ORM이 모든걸 해결해 줄 수 없다. (결국 SQL도 쓸줄 알아야됨)
    -> 프로젝트 복잡성이 커질수록 난이도가 올라가고 부족한 설계로 잘못 구현되었을 경우 속도저하 및 일관성을 무너뜨린다.
    -> 대형SQL문은 속도를 위해 별도의 튜닝이 필요하기 때문에 결국 SQL문을 써야할수도 있다.

  • 복잡한 쿼리문의경우 SQL문이 더 직관적이면서 효율적일 수 있다.

profile
개구리

0개의 댓글