Django ORM 조금 더 깊게 살펴보기
- Web Service
- Difficulty Intermediate
- 2018-08-18 (토요일) 15:50 - 16:30
- 한국어
- 202
- Photography and recording is allowed
Slide
https://www.slideshare.net/iandmyhand/pycon-kr-2018-effective-tips-for-django-orm-in-practice-110522221
Video
https://www.youtube.com/watch?v=lhMrT_AMzGU
Description
ORM(Object-Relational Mapping)은 애플리케이션과 데이터베이스 간의 데이터 처리를 추상화하여 다룰 수 있는 편리한 방법입니다. RDBMS를 활용해야하는 서비스를 Python으로 구축하고자 한다면, 강력한 ORM을 제공하는 Django를 떠올릴 수 밖에 없습니다.
그러나 SQL이라는 전혀 다른 언어로 표현되던 것들을 Python에서 추상화된 객체와 조금 더 편리한 표현식으로 전환하려다보니 실무에서 쓰이는 다양한 SQL 테크닉을 표현하기 쉽지 않다는 문제가 있습니다. 더불어서 쿼리를 직접 보며 작성했다면 발생하지 않았을 성능관련 문제가 발생하기도 쉽습니다.
본 발표에서는 실무에서 맞닥뜨렸던 다양한 문제들을 Django의 ORM을 최대한 활용하여 해결했던 방법들을 공유합니다. 예를 들어 Django ORM에서 제공하지 않는 custom function을 활용하는 방법, transaction을 정확히 다루는 방법, ORM을 써보려는 개발자들을 괴롭히는 다양한 group by 절 사용방법, 간단한 Performance Tuning 등을 다룹니다.