본문 바로가기

데이터 분석/Postgre SQL - 정리하자

Postgre SQL 나홀로 스터디 시작

반응형

데이터분석 관련하여 학원도 다니고 온라인 수강, 유튜브, 브런치, 블로그 등을 보며 공부중에 있다.

데이터는 아무래도 Database 기반의 정보들을 불러와서 무언가를 하는 작업이 많다보니 SQL이 생각났고, 오픈 소스 DB 엔진이 뭐가 있는지 뭐가 제일 많이 쓰이는지를 확인해보니 PostgreSQL이 순위권에 있었다.
(link : https://db-engines.com/en/ranking)

DB 엔진 랭크

 

PostgreSQL의 특성과 장단점

PostgreSQL은 그 특성과 기능으로 인해 많은 개발자와 기업에서 사랑받고 있는 DBMS라고 한다.
그렇다면 PostgreSQL의 특성과 장단점은 무엇인지 확인해보자.

PostgreSQL의 주요 특성

  1. 오픈 소스: PostgreSQL은 오픈 소스 라이선스 하에 제공되며, 누구나 무료로 사용 가능하다. 이는 비용 절감뿐만 아니라, 커뮤니티의 활발한 참여와 지속적인 개선을 가능하게 한다.
  2. 표준 준수: PostgreSQL은 SQL 표준을 충실히 따르는 DBMS 중 하나이다. 이는 다른 DBMS와의 호환성을 높이고, 데이터베이스 이동성을 보장한다.
  3. 확장성: PostgreSQL은 다양한 확장 기능을 지원한다.사용자는 자신만의 데이터 타입, 함수, 연산자를 추가할 수 있으며, PL/pgSQL, PL/Tcl, PL/Perl, PL/Python 등 여러 프로그래밍 언어를 이용한 사용자 정의 함수(UDF)를 작성할 수 있다.
  4. ACID 준수: PostgreSQL은 트랜잭션의 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)을 보장하며, 이는 데이터 무결성을 유지하는 데 중요한 역할을 한다.
  5. 강력한 JSON 지원: PostgreSQL은 JSON 데이터를 네이티브로 지원하며, JSON 데이터를 위한 다양한 연산자와 함수들을 제공한다. 이를 통해 NoSQL 데이터베이스의 기능을 일부 흡수하고 있다.
  6. 지리정보 시스템(GIS) 기능: PostgreSQL은 PostGIS 확장을 통해 GIS 데이터를 효율적으로 처리할 수 있다. 이는 지리 정보와 관련된 응용 프로그램에서 매우 유용하다.

PostgreSQL의 장점

  1. 높은 안정성: PostgreSQL은 오랜 역사를 가지고 있으며, 그동안 다양한 환경에서 검증된 안정성을 자랑한다. 이는 중요한 데이터베이스 시스템으로서 신뢰할 수 있는 선택이 된다.
  2. 강력한 커뮤니티: PostgreSQL의 오픈 소스 특성상, 전 세계의 개발자 커뮤니티가 활발하게 참여하고 있으며, 이를 통해 다양한 문제에 대한 빠른 해결책과 풍부한 자료를 얻을 수 있다.
  3. 유연한 확장성: PostgreSQL은 다양한 확장 모듈을 지원하며, 사용자가 필요에 따라 시스템을 확장하고 맞춤화할 수 있는 유연성을 제공한다.
  4. 복잡한 쿼리 처리 능력: PostgreSQL은 복잡한 쿼리와 대용량 데이터를 효율적으로 처리할 수 있는 고급 기능들을 갖추고 있다. 이는 대규모 데이터베이스 시스템에서 특히 유용하다.

PostgreSQL의 단점

  1. 성능 튜닝의 복잡성: PostgreSQL은 강력한 기능을 제공하지만, 그만큼 성능 튜닝이 복잡할 수 있다. 효율적인 운영을 위해서는 깊이 있는 이해와 관리가 필요하다.
  2. 초기 학습 곡선: PostgreSQL의 다양한 기능과 확장성은 처음 사용하는 사용자에게는 다소 어려울 수 있으며, 충분한 학습과 경험이 필요하다.
  3. 메모리 사용량: PostgreSQL은 다양한 기능을 지원하기 때문에 상대적으로 메모리 사용량이 많을 수 있다. 이는 리소스가 제한된 환경에서는 단점으로 작용할 수 있다.

결론

PostgreSQL은 높은 안정성과 유연한 확장성, 그리고 강력한 커뮤니티 지원을 바탕으로 많은 개발자와 기업에서 선호하는 DBMS다. 하지만 성능 튜닝의 복잡성과 초기 학습 곡선 등 몇 가지 단점도 고려해야 한다. 이러한 장단점을 이해하고, 자신의 프로젝트와 환경에 맞는 최적의 DBMS를 선택하는 것이 중요하다.

위 내용들을 가지고 공부하고자 하는 결심을 하게 되었고, 마침 할인중인 '모두를 위한 SQL/DB' 라는 패스트캠퍼트 온라인 과정이 있길래 등록을 했다.

그래서 혼자 공부해보며 이 카테고리에 글을 정리를 해봐야겠다.

반응형