Database ORM?

정종화·2021년 11월 29일
0

데이터베이스 ORM이 뭐야?

  • Object Relational Mapping의 약자이다.
  • 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다. (객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다. 그러므로 객체 모델과 관계형 모델 간에 불일치가 존재한다. ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 이러한 불일치를 해결한다.)
  • ORM을 이용하면 따로 SQL문을 짤 필요없이 객체를 통해 간접적으로 데이터베이스를 조작할 수 있게 된다.

데이터베이스 ORM을 왜써?

  • SQL Query가 아닌 직관적인 코드로 데이터를 조작할 수 있게 되어 개발자가 객체-모델로 프로그래밍하는 데 집중할 수 있도록 도와준다.
  • 각종 객체에 대한 코드를 별도로 작성하기 때문에 코드의 가독성을 올려준다. (무엇을 요구하는지가 명확하게 한 눈에 보인다)
  • 특정 DB에 구애받지 않게 된다. (관계형데이터베이스이던 그렇지 않던 상관 없다)
  • 재사용, 유지보수, 리팩토링이 용이해진다.

데이터베이스 ORM의 단점은 없어?

  • 사용하기는 편하지만 설계는 매우 신중하게 해야한다.
  • 완벽한 ORM으로만 서비스를 구현하기가 어렵다.
  • 프로젝트의 복잡성이 커질경우 난이도 또한 올라갈 수 있어 잘못 구현된 경우 속도 저하 및 심각한 경우 일관성이 무너지는 문제점이 생길 수도 있다.
  • SQL을 배우듯 각 플랫폼별 ORM 문법을 새롭게 배워야 한다.
profile
Hello?

0개의 댓글