ORM

최성원·2022년 2월 6일
0

WIL

목록 보기
6/8


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

ORM 장점

  • 객체지향적 코드를 통해 비즈니스 로직에 더욱 집중.
    • 개발자가 객체 모델만 이용하여 프로그래밍 할 수 있기 때문에 비즈니스 로직에 더 집중.
    • SQL쿼리문이 아닌 메서드를 통해 직관적인 코드로 데이터를 조작.
  • 재사용 및 유지보수 편리성이 증가
    • ORM은 객체로 작성되었기 때문에 재활용 가능.
    • 매핑하는 정보가 명확하기 때문에 ERD를 보는 의존도가 낮음.
    • ERD = 테이블간의 관계를 설명해주는 다이어그램.
  • DBMS 종속성 하락
    • ORM은 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성하여, DB에 비종속적.
    • 객체에만 집중할 수 있기 떄문에 DBMS를 교체하는 큰 작업에도 리스크가 적음.

ORM 단점

  • 프로젝트의 복잡성이 커질경우 난이도 또한 올라감.
  • 부족한 설계로 잘못 구현되었을 경우 속도 저하 및 일고나성을 무너트림.
  • 일부 자주 사용되는 대형 SQL문은 속도를 위해 별도의 튜닝(SQL문)이 필요.
profile
각성구

0개의 댓글