ORM이란 무엇인가요?
ORM(Object Relational Mapping)
객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해 주는 것을 말한다.
객체 지향 프로그래밍은 클래스(객체)를 사용하고, 관계형 데이터베이스에서는 테이블을 사용한다.
이때 객체 모델과 관계형 모델 간의 불일치가 존재한다.
ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결해준다.
ORM 장점
SQL을 직접 작성하지 않고 사용하는 언어로 데이터베이스에 접근할 수 있다.
객체지향적으로 코드를 작성할 수 있기 때문에 더 직관적이고, 비즈니스 로직에 더 집중할 수 있다.
재사용성 및 유지보수의 편리성이 증가한다.
매핑하는 정보가 명확하기 때문에 ERD에 대한 의존도를 낮출 수 있다.
DBMS에 대한 종속성이 줄어든다.
데이터베이스 시스템이 추상화 되어 있기 때문에 MySQL에서 PostgreSQL로 전환한다고 해도 추가로 드는 작업이 거의 없다.
ORM 단점
완벽한 ORM 으로만 서비스를 구현하기가 어렵다.
프로젝트의 복잡성이 커질수록 사용 난이도도 올라간다.
복잡하고 무거운 쿼리는 ORM으로 해결이 불가능한 경우가 있다.
참고
Last updated