ORM 이란?

Wonbin Lee·2022년 4월 3일
0

Database

목록 보기
1/4

ORM

객체 관계 매핑(Object-relational mapping; ORM)은 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이다. 객체 지향 언어에서 사용할 수 있는 "가상" 객체 데이터베이스를 구축하는 방법이다.
객체 관계 매핑을 가능하게 하는 상용 또는 무료 소프트웨어 패키지들이 있고, 경우에 따라서는 독자적으로 개발하기도한다.

객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다. 객체 모델과 관계형 모델 간에 불일치가 존재하기 때문에, ORM을 통해 객체간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다.


ORM의 장단점

장점

  • ORM을 이용하면 SQL Query가 아닌 직관적인 코드로 데이터를 조작할 수 있어 객체 모델로 프로그래밍하는 데 집중할 수 있도록 도와준다.

  • SQL의 절차적이고 순차적인 접근이 아닌 객체 지향적인 접근으로 인해 생산성이 증가한다.

  • ORM은 독립적으로 작성되어 있다. 따라서 모델에서 가공된 데이터를 컨트롤러에 의해 뷰와 합쳐지는 형태로 디자인 패턴을 견고하게 다지는데 유리하다.

  • DBMS에 대한 종속성이 줄어든다.

단점

  • 설계를 매우 신중히 해야하며, 프로젝트의 복잡성이 커질경우 난이도 또한 올라 갈 수 있다.

  • 잘못 구현된 경우에 속도 저하 및 심각할 경우 일관성이 무너지는 문제점이 생길 수 있다.

profile
Developer who level up every day ✌️

0개의 댓글