비트나인 테크니컬 라이터(Technical Writer) 서준섭 과장

비트나인 테크니컬 라이터(Technical Writer) 서준섭 과장
비트나인 테크니컬 라이터(Technical Writer) 서준섭 과장

[아이티데일리] 오픈소스 DBMS는 최신 IT 트렌드인 클라우드 네이티브 및 빠른 기술 혁신을 위한 기반으로 각광받고 있다. 기능과 성능 면에서 지속적인 발전을 거듭하며, 빅데이터 분석, 클라우드, AI와 같은 영역에서 상용 DBMS를 대체해 나가고 있다.


클라우드 전환에서의 오픈소스 DB, 선택 아닌 필수

사실 약 6년 전부터 세계 DBMS 시장에서는 ‘탈 오라클’ 현상이 나타나기 시작했다. 아이티데일리의 기사1)에 따르면 탈 오라클의 주된 원인은 라이선스 비용의 증가와 함께 감소하고 있는 혜택, 그리고 클라우드 도입의 확대라 할 수 있다. 오라클의 비용 대비 혜택이 크게 줄어들어 불만이 증가했고, AI 등 기술의 발달과 함께 온프레미스에서 클라우드 인프라로 전환하는 동향이 확대됐다. 이를 계기로 기업들은 상용 DBMS 제품보다 클라우드에 특화된 오픈소스 DBMS를 채택하기 시작했다. 전 세계 DBMS 시장의 86.9%를 차지하고 있던 오라클, 마이크로소프트, IBM, AWS, SAP 등 5개 기업의 세계 시장 점유율이 2021년에 80.6%로 감소한 것도 이런 이유 때문이다.

 기업이 오픈소스 DBMS를 선택하는 이유 (Percona, 2023)
기업이 오픈소스 DBMS를 선택하는 이유 (Percona, 2023)

오픈소스 DBMS 전문 지원 업체 퍼코나(Percona)가 조사한 설문 결과2)에 따르면, ‘비용 절감’이 오픈소스를 선택하는 가장 큰 이유로 나타났다. 개발자 선호도 및 신속한 배포가 그 뒤를 이었다. 빠른 변화에 적응하는 강점을 갖고 있는 만큼 클라우드 전환 트렌드와 밀접하게 연관돼 있음을 알 수 있는 대목이다.


상용 DBMS 가격, 오픈소스와 최대 70배 차이

오픈소스 DBMS는 비용적인 측면에서도 상용 DBMS에 비해 매우 유리하다. 오라클의 경우, 버전 업그레이드를 하면서 서서히 보안 문제와 패치 지원을 제한3)하고 있다. 이전 버전의 기술 지원 및 새로운 버전 사용을 위해 고객이 별도의 비용을 지불해야 하는 상황에 처하게 된 것이다.

실제 2018년 가트너의 자료4)에 의하면 상용 DBMS 가격이 오픈소스 DBMS에 비해 최대 70배 높을 수 있다는 결과가 나오기도 했다. 이 차이는 제품 및 라이선스 구매 비용과 지원 관련 비용을 모두 포함한 총 소유 비용(Total Cost of Ownership)을 의미한다. 오픈소스 DBMS가 기업들의 관심을 받는 데는 여러 이유가 있겠지만, 그중에서도 상용 DBMS 관리 및 운영에 따른 비용 부담이 크게 작용하고 있다.

과거 오픈소스 DBMS가 현재의 위상을 가지기 전에는 상용 데이터베이스 벤더 측에서 “오픈소스 측 주장대로 70% 이상의 TCO(총 소유 비용) 절감이 가능하다면, 안정성이 부족할 것”이라고 주장했다. 심지어 오픈소스의 사용조차 줄어들고 있다고 언급5)한 적이 있었지만, 현재 DBMS 시장 트렌드를 살펴보면 오픈소스의 영향력은 점점 더 확대되고 있다.

오픈소스를 사용할 경우 호환성과 확장성으로 인해 개발 리소스와 개발의 시간을 절약할 수 있다는 이점이 있다. 시간이 비용과 직결되는 상황에서 기업은 오픈소스 DBMS를 마다할 이유가 없을 것이다.

퍼코나 보고서에 따르면 상용 DBMS인 오라클보다 선호도가 높은 오픈소스 DBMS가 둘이나 있다. 이 두 DBMS는 포스트그레SQL(PostgreSQL)과 마이SQL(MySQL)이다. 이 백서에서는 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS) 중에서 가장 강력한 포스트그레SQL을 소개하고 있다. 이번 기고에서는 포스트그레SQL이 상승세를 타고 있는 이유를 알아보고, 대중적으로 잘 알려진 마이SQL과 비교해 왜 많은 기업들이 점점 포스트그레SQL을 선호하고 있는지를 알아본다.


개발자 선호도 1위, 포스트그레SQL

포스트그레SQL은 1986년에 마이클 스톤브레이커 교수의 지휘 하에 시작된 객체 관계형 데이터베이스 관리 시스템(ORDBMS)이다. 포스트그레SQL은 리눅스(Linux), 프리BSD(FreeBSD), OS X, 솔라리스(Solaris), 마이크로소프트 윈도우(Microsoft Windows) 등 다양한 운영체제에서 실행할 수 있는 강력한 크로스 플랫폼 오픈소스 DBMS다.

포스트그레SQL은 탁월한 트랜잭션 처리 능력과 강력한 데이터 분석 기능을 갖추고 있으며, 특히 금융, 통신, ERP, CRM 등과 같은 엔터프라이즈 업무에 적합한 특징을 갖고 있다.

SQL 표준을 준수하는 포스트그레SQL은 복잡한 쿼리, 트랜잭션 및 고급 데이터 유형을 지원하며, 강력한 아키텍처를 갖고 있다. 또한 데이터 무결성으로 인해 신뢰성이 있는 DBMS로 인식되고 있으며, 확장이 뛰어나 확장 가능한 플랫폼을 찾는 비즈니스에 적합하다.

스택 오버플로우 개발자 설문조사 2023 - 데이터베이스 부문 (출처: 스택 오버플로우)
스택 오버플로우 개발자 설문조사 2023 - 데이터베이스 부문 (출처: 스택 오버플로우)

2023년 스택 오버플로우 개발자 설문조사6)에 따르면, 전문 개발자들의 49%가 포스트그레SQL을 가장 선호하는 것으로 나타났다. 이는 또 다른 오픈소스 데이터베이스인 마이SQL보다 약 10%포인트 높은 수치다.


왕좌 재탈환, 2023년 올해의 DBMS로 선정된 포스트그레SQL

포스트그레SQL은 2023년을 포함해 최근 7년 중 4번이나 ‘올해의 DBMS 상(DBMS of the YEAR)7)’을 수상했다. 2020년 포스트그레SQL의 수상 이후 2021년과 2022년은 스노우플레이크가 잠깐 돌풍을 일으켰지만, 결국 포스트그레SQL이 왕좌를 재탈환했다. 이 상은 DB엔진(DB-Engines)에서 한 해 동안 가장 많은 인지도를 얻은 데이터베이스에 수여되는 상이다. 이러한 성과는 포스트그레SQL 특유의 활발한 커뮤니티 활동과 전 세계 개발자들의 코드 기여 덕분이라 할 수 있다. 그 선순환으로 포스트그레SQL은 시장에서 가장 신뢰받고 있는 데이터베이스로 인정받고 있다.

올해의 데이터베이스 상(DB-Engines, 2017 / 2018 / 2020 / 2023)
올해의 데이터베이스 상(DB-Engines, 2017 / 2018 / 2020 / 2023)

포스트그레SQL vs. 마이SQL

포스트그레SQL과 마이SQL은 가장 대표적인 오픈소스 데이터베이스로서 전 세계적으로 가장 많이 사용되는 제품이다. 이 두 제품은 각각의 특징과 장점을 갖고 있으며, 각 업무의 요구사항에 따라 선택할 수 있다. 자세한 내용은 아래 표와 같다.

포스트그레SQL과 마이SQL의 비교
포스트그레SQL과 마이SQL의 비교

마이SQL이 아닌 포스트그레SQL을 선택해야 하는 4가지 이유

1. 라이선스의 차이 - 상용 버전으로 개발 가능

포스트그레SQL은 버클리 소프트웨어 배포(BSD) 오픈소스 프로토콜을 따르기 때문에 상용 시나리오에서 포스트그레SQL 기반의 상용 버전을 개발하고 판매할 수 있다. 비트나인의 아젠스SQL(AgensSQL)과 EDB 포스트그레스 어드밴스드 서버(EDB Postgres Advanced Server) 등을 예로 들 수 있다. 이러한 상용 라이선스는 포스트그레SQL을 기반으로 하면서도 엔터프라이즈급의 더 많은 기능과 이점, 그리고 서비스를 제공한다는 것을 의미한다.

반면 마이SQL은 일반 공중 사용 허가서(GPL) 계약을 따르기 때문에 소프트웨어가 GPL 계약을 사용하는 경우 해당 소프트웨어도 오픈소스여야 하는 엄격한 제한 조건이 적용된다. 이는 마이SQL을 기반으로 한 소프트웨어가 상용으로 판매되기 위해서는 GPL 계약에 따라 오픈소스로 공개돼야 한다는 의미다. 이로 인해 마이SQL을 활용한 상용 소프트웨어 개발에는 제한이 있을 수 있다.


2. 데이터 스토리지의 차이 – OLTP뿐만 아니라 OLAP까지

일반적으로 마이SQL은 OLTP(Online Transaction Processing)에 특화된 데이터베이스로 알려져 있다. 그렇기 때문에 완전한 데이터 스토리지 요구사항을 충족시키기 위해서는 엘라스틱서치(Elasticsearch), 레디스(Redis), 몽고DB(MongoDB) 등 다른 데이터 스토리지 시스템과 함께 사용해야 하는 경우가 많다.

반면 포스트그레SQL은 다양한 데이터 스토리지 요구사항을 충족시킬 수 있다. 포스트그레SQL은 다양한 데이터 형식과 모델을 지원하며, 내장된 JSON 지원, 지리적 데이터 처리, 그래프 분석과 같은 풍부한 확장 기능 등을 통해 OLTP는 물론 OLAP(Online Analytical Processing)도 가능해 다양한 데이터 스토리지 요구사항을 직접 처리할 수 있다. 따라서 포스트그레SQL은 단일 시스템으로서 종합적인 데이터 스토리지 솔루션을 제공할 수 있다.


3. 데이터 지속성의 차이 – 논리적+물리적 복제 모두 지원

포스트그레SQL은 스트리밍 방식의 물리적 복제 및 논리적 복제를 지원한다. 그 중 스트리밍/물리적 복제는 마이SQL의 바이너리 로그(binlog) 기반 논리적 복제와 비교했을 때, 데이터 일관성에서 더 안정적이고 복제 성능이 더 높으며 호스트 성능에 미치는 영향도 더 적다.


4. 성능의 차이 - 대용량, 복잡한 데이터에 더 적합

포스트그레SQL과 마이SQL 사이에는 다양한 성능 비교 테스트 결과들이 존재한다. 포스트그레SQL은 주로 데이터의 양이 많거나 복잡한 읽기-쓰기 작업에 강점을 갖고 있다. 가령, 클린커밋(CleanCommit)에서 진행한 테스트 결과8)에서는 1,000만개의 데이터를 삽입해 무작위로 10,000여 개의 레코드를 읽을 때, 포스트그레SQL이 마이SQL에 비해 50배 가까이 빠른 결과가 나왔다.

포스트그레SQL과 마이SQL은 이미 전 세계적으로 많이 사용되고 있으며 실제 사용 사례에서 성능과 안정성이 이미 검증된 DBMS라 할 수 있다. 다만 어떤 시스템에 더 적합한지는 시스템 환경과 요구사항에 따라 결정돼야 할 것이다.

포스트그레SQL로 10,000개의 레코드를 무작위로 쿼리하는 데 걸린 시간(출처: CleanCommit)
포스트그레SQL로 10,000개의 레코드를 무작위로 쿼리하는 데 걸린 시간(출처: CleanCommit)
마이SQL로 10,000개의 레코드를 무작위로 쿼리하는 데 걸린 시간 (출처: CleanCommit)
마이SQL로 10,000개의 레코드를 무작위로 쿼리하는 데 걸린 시간 (출처: CleanCommit)

결론적으로 포스트그레SQL은 엄격한 트랜잭션 처리 기능과 강력한 데이터 분석 기능을 통해 지속적인 발전을 이루고 있다. 즉, 포스트그레SQL은 금융, 통신, ERP, CRM 등과 같은 엔터프라이즈 업무에 훨씬 더 적합하며, 마이SQL은 비교적 단순한 비즈니스 로직과 낮은 데이터 안전성 요구사항을 가진 웹 애플리케이션에 더 적합하다고 할 수 있다.


무료 사용에서의 제약 사항, 벤더사 기술지원으로 극복

포스트그레SQL은 오픈소스 데이터베이스로서 자유롭고(특히 클라우드 환경에서) 유연하다는 특징을 가지고 있다. 이는 오픈소스의 특성상 전 세계에 걸친 커뮤니티를 통해 빠른 기능 개선과 버그 수정이 지원되기 때문이다. 개발자들은 커뮤니티에 기여하고 소스 코드를 검토해 지속적으로 개선할 수 있어 더욱 견고하고 안정적인 DBMS를 구축해 나갈 수 있다.

그러나 기업들에게는 여전히 상용 라이선스를 가진 벤더가 필요하다. 오픈소스란 특성 때문에 별도의 관리 비용이 발생하는 부분도 있겠지만, 제대로 된 기술 지원을 받기 어렵기 때문이다.

포스트그레SQL 커뮤니티에서도 많은 기술 가이드와 문서들이 존재하지만, 당연히 책임소재는 없다. 프로젝트 진행 중 발생하는 일시적이거나 장기적인 이슈(장애)를 빠르게 복구하기 위해서는 전문 벤더들의 기술 지원을 받는 것이 절대적으로 필요하다. 그렇지 않을 경우, DB 제품 자체에서 발생하는 이슈는 서비스 제공 업체들의 책임이 아니기 때문이다.

오픈소스 포스트그레SQL 기반 제품을 개발하는 전문 벤더의 제품을 구매하고, 해당 벤더가 제공하는 양질의 기술 지원을 받는 방법이 그 해결책이 될 수 있다. 전문가들의 지식과 경험을 활용하며 오픈소스와 상용 라이선스의 각 장점들을 극대화할 수 있다. 상용 벤더의 포스트그레SQL 기반 제품은 보안 패치, 성능 튜닝, 데이터베이스 관리 등 다양한 측면에서 지원을 제공하며, 이는 엔터프라이즈 환경에서 대규모의 데이터를 다루는 기업, 혹은 보안과 안정성을 중요한 가치로 삼는 산업(공공 및 금융 등)에서 특히 더 유용할 수 있다.

따라서 로컬 환경에서 즉시 기술지원이 가능한 벤더사의 제품을 고려하는 방법이 가장 효과적이라 할 수 있다. 제아무리 좋은 제품이라도 24x365 방식의 즉시 지원이 이뤄지지 않으면 모든 것이 무의미해질 수 있다.

또한, 로컬 기술지원이 가능한 벤더를 활용하면 아래 항목에서 확실한 이점이 있다.


1. 언어와 문화적 호환성

포스트그레SQL은 해외에서 개발된 데이터베이스이기 때문에, 커뮤니티의 문서는 대부분 영어로 작성돼 있어 국내 사용자들이 이해하기 어려울 수 있다. 따라서 포스트그레SQL 제품을 연구·개발하는 국내 회사의 지원을 받으면 동일한 언어로 의사소통을 할 수 있어 문제 해결과 기술 지원의 효율성도 함께 높아진다.


2. 빠른 현장 대응과 유연한 서비스

해외에 본사와 R&D 조직이 있는 기업과 비교했을 때 시차 및 물리적 거리를 대폭 줄일 수 있기 때문에, 신속한 응답과 현장 대응 서비스를 받을 수 있다. 대표적으로 장애 복구, 업그레이드, 성능 튜닝 등의 작업에서 신속하고 효과적인 지원을 받을 수 있다.


3. 법적 및 규제 요건의 이해

국가의 법적 및 규제 요건에 대한 이해가 높아지므로, 데이터 보호 및 규정 준수에 대한 안전성과 신뢰성을 확보할 수 있다.


4. 로컬 시장 이해와 산업별 노하우

로컬 시장과 산업에 대한 노하우를 습득할 수 있다. 데이터베이스 시스템 구축과 운영에 관련된 전략적이고 최적화된 컨설팅까지 받아볼 수 있다는 장점이 있다.

포스트그레SQL의 유연성과 상용 벤더의 기술 지원은 조화롭게 결합될 수 있다. 이를 통해 오픈소스 커뮤니티의 역동성과 상용 벤더의 전문적이고 안정적인 서비스를 동시에 누리며, 비즈니스 효율을 극대화시켜 나갈 수 있을 것이다.


1) 박재현. (2023). 탈(脫) 오라클 바람 타고 전성시대 맞이한 오픈소스 DBMS. IT Daily.
http://www.itdaily.kr/news/articleView.html?idxno=216397

2) Percona. (2023). Database Management Insights: Open Source Outpaces Proprietary Solutions.
https://learn.percona.com/hubfs/Whitepapers/2023_Percona_SurveyReport.pdf

3) Support Revolution. (2023).Ten years of Oracle Support - what did it cost?
https://www.supportrevolution.com/oracle-support-model-costs/

4) Gartner. (2018). State of the Open-Source DBMS Market, 2018.
https://www.gartner.com/en/documents/3863764

5) Asay, Matt. (2017). Q. Why’s Oracle so two-faced over open source? A. Moolah, wonga, dosh. The Register.
https://www.theregister.com/2017/10/12/oracle_must_grow_up_on_open_source/

6) Stack Overflow. (2023). Most Popular Technologies. 2023 Developer Survey.
https://survey.stackoverflow.co/2023/#technology-most-popular-technologies

7) Gelbmann, Matthias. Andlinger, Paul. (2024). PostgreSQL is the DBMS of the Year 2023. DB-Engines.
https://db-engines.com/en/blog_post/106

8) Davidson, Tim. (2022). Why Use PostgreSQL For Your Next Project. CleanCommit.
https://cleancommit.io/blog/why-use-postgresql-for-your-next-project/

저작권자 © 아이티데일리 무단전재 및 재배포 금지