PostgreSQL
[image]
공식 홈페이지
The PostgreSQL Global Development Group에서 개발하는 오픈 소스 RDBMS. 1996년에 첫 출시되었다. 처음에는 BSD 라이선스였으나 언제부터인가 MIT 라이선스 비스무리한 독자적 라이선스[1] 를 따르기 시작했다. 발음은 '포스트그레스큐엘'이라고 한다.[2]
전 세계 사용률은 상위 3개의 DB(Oracle DB, MySQL, Microsoft SQL)에 이어 4위인데, 꾸준히 상승하고 있는 것이 특징이다. 비교적 사용률이 높은 국가는 북미와 일본. 북미에서는 MySQL과 반대로 꾸준히 구인률이 증가하고 있으며, 일본에서는 관공서에서 사용할 경우 상용은 오라클 데이터베이스, 무료는 PostgreSQL를 사용한다는 말이 있다. 특히 일본의 기성 세대 엔지니어들은 초기부터 PostgreSQL를 사용해오고 있으며 젊은 층 개발자들 역시 2009년에 썬 마이크로시스템즈를 오라클이 인수하면서 MySQL 소유권에 대한 이슈 때문에 PostgreSQL을 주로 사용한다.
MySQL에 비해서 SQL 표준을 더 잘 지원하고 기능이 더 강력하며[3] 쿼리가 복잡해질수록 성능이 더 잘 나오는 편이다.[4] 특히 PostGIS를 통한 Geospatial query는 오라클마저 씹어삼키는 강력함을 자랑하며, Citus 익스텐션을 이용하면 그동안 약점으로 지적돼왔던 병렬 인덱싱도 손쉽게 처리 가능하다.
여러 DBMS 중에서도 특히 개발자들이 선호하는 편이며 충성도가 높은 편이고 여러 나라에서 개최되는 컨퍼런스나 세미나도 꾸준한 편이다.
대신 기본적인 CRUD 성능이 MySQL 등 경쟁 DB에 비해 좋지 않은 편이다. 우버가 PostgreSQL을 메인으로 쓰다가 떨어지는 성능으로 인한 scalability 문제를 극복하지 못하고 MySQL로 전환하기도 했다.
최근 애플은 MySQL이 오라클에 넘어가면서 향후 일어날지도 모를 저작권 분쟁을 방지하기 위해 OS X Lion Server 버전에서는 MySQL을 퇴출시키고 PostgreSQL를 도입하였다. 양 DB간 Migration도 쉬운 편이다.
터미널 창에 'psql'을 입력하면 기본 슈퍼유저인 postgres로 접속하는 게 아니라 현재 로그인되어 있는 운영체제의 계정으로 접속을 시도하여 에러 메시지를 띄운다. 이 에러가 보기 싫다면 직접 postgres로 접속한 후 해당 계정명과 일치하는 데이터베이스 및 유저를 생성해 주면 된다.
PostgreSQL 기반으로 GraphQL 엔드포인트를 만들수 있는 hasura라는 기술이 등장했다. 서버 엔드포인트를 순식간에 만들 수 있다.
공식 홈페이지
1. 소개
The PostgreSQL Global Development Group에서 개발하는 오픈 소스 RDBMS. 1996년에 첫 출시되었다. 처음에는 BSD 라이선스였으나 언제부터인가 MIT 라이선스 비스무리한 독자적 라이선스[1] 를 따르기 시작했다. 발음은 '포스트그레스큐엘'이라고 한다.[2]
전 세계 사용률은 상위 3개의 DB(Oracle DB, MySQL, Microsoft SQL)에 이어 4위인데, 꾸준히 상승하고 있는 것이 특징이다. 비교적 사용률이 높은 국가는 북미와 일본. 북미에서는 MySQL과 반대로 꾸준히 구인률이 증가하고 있으며, 일본에서는 관공서에서 사용할 경우 상용은 오라클 데이터베이스, 무료는 PostgreSQL를 사용한다는 말이 있다. 특히 일본의 기성 세대 엔지니어들은 초기부터 PostgreSQL를 사용해오고 있으며 젊은 층 개발자들 역시 2009년에 썬 마이크로시스템즈를 오라클이 인수하면서 MySQL 소유권에 대한 이슈 때문에 PostgreSQL을 주로 사용한다.
MySQL에 비해서 SQL 표준을 더 잘 지원하고 기능이 더 강력하며[3] 쿼리가 복잡해질수록 성능이 더 잘 나오는 편이다.[4] 특히 PostGIS를 통한 Geospatial query는 오라클마저 씹어삼키는 강력함을 자랑하며, Citus 익스텐션을 이용하면 그동안 약점으로 지적돼왔던 병렬 인덱싱도 손쉽게 처리 가능하다.
여러 DBMS 중에서도 특히 개발자들이 선호하는 편이며 충성도가 높은 편이고 여러 나라에서 개최되는 컨퍼런스나 세미나도 꾸준한 편이다.
대신 기본적인 CRUD 성능이 MySQL 등 경쟁 DB에 비해 좋지 않은 편이다. 우버가 PostgreSQL을 메인으로 쓰다가 떨어지는 성능으로 인한 scalability 문제를 극복하지 못하고 MySQL로 전환하기도 했다.
최근 애플은 MySQL이 오라클에 넘어가면서 향후 일어날지도 모를 저작권 분쟁을 방지하기 위해 OS X Lion Server 버전에서는 MySQL을 퇴출시키고 PostgreSQL를 도입하였다. 양 DB간 Migration도 쉬운 편이다.
2. 현재 사용자들
- Yahoo!: 유저 사용형태 분석에 관한 자료를 저장하는 데 쓰이고 있다. 물론, 다루는 용량이 엄청나게 큰지라(2 페타바이트 정도라 한다) 많이 고쳐서 사용하고 있다고 하는 중.
- MySpace: 데이터 저장에 쓰이고 있다. Yahoo!처럼 마개조해서 사용하고 있지는 않다.
- OpenStreetMap
- Afilias: .org나 .info 도메인 저장에 쓰인다.
- Sony Online: 멀티플레이 게임용 데이터베이스로 쓰인다.
- BASF: 웹 쇼핑 데이터베이스 관리용으로 사용된다.
- hi5.com
- reddit.com
- Skype: 중앙 데이터베이스로 사용된다.
- Sun xVM
- MusicBrainz: 온라인 음악 백과사전 데이터 수록용으로 쓰인다.
- International Space Station: 그 우주 정거장 맞다. 천체 관측 자료를 저장하여 지상에서 분석할 때 사용한다.
- MyYearbook
- Heroku: 클라우드 서비스용 데이터베이스로 사용된다. 의외로 일본 회사가 아니다.
- ZOHO ManageEngine: OpManager, SDP 등의 MySQL을 신버전부터 PostgreSQL로 변경.
- KT: 공개SW 도입을 위한 시범 사업 추진 건으로 CentOS, JBoss EAP 등과 함께 도입되었다.
- Unity Asset Server : 유니티 엔진의 에셋 버전 관리 시스템의 데이터베이스에 사용한다.
- 인스타그램 참고
- 끄투의 데이터베이스로도 사용된다.
3. 기타
터미널 창에 'psql'을 입력하면 기본 슈퍼유저인 postgres로 접속하는 게 아니라 현재 로그인되어 있는 운영체제의 계정으로 접속을 시도하여 에러 메시지를 띄운다. 이 에러가 보기 싫다면 직접 postgres로 접속한 후 해당 계정명과 일치하는 데이터베이스 및 유저를 생성해 주면 된다.
PostgreSQL 기반으로 GraphQL 엔드포인트를 만들수 있는 hasura라는 기술이 등장했다. 서버 엔드포인트를 순식간에 만들 수 있다.