오늘은 ORM에 대해서 알아보고자 한다.
ORM
ORM은 객체를 연결해준다는 의미로 어플리케이션과 데이터베이스 연결 시 SQL언어가 아닌 어플리케이션 개발 언어로 데이터 베이스에 접근 할 수 있게 해주는 툴을 의미한다.
ORM은 SQL문법 대신 어플리케이션 개발언어를 그대로 사용함으로써, 개발 언어의 일관성과 가동성을 높여준다는 장점을 가지고 있다.
아래는 Django에서 사용하는 ORM과 실제 SQL질의문을 나타낸 예이다.
>>> queryset = Event.objects.all()
>>> str(queryset.query)
SELECT "events_event"."id", "events_event"."epic_id",
"events_event"."details", "events_event"."years_ago"
FROM "events_event"
ORM의 장단점
ORM은 여러 장단점을 가지고 있다.
장점
- 객체 지향적인 코드로 인해 더 직관적으로 비즈니스 로직에 집중할 수 있다.
- 재사용 및 유지보수의 편리성
- DBMS에 대한 종속성이 줄어든다.
단점
- 완벽한 ORM으로 서비스를 구현하기는 어렵다.
- 프로시저가 많은 시스템에서는 ORM의 객체 지향적인 장점을 활용하기가 어렵다.
'Computer Theory > Web' 카테고리의 다른 글
API에 대하여 (0) | 2023.12.12 |
---|---|
Transaction과 ACID (0) | 2023.12.09 |
RDB와 NOSQL DB (0) | 2023.12.09 |
브라우저 작동 방식 (0) | 2023.12.09 |
HTTP 와 HTTP Request/Response 구조 (0) | 2023.12.09 |