본문
[2017.09.23] 01. 왜 ORM을 사용할까?
결론적으로 ORM을 사용하는 이유는 '개발자의 생산성을 위해' 이다.
나의 생각
예를 통해 살펴보자.
ORM이 없을 때, 개발자는 개발을 하며 DB에 접근하기 위해서는 SQL Query를 직접 만들었다. 문제점은
1) SQL 문법을 숙지해야한다는 점(당연히 숙지하는 것이 좋지만 SQL 문법때문에 개발이 지체되는 것은 문제라고 생각한다.)
2) 개발 코드와 DB가 서로 종속되게 된다
이다.
이러한 문제점을 해결하기 위해 ORM이 등장했다. ORM의 등장으로
1) SQL 문법에서 자유로워졌고
2) 개발 코드와 DB를 독립하므로 유지보수가 편리해져 객체지향의 의도에 부합하게 되었다.
※ 장점만 있는 것은 아니다. 세밀한 쿼리 튜닝은 ORM으로 해결 할 수 없다고 한다.
위키피디아
(출처 - https://en.wikipedia.org/wiki/Object-relational_mapping)
위키피디아에서 확인해 보면, 출현 배경은 객체지향 프로그래밍에서 객체를 데이터베이스에 저장하기 위해서는 Non-scalar를 scalar로 변환하는 과정이 필요(문제점 1)했다. 또한, 데이터베이스에 데이터를 꺼낼 때도 다시 변환하는 과정이 필요(문제점 2)했다. 이러한 과정을 개발자가 직접 처리하는 수고를 없애기 위해 ORM이 나왔다.
(Scalar VS Non-Scalar - http://heepie.tistory.com/91)
정리
객체지향 프로그래밍에서 데이터베이스를 관리 할 때 데이터베이스 언어(SQL)를 숙지하고 Query로 인한 코드 가속성 저하, 프로그램와 DB 관리를 독립하기 위함(내 생각)과 객체를 저장하는 문제(위키) ORM이 나오게되었다.
#ORM #왜 ORM #ORM 개념 #ORM 이유
'컴퓨터 > 질문: 개발' 카테고리의 다른 글
[2017.10.19] 15. 왜 Inner 클래스를 사용할까? (0) | 2017.10.19 |
---|---|
[2017.09.15] 01. 왜 Adapter를 사용할까? (0) | 2017.09.28 |
[2017.09.22] 14. 왜 Serializable를 사용할까? (0) | 2017.09.22 |
[2017.08.29] 13. 왜 제네릭을 사용할까? (0) | 2017.08.29 |
[2017.08.21] 12. 왜 Enum을 사용할까? (0) | 2017.08.21 |
댓글