본문 바로가기
Python

[파이썬웹개발] 장고에 딱 붙고 착 붙는 데이터베이스는 무엇일까?

by 돈민찌 2022. 3. 1.
반응형
 

Do Not Re-Invent the Wheel!

Do Not Reinvent The Wheel! 바퀴를 재발명하지 말라! 라는 격언은 프로그래머에게 익숙한 말 중 하나입니다. 이미 발명되어 있는 바퀴를 두고 먼 길을 돌아가지 말라는 것입니다. Django는 이러한 철학에 따라 만들어진 파이썬의 중요한 웹프레임워크 중 하나입니다. Fast API나 Flask 같은 대체제 역시 인기지만 파이썬의 거의 유일한 웹프레임워크 같은 느낌을 주는데요. 오늘은 이 Django에 대한 개략적인 지식과, 백엔드 프레임워크로써 어떤 데이터베이스와 잘 맞는지 확인해보는 시간을 가지겠습니다.

최고의 속도: Django는 개발자가 웹사이트를 만들 때 기본적으로 구현하는 대부분의 기능들을 "이미" 구현해놓은 정답지입니다. 비밀번호 유효성 체크와 같은, 개발하려면 시간이 들지만 티가 잘 안나는 회원가입/로그인 기능부터 잘 구현되어 있고, SQL인젝션이나 Scripting, CSRF 공격 등 보안에도 충분한 대책이 세워져 있습니다. 

확장성: Django는 Python의 웹프레임워크이기 때문에, 파이썬의 수많은 라이브러리들과 호환됩니다. 컨텐츠 관리 시스템부터 소셜 네트워크 뿐만 아니라 머신러닝 등의 라이브러리들을 같은 언어로 사용할 수 있는 큰 장점이 있습니다.

관리자 페이지: 한국에서 스프링의 입지가 굳건하지만, 여전히 Django가 유효할 수 있는 이유 중에 하나인 것 같습니다. Django는 강력한 관리자 페이지를 제공해, 개발자의 업무가 끝난 후 비개발자들도 충분히 내부 컨텐츠를 관리할 수 있는 툴이 제공되어 있고, 여기서 관리자들은 권한 설정 및 회원 가입 및 탈퇴 처리, 게시물 관리 등의 업무를 간단하게 처리할 수 있습니다.

PostgreSQL이란 무엇입니까?

PostgreSQL은 ANSI 표준의 SQL 언어 및 확장 기능을 제공하는 강력한 오픈 소스 RDBMS(객체 관계형 데이터베이스 시스템)입니다. PostgreSQL은 입증된 아키텍처, 안정성, 데이터 무결성, 강력한 기능 세트, 확장성 및 성능과 혁신적인 솔루션을 지속적으로 제공하는 오픈소스 생태계로 강력한 명성을 얻고 있습니다. PostgreSQL은 모든 운영 체제에서 실행되며 2001년부터 ACID 를 준수했습니다. PostgreSQL을 배우려면 사용하기 쉽기 때문에 많은 교육이 필요하지 않습니다.

Oracle 등의 유료 데이터베이스에 비해 훨씬 저렴합니다. 독립 개발자에서 다국적 기업에 이르기까지 많은 사람들과 기업이 PostgreSQL을 사용하기 때문에 다른 관계형 데이터베이스에 비해 많은 자료와 개발자들이 있습니다.

PostgreSQL은 매번 훌륭한 기능이 포함된 업데이트를 자주 릴리스합니다. 예를 들어, PostgreSQL 9.4 릴리스에서는 JSON 저장 기능을 향상시키기 위해 JSONB 유형이 추가되었고, PostgreSQL 9.6 릴리스에는 구문검색 기능이 추가되었습니다 . PostgreSQL은 세계에서 가장 인기 있는 데이터베이스는 아니지만 가장 빠르게 성장하는 데이터베이스 관리 시스템으로 2017-2018 2년 동안 올해의 데이터베이스상 을 수상했습니다.

PostgreSQL의 몇 가지 주요 기능: 

  • 사용자 정의 데이터 타입
  • 테이블 상속
  • 외래 키 참조 무결성
  • 보기, 규칙
  • 트리거
  • 스트리밍 복제
  • 상시 대기
  • 중첩 트랜잭션
  • 테이블 스페이스
  • 특정 시점 복구(PITR) 
  • SQL(관계형) 및 JSON(비관계형) 쿼리 지원
  • ANSI SQL 표준 준수

Django와 함께 PostgreSQL을 사용할 때의 이점

Django는 PostgreSQL에서만 작동하는 다양한 데이터 유형을 제공합니다. MySQL 등의 다른 데이터베이스를 사용한다면 이러한 기능에 접근해도 아무런 영향이 없습니다. (ORM search 기능 등) 지도 애플리케이션을 구축하거나 지리 데이터(위도, 경도 좌표)를 저장하는 경우 Django는 PostgreSQL에만 완벽하게 호환됩니다.PostgreSQL은 Django에서 지원하는 가장 풍부한 기능 세트를 가지고 있습니다.

반응형

댓글