SQL을 이해하고 사용하는 Django ORM
카테고리: 웹 서비스 (Web Service)
난이도: 중급
발표 시간: 30분
언어: 한국어
설명
대부분의 웹 개발자들은 직접 SQL을 작성하기 보다 SQLAlchemy, Django ORM과 같은 ORM을 활용하여 데이터의 영속성을 관리합니다.
ORM은 객체(Object)와 관계형 데이터베이스(Relational Database)를 연결해 줍니다.
ORM을 이용하면 개발자가 SQL을 적지 않고도 프로그래밍 언어로 DML을 수행할 수 있습니다.
객체지향적인 코드를 통해 데이터를 다루기 때문에 코드 가독성이 높아지고, 생산성이 향상됩니다.
또 추상화를 통해 데이터베이스와 코드베이스를 느슨하게 연결하기 때문에 인프라 변경에 유연하게 대처할 수 있습니다.
그 밖에도 ORM은 lazy-loading과 caching 같은 부가적인 기능을 제공하여 불필요한 쿼리를 줄여주기도 합니다.
하지만 ORM에 장점만 있는 것은 아닙니다.
쿼리 하는 데이터가 복잡할수록 ORM이 불편한 경우가 있습니다.
ORM의 한계로 인해 SQL의 모든 기능을 활용하지 못하기 때문입니다.
동작 원리를 제대로 이해하지 못하고 사용하는 ORM은 매우 비효율적인 쿼리를 만들어냅니다.
따라서 SQL의 특성을 이해하고 올바르게 쿼리 할 수 있도록 ORM의 동작 원리를 아는 것이 매우 중요합니다.
SQL의 특성을 이해하여 Django ORM을 제대로 사용할 수 있는 방법에 대해서 알아봅시다.발표자 소개
신동현
Python 기반의 웹 프레임워크를 주로 사용하는 백엔드 개발자입니다.
기술을 통해 세상에 더 나은 가치를 제공하는 사람이 되기 위해 노력합니다.
소프트웨어 디자인과 시스템 아키텍쳐에 관심이 많습니다.
기술 블로그(qu3vipon.com)를 운영 중입니다.