DBMS/AgensSQL

PostgreSQL 대비 강점 및 차이점

(주)비트나인 2023. 9. 2. 16:39

오픈소스 PostgreSQL

 

DBMS(Database Management System)는 데이터를 만들고 저장하고 관리하는 기술을 말한다. 

 

데이터의 양이 폭발적으로 증가하고 데이터의 유형 또한 다양화되면서 Database 시장은 더욱 성장하고 있다. 그동안 DBMS 시장은 레거시 DBMS 제품들이 주도해 왔지만 최근 오픈소스 기반의 기술을 기업이 선호하면서 레거시 DBMS 매출이 감소하는 추세이다. 

 

DBMS에서 오픈소스 기반 기술이 성장하는 이유는 단연 비용 절감 효과 때문이다. 

이미 많은 고객들은 다년간의 오픈소스 사용 경험을 통해  ‘시간’이 ‘비용’보다 훨씬 큰 ‘가치’ 임을 인지하고 있다. 비단 비용뿐만 아니라 클라우드 서비스가 확산되는 것도 오픈소스 DBMS 도입을 유도하고 있다는 분석도 있다. 리눅스 제단의 최신 보고서에 따르면 비용절감을 위해 오픈소스를 도입하였지만, 관리 운영면에서 오픈소스가 모두 저렴한 것이 아니라고 답하였고, 그럼에도 불구하고 오픈소스를 사용하는 이유는 비용보다 편의성, 개발시간 단축 등이 기업에 더 큰 이익을 주기 때문이다.



오픈소스 소프트웨어는 빅데이터, 클라우드, AI의 부상과 더불어 기업들의 관심과 활용이 지속적으로 증가하고 있으며, 특히 DB 영역에서 오픈소스가 오픈 소스가 상용제품 못지않은 기능과 안정성을 갖게 된 이유는 클라우드로의 전환이며 클라우드에서 오픈소스를 위한 다양한 기술을 개발하고, 이에 발맞추어 오픈소스가 상용 DBMS 기능을 탑재하는 등의  지속적인 고도화가 있었기 때문이다, 그중 PostgreSQL은 가장 진보적인 오픈소스 소프트웨어를 넘어, 시장에서 가장 신뢰받고 있는 데이터베이스로 인정받고 있다.

그림1. PostgreSQL 공식 홈페이지 소개 자료  https://www.postgresql.org/about/

 

PostgreSQL은  30년 이상 개발된 안정성을 확보한 오픈소스 DB 로 Sybase, SQL Server, AWS Aurora 같은 상용 DB 개발에 영향을 미친 제품으로 오픈소스 중 가장 활발히 활동하는 글로벌 커뮤니티를 가진 제품이다.

 

그림2. 2021 스택 오버플로우 개발자 설문조사(Stack Overflow 2022 Developer Survey

 

또한 PostgreSQL은 전문 개발자의 46.48%가 가장 인기 있는 기술로, 72.08%는 가장 사랑받는 기술로  ‘PostgreSQL’을 선정하였으며, 클라우드 네이티브 컴퓨팅 재단(Cloud Native Computing Foundation, CNCF)은 기술 레이더(technology radar)에서 최고의 데이터베이스로 ‘PostgreSQL’을 선정할 만큼 글로벌 적으로 가장 트렌드 한 오픈소스 DB이다. 

 

이와 같은 트렌드에 맞춰 DB 시장에서는 PostgreSQL을 기반으로 한 데이터베이스들이 늘어나고 있다. 본 글을 통해 PostgreSQL의 강점을 살펴보고, 

나아가 기업에서 PostgreSQL을 전략적으로 잘 활용하기 위해 살펴봐할 사항들을 알리고자 한다. 

 

PostgreSQL 특징

 

오픈소스 DB는 사용 목적에 따라 장단점이 존재하기 때문에, 기업에서는 DB의 특징을 잘 이해하는게 우선시되어야 한다. 아래는 실제 PostgreSQL 사용자가 꼽는 대표적인 특징들이다. 

 

그림3. postgreSQL이 최적인 이유 ( https://bitnine.tistory.com/516 )

  • 최다 SQL 기능 지원

최다 SQL 기능을 지원한다는 것은 어플리케이션을 개발해서 해야 하는 기능들이 DB에서 제공이 된다는 의미이며, 이는 DB 측면에서 지원되는 기능이다 보니 성능이나, 안정성이 보장된다는 것을 의미한다.

 

  • 최다 SQL 표준 지원

기존에 다른 DB에 익숙한 분들이 DB 사용 전환에 어려움과 부담감을 가질 수가 있는데, 이를 위해 PostgreSQL은 최다 SQL 표준을 지원함으로써 개발자에게 익숙함과 편의성을 제공한다.

 

  • 풍부한 데이터 유형 지원

풍부한 데이터 유형을 지원하는 것은 RDB외에도 No-SQL에서 제공하는 Key-Value나 document 형태의 JSON 및 XML 형태의 데이터 지원. 나아가 JASON 인덱싱 지원 등을 지원함으로써, 변화되는 비즈니스 환경에 유연한 대응이 가능하다.

 

  • 다양한 프로그래밍 언어 및 대용량 데이터 처리 지원

PostgreSQL은 다른 오픈소스DB와는 다르게 엔터프라이즈 환경에서 사용할 수 있는 개발 및 분석을 위한 다양한 프로그래밍 언어를 지원하며, Table Partitioning, Parallel Query, Multiple Process 등 대량 데이터 처리에 최적화된 기능을 제공한다.

 

  • Extension (확장 기능)

PostgreSQL은 Extension 이라는 요소를 통해 자유로운 기능 추가가 가능하다는 강력한 특징이 있다. Extension은 말 그대로 확장 기능으로, 익히 알고 있는 PostGIS, Citus 등도 기본 PostgreSQL에 특수한 목적을 가지고 기능을 추가시키는 extension에 속한다. 이러한 extension은 PostgreSQL의 가장 큰 특징이자 장점으로 꼽히며, 전 세계적으로 활발한 커뮤니티 활동을 바탕으로 다른 DB들이 따라올 수 없는 기술확장성을 보여준다. 최근에는 인공지능 연구를 위한 벡터기반의 데이터를 다루는 extension들도 활발하게 공개되고 있는 추세로 미래 환경에 적합한 DB로서 특징을 가지고 있다. (‘나무위키 PostgreSQL Extension 소개 글’ 중 일부)

 

다양한 분야에서 적용 가능한 postgreSQL은 이미 많은 기업들은 PostgreSQL의 대표적인 특징들을 본인들의 비즈니스에 전략적으로 활용하는 사례들이 많이 있다. 

 

  • 금융 서비스

금융 서비스에서 대량의 금융 데이터 및 분석을 관리하는 PostgreSQL의 인덱싱, 병렬 처리, 캐시 관리 기능은 트랜잭션을 일관되고 안정적으로 처리하는 데 매우 적합하다. 특히 고급 데이터 유형에 대한 고성능, 확장성 및 지원으로 인해 복잡한 재무 데이터의 처리 속도를 높이고 응답 시간을 단축하여 고객들에게 빠른 서비스를 제공할 수 있다.

 

  • 헬스케어 서비스

헬스케어 분야에서 PostgreSQL의 강력한 보안 기능, 액세스 제어 및 인증, ACID 규정 준수 및 복잡한 데이터 유형 지원으로 인해 널리 사용되고 있다. 

건강보험 이전과 책임에 관한 법인 HIPAA(Health Insurance Portability and Accountability Act)에 따라 민감한 환자 데이터를 암호화, 접근 제어, 로그 모니터링 등을 통해 고객들의 기밀 정보를 보호하고 규정 준수를 충족시킬 수 있다. 데이터를 보호하는 동시에 게놈 데이터와 같은 다양하고 복잡한 의료 데이터를 저장하고 처리할 수 있다.

 

  • 미디어 및 엔터테인먼트 분야

PostgreSQL은 오디오 및 비디오 파일, 메타데이터, 이메일 및 소셜 미디어 게시물에서 발견되는 구조화되지 않은 데이터뿐만 아니라 구조화된 데이터를 관리하고 분석하는데 사용된다. 통계 함수, OLAP(온라인 분석 처리), 시각화 도구 등을 활용하여 비즈니스의 중요한 결정을 더욱 빠르고 정확하게 내릴 수 있다. 또한, 전체 텍스트 검색 및 고급 인덱싱 지원과 함께 Citus와 같은 확장 기능을 사용하여 수평으로 확장할 수 있는 기능은 수백만 명의 동시 사용자를 지원할 때도 도움이 된다.

 

  • 지리 공간 및 매핑

PostgreSQL은 Open Geospatial Consortium(OGC)의 Simple Features for SQL 사양을 따르는 오픈 소스 확장인 PostGIS를 통해 공간 데이터 유형 및 기능에 대한 기본 지원을 제공한다. 예를 들어 공간 데이터 확장을 통해 위치 기반 서비스를 제공하거나, 텍스트 검색 확장을 통해 전문 검색 기능을 제공하는 등 고객들의 다양한 요구에 부합하는 맞춤형 솔루션을 구현할 수 있다.

 

PostgreSQL의 특징들을 요약하면, PostgreSQL은 구조화된 데이터와 반구조화된 데이터 모두에 걸쳐 풍부한 기능 세트와 확장성을 통해 다양한 분야에 도입되어 다른 관계형 데이터베이스에서 해결할 수 없는 특정 요구 사항과 과제를 해결할 수가 있다. DB-Engines 사이트(https://db-engines.com/en/system/PostgreSQL)에서는 PostgreSQL을 멀티모델(Multi-Model)데이터베이스로서 관계형 Relation DB, Document Store, Graph DBMS, Spatial DBMS로 소개하고 있다.

 

오픈소스 기술을 선도하고 있는 비트나인의 AgensSQL

 

기업에서 오픈소스 데이터베이스를 도입할 때 기업이 살펴봐야 할 사항들이 몇 가지 있다. 바로 기술 지원 부족, 버그, 보안 성능 순으로 나타나고 있으며, 최근에는 기술 지원이나 버그에 대한 문제는 점점 줄어들고 있으나 보안, 데이터 성능에 대한 우려는 더 증가하는 추세이다. 아래 퍼코나의 조사자료를 보면, 기능이나 성능적인 측면에서 신뢰가 부족했던 오픈소스 DBMS가 지속 고도화되고 있음을 알 수 있다.

 



비즈니스에서 PostgreSQL을 전략적으로 사용하기 위해서는 최소한의 ‘비용’으로 오픈소스 커뮤니티가 가진 한계점을 극복하는 의사결정이 필요하다.

이를 통해 기술지원, 버그, 성능, 보안, 가용성 등을 함께 제공하는 비즈니스에 적합한 형태의 PostgreSQL 엔터프라이즈 제품을 활용하는 비즈니스 지혜가 필요하다.

 

비트나인에서 제공하는 AgensSQL은 비트나인의 수년간 데이터베이스 연구 개발과 AgensGraph 개발을 통해 축적된 PostgreSQL에 대한 전문성과 노하우를 집대성한, 새로운 오픈소스 기반의 관계형 DBMS이다. 

 

 

AgensSQL은 오픈소스 PostgreSQL의 장점에 엔터프라이즈급 안정성, 기능, 성능 부여하며, AgensGraph, Apache AGE와 PostgreSQL의 효율적인 통합 기능을 제공한다. 

 

  • 높은 수준의 오라클 호환성 (Oracle Compatibility)

 

  • 고가용성 확보를 위한 Agens HA Manager (AHM) 기능

 

  • DBA를 위한 관리/운영 도구 : Agens Enterprise Manager (AEM) 기능

 

  • 보안 강화 기능 

 

  • Extension 내장 통합 기능

 

 

 

 

 

[참고]

 

# 비트나인 블로그

 

#참고 사이트




 

글 : 정제용 부장 ( 비트나인 컨설팅팀 )