Skip to content

Latest commit

 

History

History
41 lines (25 loc) · 3.27 KB

PostgreSQL.md

File metadata and controls

41 lines (25 loc) · 3.27 KB

PostgreSQL(포스트그레스큐엘)은 객체-관계형 데이터베이스 시스템(ORDBMS)이다. 테이블 상속, 함수 오버로딩 등의 기능을 갖추고있으며 복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있도록 한다.

PostgreSQL은 현재 세계에서 가장 많이 쓰이는 DBMS 중 하나이다. 다양한 프로그래밍 언어 및 어플리케이션을 지원하여 여러 DBMS 중에서도 특히 개발자들이 선호해 충성도가 높은 편이고, 오픈소스 커뮤니티 또한 상당히 활성화되어 있다. 전 세계에서 개최되는 컨퍼런스나 세미나도 꾸준한 편이다.

PostgreSQL은 이러한 장점들을 가지고 있다.

1. 최다 SQL 기능 지원

가장 오랜 기간 개발을 거친 PostgreSQL은 관계형 DB 중에서 최다 SQL을 지원한다.

2. 최다 SQL 표준 지원

SQL : 2016 또는 ISO/IEC 9075:2016은 SQL 데이터베이스 쿼리 언어에 대한 ISO 및 ANSI 표준의 8번째 개정판으로 2016년 12월에 공식적으로 채택되었는데, PostgreSQL은 전체의 179 항목 중 170 항목인 약 95%의 SQL 표준을 지원한다.

3. 풍부한 데이터 유형 지원

일부 NoSQL을 포함한 다양한 데이터 유형을 지원한다.

  • Key-Value, XML
  • JSON, JSONB
  • Columnar Store
  • Graph

4. 대량 데이터 처리

PostgreSQL은 다음과 같은 기능덕에 대량 데이터 처리가 가능하다.

  • Table Partitioning
  • Parallel query & multiple processes
  • analytic & aggregate functions
  • indexing & JOIN

PostgreSQL의 성능?

MySQL과 PostgreSQL은 모두 현재 제공되고 있는 DBMS 중 가장 빠른 시스템으로 잘 알려져 있다. 그러나 둘 중 어느 것이 더 빠른가에 대한 대답은 명확하지 않다. 각 DB의 성능은 주로 어떤 트랜잭션을 사용하는지, 어떤 유형의 쿼리가 많이 발생되는지에 따라 달라질 수 있다. TechTarget에서 Scott Noves가 설명한 바에 따르면,

하드웨어, 구성 등의 환경이 일정하다면 따라 어느 한 데이터베이스를 다른 데이터베이스보다 좋다라고 할 만한 기준은 쉽게 찾을 수 있다. 한 데이터베이스는 메모리가 거의 없는 싱글 코어 프로세서에서 더 나은 성능을 발휘하는 반면, 다른 데이터베이스는 멀티 코어 프로세서로 확장되는 이점을 더 잘 활용할 수 있다. 한 쪽은 읽기에 우수하고 다른 하나는 쓰기에 유리하다.

TechTarget에 따르면, 속력 테스트에서 상반되는 결과가 도출된다. 예를 들어 Windows Skills에서는 MySQL이 속도가 더 빠르다고 하고 Benchw는 PostgreSQL이 더 빠르다. 즉, 속도는 데이터베이스를 사용하는 방식에 따라 달라진다.

현재로서 PostgreSQL은 대량의 데이터 집합, 복잡한 쿼리, 읽기-쓰기 작업을 처리할 때 더 빠른 것으로 알려져 있고, 그에 반해 MySQL은 읽기 전용 명령을 사용할때 더 빠르다고 알려져 있다.

복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 기능이 풍부한 데이터베이스가 필요하다면 PostgreSQL를, 설치와 관리가 비교적 쉽고, 빠르고, 안정적이며, 레퍼런스가 많은 간단한 데이터베이스가 필요하다면 MySQL을 사용할 수 있다.