클라우드에서는 오픈소스 DBMS를! [1부] - 포스트그레스 DBMS 소개
상태바
클라우드에서는 오픈소스 DBMS를! [1부] - 포스트그레스 DBMS 소개
  • 문경진 이사
  • 승인 2019.12.17 04:25
  • 조회수 7142
  • 댓글 0
이 콘텐츠를 공유합니다

최근 SK그룹이 2022년까지 3조원을 투입해 전 계열사 주요 시스템 80%를 클라우드로 전환 한다고 발표했다. 국내 금융회사도 네이버, KT의 퍼블릭 클라우드를 활용하거나 자체 클라우드 센터 구축 등 클라우드 도입을 검토 중에 있어 클라우드 시대가 점점 더 빨리 다가올 듯 하다.

클라우드로 전환한다는 것은 또 다른 의미로 상용S/W에서 오픈소스S/W로의 전환을 의미한다.

상용 SW의 라이선스 정책은 VM(Server) 수 또는 CPU Core 수를 기준으로 한다. 클라우드 환경에서는 Scale Out이 빈번하게 발생한다. 상용SW에서 취하고 있는 라이선스 정책으로는 TCO관점에서 메리트가 없다.

클라우드 환경으로 이전하고자 할 경우 오픈소스 S/W 도입 검토를 하게 되는 이유이다. 그 중에서도 가장 우선적으로 고려하는 SW는 DBMS이다. 상용 DBMS를 대신할 수 있는 대표적인 오픈소스 DBMS인 PostgreSQL DBMS를 소개하고자 한다.

 

1. PostgreSQL DBMS의 등장

PostgreSQL은 1977년 캘리포니아대학교 버클리 분교에서 시작된 Ingres 프로젝트로 시작되었으며 이후 캘리포니아 버클리(UCB) 대학의 Michael Stonbraker 교수의 주도로 Postgres 데이터베이스 연구 프로젝트로 발전하게 된다. Postgres 프로젝트는 1996 이름이 바뀌어 현재의 PostgreSQL 이라는 이름으로 발전하게 되었다.
 

투이톡_dbms_1.jpg
[그림 1] PostgreSQL DBMS History / 출처: EDB, PostgreSQL 역사, https://enterprisedb.tistory.com/1, 2017

 

2. PostgreSQL DBMS의 위상

국내에서의PostgreSQL DBM에 대한 인지도는 아직은 낮은 수준이다. 하지만 해외(북미, 일본) 에서는 다수의 레퍼런스가 있다. PostgreSQL DBMS의 위상은 아래 자료를 통해 확인할 수 있다.

1) DB-Engines Ranking

전세계 DBMS 엔진에 대한 순위를 발표하는 사이트인 “DB-Engines Ranking”의 2019년 10월 기준 순위를 살펴보면 PostgreSQL DB는 4위에 랭크 되어 있다. 특히 IBM DB2(6위) 보다 높은 순위이며 1~3위 와는 다소 격차는 있지만 점점 줄어들고 있는 추세이다. 
 
투이톡_dbms_2.jpg
[그림 2] DB-Engines Ranking / 출처: https://db-engines.com/en/ranking_trend, 2019.10 기준

2) SQL Workbench

DBMS별 기능 비교 사이트인 “SQL Workbench”에 따르면 14개 카테고리, 124개 기능을 기준으로 2019년 10월 말 기준 PostgreSQL이 1위에 랭크되어 가장 다양한 기능을 보유한 DBMS로 평가받있다.  

투이톡_dbms_3.jpg

[표 1] DBMS 기능 비교 / 출처: www.sql-workbench.eu/dbms_comparison.html, 2019.10.30 기준

 

투이톡_dbms_4.jpg
[그림 3] DBMS 기능 비교 Chart


위 차트를 보면 PostgreSQL이 Oracle 뿐만 아니라 오픈소스 DBMS인 MySQL, MariaDB 와 비교해도 기능적으로 우수하다는 것을 알 수 있다. 위 2가지 DBMS 비교 자료에 통해서 살펴본 PostgreSQL DBMS는 우리나라에서의 인지도 및 위상과는 달리 해외에서는 이미 활발히 사용하고 있으며 기능적으로도 우수하다는 것을 알 수 있다.

또한 PostgreSQL은 오픈소스 DBMS 뿐만 아니라 상용 DBMS의 대체 시 가장 좋은 대안으로 선택될 가능성이 높다는 것을 알 수 있다.

 

3. PostgreSQL DBMS는 어떤 특징을 갖고 있는가?

 

1) PostgreSQL DBMS 특장점

PostgreSQL DBMS가 타 DMBS와 차별되는 특징으로 이식성, 확장성, NoSQL 지원 등이 있으며 세부 내용은 아래와 같다.  

투이톡_dbms_5.jpg
[표2] PostgreSQL DBMS 특장점

 

2) PostgreSQL 지원 Spec

PostgreSQL DBMS 지원 Spec 중, Size는 무제한이며 대부분의 Spec이 대량 데이터 처리를 충분히 처리 할 수 있도록 지원하고 있다.    

투이톡_dbms_6.jpg
[표 3] PostgreSQL DBMS 지원 Spec

 

4. PostgreSQL DBMS의 고가용성(HA, High Availability)

DBMS 운영에 있어 가장 고민되는 부분이 이중화 구성이다. 이중화는 운영 시스템의 DBMS 장애가 발생 시, 서비스를 정지 없이 지속하기 위해 2대 이상의 DBMS 서버를 구성하는 것을 말하며 가장 일반적인 DBMS의 이중화 구성은 HA(Active/Standby) 방식이다.

Active-Standby 방식은 두대의 서버를 동일하게 구성하고 평소에는 Active Node서비스하고 장애 발생 시, Standby 노드가 Active로 상태가 바뀌어 서비스를 지속시킬 수 있는 구성이다.

 

1) Oracle RAC 구성

재 국내에서 가장 대표적인 DBMS인 Oracle의 경우 국내 DBMS 시장 점유율을 높일 주요 요인 중 하나로 Oracle-RAC(Real Application Cluster) 지원이다.

Oracle-RAC는 2개 이상의 DB Node를 모두 Active한 상태로 사용할 수 있어, 부하 분산 및 장애 대응에 장점이 있다. 하지만 RAC구성을 위해서는 많은 비용을 지불해야 한다.
 

투이톡_dbms_7.jpg
[그림 4] Oracle VS. PostgreSQL 이중화 구성

 

2) PostgreSQL 이중화 구성

PostgreSQL은 Active/Hot-Standby 구성을 지원한다.

Hot-Standby란, Master DB(Active Node)는 기본적인 서비스를 제공하고 Salve DB(Hot-Standby Node) 는 Read-Only 모드(조회만 가능) 가능하도록 구성하는 것이다. 이것은 Active-Standby 의 단점인 Standby 노드 자원 낭비를 줄이고 부하 분산이 가능하여 PostgreSQL의 HA구성 시, 권장할 만한 구성이다.

PostgreSQL DB의 HA구성방식은 크게 3가지 방식이 존재하지만 가장 안전성 측면에서 검증된 JDBC repmgr HA 방식으로 구성하는 것을 추천한다.

위 그림의 PostgreSQL HA구성은 기본적인 2 노드 (Master-Slave) 구성이지만 대량 트랜잭션을 분산시키기 위해 3노드 이상의 아키텍처 구성이 가능하며 최근 국내에서 PostgreSQL DBMS를 적용하여 30개 이상의 노드를 구축한 사례도 있다.
이러한 Scale-Out 형태의 확장성 및 유연성은 PostgreSQL DBMS의 큰 장점이기도 하다.

 

5. PostgreSQL DBMS 주요 도입 사례   

1) 공공부문

공공부문에서 PostgreSQL 뿐만 아니라 오픈소스 DBMS 사용을 권장하고 있어 민간부문보다는 다수 사례가 존재한다. 아직은 핵심 시스템 보다는 단위 시스템 위주로 사용되고 있으며, 데이터 전환 프로젝트 사례는 다수 존재하고 있다.

투이톡_dbms_8.jpg

 

2) 금융/민간부문

국내 금융권에 PostgreSQL을 도입한 사례는 거의 없으나, 전북은행의 자회사인 PPCB(캄보디아 프놈펜 상업은행) 계정계 시스템, 신용평가회사인 이크레더블 차세대 시스템에 적용되어 있으며 금융부문 사례는 아직 미미하다.   

투이톡_dbms_9.jpg

출처: 인젠트 “eXperDB 데이터주요전환 및 사례”, 2018

위와 같이 PostgreSQL DBMS의 소개 및 도입을 위한 HA구성 및 특장점을 소개하였다.

아직은 PostgreSQL DBMS의 국내 인지도가 낮고 레퍼런스가 많지 않지만 점차적으로 늘어나고 있는 추세이며, 클라우드 도입을 검토하고 있는 기업의 경우, DBMS 선택에 있어 PostgreSQL DBMS는 아주 훌륭한 대안이 될 것으로 기대된다.

 
- 끝 -

 

 

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.