Python의 데이터베이스 연동방법(SQL,ORM,쿼리 빌더) 비교

Python과 같은 모던(modern) 프로그래밍 언어에서는 데이터베이스 내 데이터를 검색하고 연산을 수행하고 저장하는 작업들을 수행하는 다양한 방법을 제공하는데요, 관련 기사 공유합니다.😃


<Python - 데이터베이스로 작업하는 3가지 방법(SQL, ORM, 쿼리 빌더)>

Python에서는 데이터베이스 연동방법을 위한 여러가지 방법을 제공합니다. 대표적인 방법으로 SQL, ORM 그리고 쿼리 빌더를 들 수 있는데요, 각 방법별로 장단점 알아봅시다.


Raw SQL

  • 장점

    • 사용하기 쉽습니다.

    • SQL 언어의 모든 기능을 사용할 수 있습니다.


  • 단점

    • 데이터베이스별 SQL dialect에 따라 다를 수 있습니다.

    • 대규모 애플리케이션에서 확장성 및 가독성 문제가 발생합니다. 대규모 애플리케이션에서 작업할 때는 여러 개의 SQL 스크립트를 처리하는 것이 복잡할 수 있습니다. 즉, 확장 가능하고 읽기 쉬운 코드를 개발하기 위한 최적의 접근 방식이 아닐 수도 있습니다.


ORM (Object Relational Mapping)

ORM(객체 관계형 매핑)은 시간이 지남에 따라 많은 애플리케이션에서 널리 사용되고 있는 기술입니다. 클래스와 객체를 사용해 테이블을 표현하고, 이러한 클래스를 사용해 레코드로 작업할 수 있습니다. 기본적으로 데이터베이스 테이블을 Python 클래스로 변환한 다음 이 언어에서 사용하는 것을 의미합니다.

Python에서 ORM을 위한 가장 널리 사용되는 프레임워크는 SQLAlchemy입니다.


  • 장점

    • 가독성, 보안, 텍스트 SQL 쿼리가 없으므로 확장 및 새로운 기능 추가가 용이합니다.

    • 모든 데이터베이스에 대해 하나씩 제공됩니다.

    • 코드가 더 길고 복잡해 보일 수 있지만, 보시다시피 전적으로 Python으로 작성되었으며(SQL 문 없이) 유연한 클래스를 사용합니다.


  • 단점

    • 추가 학습, 구현에 더 많은 노력 필요합니다.

    • 기능이 제한될 수 있습니다.

    • ORM마다 엄격한 스키마 및 attitude가 다를 수 있습니다.


SQL 쿼리 빌더(Query Builder)

Python에서 쿼리 빌더를 사용하는 것은 원시 문과 ORM의 중간 옵션입니다. 각 테이블에 대한 스키마를 정의할 필요 없이 테이블 이름만 사용하면 됩니다.

쿼리 빌더에는 따라야 하는 특정 구문이 있습니다. 그 목적은 Python 코드를 SQL 문으로 변환한 다음 데이터베이스로 전송하는 것입니다.


  • 장점: 각 테이블에 대한 클래스(모델)를 결정하지 않고 여전히 Python 코드만 사용하며, 가독성 및 기타 장점을 유지하면서 ORM보다 구현하기 쉽습니다.


  • 단점: 각 라이브러리에 대한 특정 구문, 일부 SQL 기능이 여전히 누락될 수 있습니다.


원본 기사 링크는 아래와 같습니다. 감사합니다.🙏

[Source Link] https://blog.stackademic.com/python-3-ways-to-work-with-databases-sql-orm-query-builder-e2a2d3cbe437


Python - 3 Ways to Work with Databases (SQL, ORM, Query Builder)

Medium

Python - 3 Ways to Work with Databases (SQL, ORM, Query Builder)

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 3월 30일 오전 6:22

댓글 0

    함께 읽은 게시물

    인간을 뛰어넘는 진정한 초지능이 출현하는 순간은, 수학 7대 난제를 풀어내는 때가 아니라, 인간이 아직 발견하지 못했던 새로운 난제를 발견하는 순간일 것이다.


    유튜브가 대세이다. 포탈 사이트에서 검색하던 사람들이 이제는 유튜브에서 먼저 검색하며, 한 해 수입이 수십 억에 달하는 유튜버들도 많다고 한다. 이런 분위기에 영향을 받아 필자도 콘텐츠 개발과 홍보 차원에서 유튜브를 본격적으로 시작했다.

    ... 더 보기

    재능보다 중요한 세가지 능력

    n.news.naver.com

    재능보다 중요한 세가지 능력

    Amazon CEO가 얘기하는 성공적인 커리어를 위한 최고의 팁 5가지


    ... 더 보기

    Amazon CEO Andy Jassy shares his top tips for a successful career: ‘Don’t be afraid to fail’

    www.aboutamazon.com

    Amazon CEO Andy Jassy shares his top tips for a successful career: ‘Don’t be afraid to fail’

     • 

    저장 7 • 조회 793


    회사 도서관이 사옥 1층으로 자리를 옮겼다.

    ... 더 보기

    내가 번 돈, '00'에 쓰세요! 현재의 삶이 달라져요

    ... 더 보기

    스타트업 업계에서는 한동안 ‘당신의 아이디어는 이미 다른 누군가도 가지고 있다’,
    ‘광범위하게 리서치하고 송곳처럼 개발하라’는 말이 정석처럼 받아들여졌어요. '린스타트업'이라 불리는 방법론의 일환으로요.

    ... 더 보기

    린스타트업, 애자일 모델, MVP의 시대는 끝났을까

    린스타트업, 애자일 모델, MVP의 시대는 끝났을까

    린스타트업, 애자일 모델, MVP의 시대는 끝났을까

     • 

    저장 5 • 조회 981