728x90
320x100
ORM이란?
ORM(Object-Relational Mapping)은 객체 지향 프로그래밍 언어(OOP 언어, Java/C#등)와 관계형 데이터베이스 간의 데이터 변환을 자동으로 처리하는 기술
ORM을 사용하면 SQL 쿼리 대신 직관적인 코드로 데이터를 조작할 수 있다.
ORM은 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성하여 객체 모델과 관계형 데이터베이스 간의 불일치를 해결하고, 이를 통해 개발자는 데이터베이스를 간접적으로 조작할 수 있다.
ORM의 장/단점
장점
- 생산성 향상: SQL 쿼리 작성을 자동화해 개발 시간을 단축시킬 수 있다.
- 유지보수성 향상: 객체 지향적인 코드로 데이터베이스를 관리하므로 유지보수가 용이하다.
- 데이터베이스 독립성: 데이터베이스 종류에 상관없이 동일한 코드로 작동
- 객체 지향적 접근: 객체 지향 프로그래밍 패러다임을 데이터베이스에 적용
단점
- 복잡한 쿼리 실행 시 성능 저하: 복잡한 쿼리의 경우 ORM이 자동으로 생성한 SQL 쿼리의 성능이 저하될 수 있다.
- N+1 문제: 연관된 데이터를 가져올 때 N+1 쿼리 문제가 발생할 수 있다.
ORM의 대표적인 구현체
- JPA(Java Persistence API): Java 진영의 표준 ORM 기술
- Hibernate: JPA 구현체 중 가장 널리 사용되는 ORM 프레임워크
- MyBatis: SQL 중심의 퍼시스턴스 프레임워크로, ORM과 유사한 기능 제공
- Sequelize: Node.js용 ORM 프레임워크
300x250
반응형
GitHub 댓글