ORM

박광수·2022년 4월 10일
0

ORM이란?

ORM(Object Relational Mapping) : OOP(객체지향 프로그래밍)에서 객체를 구현한 클래스와 RDB(관계형 데이터베이스)에서 테이블의 매핑을 뜻한다. 즉 객체를 통해 데이터베이스를 조작할 수 있게 하는 역할을 한다.

ORM의 장점

  • 재사용, 유지보수, 리팩토링이 용이함 - 객체지향프로그래밍의 장점과 같다.
  • DBMS의 종류에 대한 종속성이 적다. (다시말해 DBMS를 변경해도 리팩토링이 덜 어렵다)

ORM의 단점

  • 직접 SQL문을 작성하는 것보다 상대적으로 복잡할 수가 있고 프로젝트의 복잡성이 높아질 경우 난이도가 그 만큼 올라간다.
    모든 것을 ORM을 통해서만 구현하는 것은 힘들다. 잘못 구현된 경우에 속도 저하 및 심각할 경우 일관성이 무너지는 문제점이 생길 수도 있다.
  • 기존의 기업들은 ORM을 고려하지 않은 DB를 사용하고 있어 ORM에 적합하게 변환하려면 많은 시간과 노력이 필요로 한다.
  • DB와 바로 연결하는 것보다 초기설정이 더 많아지거나 복잡해 질 수있다.
  • DB와 ORM 프레임워크, 내부코드에 대한 충분한 이해가 없는 경우 문제 해결이 힘들다.
  • DB에 직접 Query문을 보내는 것이 아니기 때문에 성능저하가 발생한다.
profile
박광수입니다.

0개의 댓글