Computer Science/Database

[Database] ORM(Object-relational Mapping)이란?

ooeunz 2019. 12. 15. 17:07
반응형

ORM이란?

ORM(Object-relational Mapping)이란 OOP 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법으로 쉽게 말해 객체로 관계형 데이터베이스를 관리하는 기술이다. 대부분의 개발 언어 platform마다 제공되고 있으며, 대표적으로 spring에는 JPA가, node의 sequalize, 또 Django에는 orm이 내장되어있다.

 

 

기존 SQL 방식의 문제점

기존의 SQL로 데이터베이스를 관리하던 때의 문제점은 계속되는 반복되는 코드의 문제점이 있었고, SQL을 확인하기 전까지는 Entity를 신뢰할 수 없다는 불편함이 있었다. 또한 SQL의 의존적인 개발을 피할 수 없고, 계층 분할의 어려움이 있었다.

 

 

ORM을 사용 했을 때의 장점

객체 관계 매핑(Object-relational Mapping)이란 말에 어울리게 ORM을 사용하면 객체는 객체대로 설계하고, 관계형 데이터베이스는 데이터베이스대로 설계하고 중간에서 ORM 프레임워크가 중간에서 매핑을 해주어 서로 의존성을 배제할 수 있다. 이를 통해 생산성과 유지보수 성에서 높은 이득을 얻을 수 있다.

 

주의점

ORM은 편리한 기술임에 틀림없다. 한번 ORM을 사용하고 나면 다시는 SQL문을 작성하고 싶지 않아 질지도 모른다. 따라서 ORM을 사용하면 SQL과 데이터베이스에 알 필요가 없다고 생각할 수 있다. 하지만 ORM은 객체와 데이터베이스 위에 있는 기술로, 데이터베이스에 대한 깊은 이해가 없다면 오히려 독이 될 수 있다. 때문에 먼저 데이터베이스에 대한 학습을 우선시하는 것을 권고한다.

반응형