ORM에 관해서
ORM은 쉽게 생각해서 sql문을 대신해 우리가 사용하는 프로그래밍 언어를 통해 데이터베이스와 소통하는것이다.
우리는 DB와 소통할때 sql문을 자주 사용한다. 하지만, 웹사이트를 만든다고 생각해보자 그러면 우리는 파이썬, 자바 나 C등 다른 프로그래밍 언어를 사용할 것이다. 이 언어들과 sql문을 따로 사용한다면 상당히 복잡해진다. 그래서 만들어진게 각각의 언어들을 그대로 사용해 데이터베이스와 소통할 수 있는 orm이다. 하지만 장점만 있는것은 아닙니다. 지금부터 orm에 대해 자세히 알아봅시다.
ORM이란?
ORM(Object Relational Mapping)은 Object(객체)와 Relational(관계)즉 관계형 데이터베이스 와의 매핑(연결)을 의미하는것입니다.
ORM의 장단점
장점
-비즈니스 로직에 조금더 집중할 수 있게 해준다.
객체지향적코드 작성으로 가독성과 로직에 집중할 수 있게 해준다.
-코드이 재사용 및 유지보수가 쉬워진다.
-DB에 종속적이지 않다.
단점
-초기에 설계를 잘 해놓지 않으면 무너진다.
-성능 저하가 있을 수 있다.
-규모가 크면 사용하기 힘들다
모든 기술이 그렇듯이 잘 알고 써야 정말로 유용하게 그 기술의 힘을 받을 수 있는것 같다.
각자 상황에 맞게 잘 알아보고 쓴다면 orm은 정말 데이터베이스와의 연결을 쉽게 해주는것 같다.
Object Relational Mapper
Object Relational Mapping을 실현 가능하게 해주는 Object Relational Mapper 라이브러리에는 다양한 종류가 있다. 각 언어마다 자주 사용되는 Object Relational Mapper들이 있다.
우선 필자가 자주 사용하는 파이썬의 경우에는 SQLAlchemy를 자주 사용하고, 또 자바의 경우에는 MyBatis와 요즘 대세인 JPA등이 있다. 각 언어마다 다양한 라이브러리들이 있으니 잘 알아보고 상황에 맞게 사용하면 될것이다.