벡엔드 개발 공부

ORM에 관해서

Daon(다온) 2021. 7. 25. 17:29

ORM은 쉽게 생각해서 sql문을 대신해 우리가 사용하는 프로그래밍 언어를 통해 데이터베이스와 소통하는것이다. 

우리는 DB와 소통할때 sql문을 자주 사용한다. 하지만, 웹사이트를 만든다고 생각해보자 그러면 우리는 파이썬, 자바 나 C등 다른 프로그래밍 언어를 사용할 것이다. 이 언어들과 sql문을 따로 사용한다면 상당히 복잡해진다. 그래서 만들어진게 각각의 언어들을 그대로 사용해 데이터베이스와 소통할 수 있는 orm이다. 하지만 장점만 있는것은 아닙니다. 지금부터 orm에 대해 자세히 알아봅시다. 

 

ORM이란?

ORM(Object Relational Mapping)은 Object(객체)와 Relational(관계)즉 관계형 데이터베이스 와의 매핑(연결)을 의미하는것입니다.

https://www.yaplex.com/blog/micro-orm-vs-orm

ORM의 장단점

장점

-비즈니스 로직에 조금더 집중할 수 있게 해준다.

객체지향적코드 작성으로 가독성과 로직에 집중할 수 있게 해준다.

-코드이 재사용 및 유지보수가 쉬워진다.

-DB에 종속적이지 않다.

 

 

단점

-초기에 설계를 잘 해놓지 않으면 무너진다.

-성능 저하가 있을 수 있다.

-규모가 크면 사용하기 힘들다

 

모든 기술이 그렇듯이 잘 알고 써야 정말로 유용하게 그 기술의 힘을 받을 수 있는것 같다.

각자 상황에 맞게 잘 알아보고 쓴다면 orm은 정말 데이터베이스와의 연결을 쉽게 해주는것 같다. 

 

Object Relational Mapper

Object Relational Mapping을 실현 가능하게 해주는 Object Relational Mapper 라이브러리에는 다양한 종류가 있다. 각 언어마다 자주 사용되는 Object Relational Mapper들이 있다.

우선 필자가 자주 사용하는 파이썬의 경우에는 SQLAlchemy를 자주 사용하고, 또 자바의 경우에는 MyBatis와 요즘 대세인 JPA등이 있다. 각 언어마다 다양한 라이브러리들이 있으니 잘 알아보고 상황에 맞게 사용하면 될것이다.