ORM은 편리함과 유연성을 제공하지만, 사용하는 상황에 따라 장단점이 있다.
장점
1. 코드 재사용과 유지보수 용이성.
ORM을 사용하면 객체를 데이터베이스 테이블에 매핑하기 때문에, 코드를 재활용하고 유지보수하기가 편해진다.
객체 지향적인 코드를 작성하면서 데이터베이스와의 상호작용을 추상화할 수 있어서 개발 생산성이 증가.
2. 객체 지향 프로그래밍(OOP)의 개념과 함께 사용해, 데이터베이스 작업을 객체 단위로 처리.
이로 인해 코드가 직관적이고 유연해지며, 복잡한 쿼리 작성이나 데이터 조작이 간편해지게 된다.
2. 데이터베이스 독립성.
ORM은 데이터베이스 종류에 상관없이 동일한 코드로 작업할 수 있게 해준다.
데이터베이스를 변경하더라도 코드 수정이 최소화되어 유용하다.
단점
1. 성능 문제
ORM은 편리하지만 가끔은 성능 문제가 발생할 수 있다.
특히 매우 복잡한 쿼리나 대량의 데이터 처리에서는 직접 SQL을 작성하는 것이 효율적일 수 있다.
2. 러닝 커브
ORM을 처음 사용하는 개발자에게는 학습할 시간이 필요한데, 이것은 어느 기술이나 마찬가지이므로
큰 단점이라고는 생각치 않는다. 하지만 ORM의 원리와 동작 방식을 이해하는 데 시간이 필요할 수 있어서
기술 지식이 부족한 기존 팀원들이 새로 도입할 때는 단점이라고 할 수 있겠다.
그래서 쓰거나 쓰지 말아야 하는 상황이 있을 수 있겠다.
정리
사용해도 좋은 상황을 보자면 프로젝트가 간단하거나
개발자가 객체 지향적인 코드 작성에 익숙한 경우, ORM을 사용하는 것이 효과적일 수 있다.
또한, 데이터베이스 종류 변경이나 유지보수가 자주 필요한 경우에도 유용하게 활용될 수 있다.
피하는 것이 좋은 상황은 프로젝트가 매우 크고 복잡하거나,
성능이 매우 중요한 경우에는 직접 SQL을 작성하는 것이 더 효율적일 수 있다.
ORM을 사용하면서 발생하는 성능 문제가 심각한 경우에는 고려해봐야 함.
결론은 ORM은 편리하고 생산성을 높일 수 있는 도구지만,
프로젝트의 특성과 상황에 맞게 적절히 선택하는 것이 중요.
'개발 > etc' 카테고리의 다른 글
[Jeus] 제우스 서버 사용시 jsp 컴파일 실패 경우 (0) | 2024.01.30 |
---|---|
[IDE] 이클립스 유용한 단축키 정리 (1) | 2024.01.29 |
[git] git status 에러코드 128 소스트리 에러 (0) | 2023.04.18 |
캐시란 무엇인가 (1) (0) | 2023.03.29 |
[JBoss] 배포 옵션 정리 (마커, CLI) (0) | 2022.11.10 |
댓글