블루베리소르베
[입문] 01. PostgreSQL이란? 본문
PostgreSQL이 주목 받기 까지
개발을 어느정도 접해본 사람들이라면 DBMS라는 개념에 대해서 알고있을 것이다.
Data Base Management System. 즉 데이터베이스를 관리하는 시스템인 DBMS는 주로 정보를 저장하고, 관리하는 전반에 걸친 작업을 관장하는 솔루션이다.
DBMS의 역사는 길고 복잡하다.
전선을 엮어서 코드를 짜던 시절부터 고민되어 오던 것들이 현재에 이른 것이니, 그 시간만큼 다양하고 또 복잡해졌을 것은 분명하다. DBMS라고 하면 늘 따라다니는 이름이 하나 있다. 바로 'Oracle' 이다.
Oracle DBMS는 현재 대한민국의 DBMS시장을 거의 전부 장악하고 있다고 보아도 무방하다.
한때 시장의 95%이상을 장악하고 있었으니 두말하면 입이 아플 것이다. 이런 오라클의 성공은 생각보다 별것 아닌 이유로 이루어졌다. 경쟁자가 없었다.
물론 한국에서도 국산 DBMS를 만들어낸 전력이 있다. 대표적으로는 티멕스 소프트의 티베로(Tibero)가 그것이다. Oracle의 모든 명령어가 동일하게 동작한다는 것을 컨셉으로 만들어진 티베로는 한때 대한민국 DBMS시장에서 경쟁력 있는 DBMS로 자리잡았었다.
하지만 모종의 이유로 DB담당자들 사이에서 혹평을 받으며 역사의 뒤안길로 접어들게 되었다.
2010년대 이후, 시장에서는 Cloud의 바람과 함께 마이크로 서비스를 위한 OpenSource DBMS에 대한 수요가 폭발적으로 증가하게 되었다.
기존의 DBMS가 중앙집중화 된 서버에서 대용량의 업무를 처리하기위해 사용되었다면, 이제는 각각의 서비스별로 DB를 구분하여 각각의 특성에 맞게 파편화하여 사용되기 시작한 것이다.
그리고 이때부터 PostgreSQL은 주목받기 시작한다.
PostgreSQL은 어디에 사용되는가?
사실 PG의 역사는 ingres라는 DBMS 프로젝트 까지 거슬러 올라간다. 1970년대에 개발되기 시작한 Ingres DBMS는 DB역사의 이정표같은 DB였다. Ingres DBMS를 기반으로 하여 MS사의 Microsoft SQL server, IBM사의 Sybase등 한 시대를 주름잡은 DBMS가 만들어졌으니 말이다.
PostgreSQL역시 이런 Ingres에 기반을 둔 DBMS이다.
Post Ingres를 줄여 Postgres로 명명된 이후, 1996년 SQL을 지원하기 시작하며 현재의 PostgreSQL이 되었다.
PostgreSQL은 현재 전세계 많은 시스템들의 기반을 담당하고 있으며, 대표적으로 초기 Instagrem의 경우 사용자들의 모든 데이터를 PG를 통해서 저장하고 관리했었다. Instagrem 이외에도 많은 기업들에서 자신들의 서비스를 위해 PG를 사용하고 있으며, 그 영역은 Open Source DBMS의 영역이 확장될수록 더욱 커지고있다.
PG는 시장에서 대부분 서브 서비스와, 마이크로서비스의 메인 DBMS역할을 담당하고 있다. Oracle DBMS에 버금가는 안정성과 대용량 처리가 가능하기 때문이다. 하지만 아직까지 메인 서비스를 담당하는 Oracle의 자리를 넘보지는 못하는 상태이다. Open Source의 한계라면 한계라고 할 수 있는 '기술지원' 문제 때문이다.
Open Source DBMS는 관리주체가 불분명하다. 커미터가 정해져있다고는 하지만, 대부분 커뮤니티에 의해서 관리되고, 컨트리뷰터들도 자신의 생계를 책임질 다양한 업무에 종사하고 있다보니 실시간, 단시간 대응이 어려운 것이 사실이다.
그렇다면 왜 PostgreSQL인가
그렇다면 왜 우리는 PostgreSQL을 알아야할까?
가장 큰 이유는 세계시장의 추세가 변하고 있기 때문이다.
한국에서는 아마 PostgreSQL 혹은 PG를 들어본 사람이 거의 없을 것이라고 확신한다.
교육과정에서도, 현업에서도 단 한번도 PostgreSQL이라는 단어를 들을 일이 없기 때문이다.
하지만 해외에서는 벌써부터 PostgreSQL에 대한 관심이 뜨거웠었다.
대표적으로 러시아와 독일, 일본에서 PG를 많이 사용하고 있으며, 점점 더 많은 사람들이 PG에 대한 관심을 가지기 시작했다.
안정성이 보장되고 대용량처리가 가능하면서 무료이기 때문이다.
국내에서도 몇년전부터 대기업을 위주로 PostgreSQL DBA에 대한 인력수요가 생겨나고 있는 편이고, 수많은 업체들이 PostgreSQL을 사용하기 위한 검토를 진행하고 있다.
PostgreSQL의 경쟁자
물론 PostgreSQL이 만능은 아니다. MariaDB, MySQL등의 오픈소스 DBMS가 막강한 경쟁자로서 자리하고있기 때문이다.
특히나 MySQL은 Oracle사에 인수되며 오픈소스라고 하기에는 애매하지만, 무려 Oracle사의 기술지원을 받을 수 있다는 점에서 차원이 다른 강점을 가지고 있다.
Maria DB나 MySQL역시 마이크로서비스를 담당하기 위한 DBMS로 사용되고 있으며, 그 영역이 점차 확장되는 추세이다. 대기업들에서도 MySQL, Maria DB의 사용에 긍정적인 반응을 보이고 있으며, 관련 채용정보들도 종종 보이고 있다.
하지만 PostgreSQL은 이러한 오픈소스 DBMS들과는 살짝 결이 다르다.
무엇보다 하드웨어의 성능에 따라 거의 무한대의 퍼포먼스를 내는 것이 가능하다. 또한 MySQL, MariaDB와는 달리 Active-Active와 같은 기능들을 지원하지 않는다거나, Shared Volume을 사용할 수 없는 등의 제약이 있다. 하지만 이는 각각의 DBMS가 담당하는 역할이 다르다는 관점에서 보아야 할 문제이다.
결론
PostgreSQL은 수치적으로나, 예상되는 전망으로나 앞으로의 DBMS시장에서 빼놓고 생각할 수 없는 DBMS인 것은 분명하다.
PostgreSQL을 잘 알고있는 DB담당자라면 앞으로의 인력시장에서 경쟁력을 가질 수 있을 것이며, Oracle과 PostgreSQL, MySQL등을 넘나들며 퍼포먼스를 발휘할 수 있다면 더욱 좋을 것이다.
아직은 한국시장에서 PG의 입지가 약한 편이지만, 알아둬서 나쁠 것은 없고, 오히려 미래의 먹거리가 될 수 있다는 것이 필자의 생각이다.
'DATA > PostgreSQL' 카테고리의 다른 글
[입문] 03. PostgreSQL 접속하기 (psql) (2) | 2022.12.27 |
---|---|
[입문] 02. PostgreSQL 설치 (0) | 2022.12.27 |
[001] PostgreSQL 13.3 공식문서 번역 - 머릿말 (0) | 2021.06.06 |
[PostgreSQL] 기본권한 부여하기 (0) | 2021.05.24 |
[PostgreSQL] UTF-8 인코딩 오류 해결하기 (0) | 2021.05.19 |