본문 바로가기
Database

SQL Mapper vs ORM 기술

by Jammini 2024. 6. 19.
728x90

SQL Mapper vs ORM 기술

목차

  1. 개요
  2. SQL Mapper
  3. ORM (Object-Relational Mapping)
  4. 결론

1. 개요

SQL Mapper와 ORM(객체 관계 매핑, Object-Relational Mapping) 기술은 데이터베이스와 객체지향 프로그래밍을 연결하는 두 가지 주요 접근 방식입니다. 각각의 특징, 장단점 및 사용 사례를 살펴보려고 한다.

2. SQL Mapper

SQL Mapper는 SQL 쿼리를 사용하여 객체와 데이터베이스 간의 매핑을 처리하는 도구이다.

image

특징

  1. 직접적인 SQL 제어: 개발자가 직접 SQL 쿼리를 작성하고 이를 통해 데이터베이스와 상호작용한다.
  2. 유연성: 복잡한 쿼리와 최적화된 SQL을 사용할 수 있어 성능 최적화에 유리하다.
  3. 매핑 파일: 객체와 SQL 간의 매핑을 정의하는 XML 또는 어노테이션 기반 설정 파일을 사용한다.

장점

  • SQL 직접 사용: SQL의 강력한 기능을 모두 활용할 수 있다.
  • 유연성: 복잡한 데이터베이스 구조와 관계를 쉽게 처리할 수 있다.

단점

  • 유지보수: SQL 쿼리와 매핑 파일을 별도로 관리해야 하므로 유지보수가 어려울 수 있다.
  • 코드 중복: 비슷한 쿼리를 여러 곳에서 사용하면 코드 중복이 발생할 수 있다.

대표 기술

  • 스프링 Jdbc Template
  • Mybatis

3. ORM (Object-Relational Mapping)

ORM은 객체와 데이터베이스 테이블 간의 매핑을 자동으로 처리해주는 도구이다.

image

특징

  1. 객체지향적 접근: 데이터베이스 테이블을 객체로 매핑하여 객체지향 프로그래밍과 자연스럽게 연결된다.
  2. 자동화: 기본적인 CRUD(Create, Read, Update, Delete) 작업을 자동으로 처리한다.
  3. 어노테이션: 객체 클래스에 어노테이션을 사용하여 매핑을 정의한다.

장점

  • 생산성: 기본적인 데이터베이스 작업을 자동화하여 개발 속도를 높일 수 있다.
  • 유지보수 용이: 객체와 테이블 간의 매핑이 명확하여 코드의 가독성과 유지보수가 용이하다.
  • 데이터베이스 독립성: 코드 변경 없이 다양한 데이터베이스를 사용할 수 있다.

단점

  • 성능: 복잡한 쿼리나 대량 데이터 처리에서 성능 저하가 발생할 수 있다.
  • 제한된 SQL 기능: ORM이 자동으로 생성하는 쿼리는 복잡한 SQL 기능을 충분히 활용하지 못할 수 있다.

대표 기술

  • 하이버네이트
  • 이클립스링크

4. 결론

이 두 가지 접근 방식은 각각의 장단점이 있으므로 프로젝트의 요구사항과 팀의 역량에 따라 적절한 방법을 선택하는 것이 중요하다. 많은 경우, 두 기술을 함께 사용하여 장점을 극대화하는 하이브리드 접근법을 취하기도 한다.

참고

반응형