공부기록

ORM 본문

CS/DB

ORM

코타쿠 2021. 5. 17. 11:14

ORM (Object Relational Mapping)

ORM은 객체지향 프로그래밍의 객체 (Object)와 관계형 데이터베이스 (RDBMS)의 데이터를 연결 (Mapping)하는 기술을 의미한다.

장점

  • ORM은 객체지향 프로그래밍에서 사용할 수 있는 가상의 객체지향 데이터베이스를 만들어 프로그래밍 코드와 데이터를 연결한다.
  • ORM으로 생성된 가상의 객체지향 데이터베이스는 프로그래밍 코드 또는 데이터베이스와 독립적이므로 재사용성 및 유지보수가 용이하다.
  • ORM은 SQL 코드를 직접 입력하지 않고 선언문이나 할당 같은 부수적인 코드가 생략되기에 직관적이고 단단하게 데이터를 조작할 수 있다.

단점

  • ORM은 프레임워크가 자동으로 SQL을 작성하기에 의도적으로 SQL이 작성되었는지 확인할 필요가 있다.
  • 객체지향적 사용을 고려하여 설계된 DB가 아닌 경우 프로젝트가 크고 복잡해질수록 ORM 기술을 적용하기가 어려워 진다.
  • 기본의 DB를 ORM에 맞게 migration하는 것은 많은 시간과 노력이 필요하다.

'CS > DB' 카테고리의 다른 글

동시성 제어  (0) 2021.05.26
트랜잭션 이론  (0) 2021.05.26
SQL DB VS NOSQL DB  (0) 2021.05.15
정규화  (1) 2021.05.01
개체-관계 데이터 모델링  (0) 2021.05.01