AWS 관계형 데이터베이스는 어떻게 비교됩니까?

오랜 기간 동안 관계형 데이터베이스는 다양한 규모의 기업들이 직면하는 거의 모든 소프트웨어 활용 사례에 대한 표준적인 해법으로 자리매김해 왔습니다.

오늘날 NoSQL, 인메모리, 데이터 레이크 데이터베이스와 같은 대안들이 폭넓게 제공되면서 상황은 더욱 복잡해졌습니다. 그럼에도 불구하고, 현재 온프레미스 데이터베이스를 클라우드로 이전하려는 결정 시, 관계형 데이터베이스는 여전히 가장 간편한 선택지로 남아있습니다.

이러한 움직임의 일부가 될 수 있는 몇 가지 데이터베이스를 자세히 살펴보겠습니다.

  • 오라클 (Oracle)
  • 오로라 (Aurora)
  • 마이크로소프트 SQL 서버 (Microsoft SQL Server)
  • MySQL 및 PostgreSQL
  • 마리아DB (MariaDB)

각 데이터베이스가 다른 제품들과 어떻게 차별화되는지, 단점은 무엇인지 명확하게 설명하겠습니다. 또한, 일반적인 실제 사용 사례를 통해 각각의 상황을 예시하고, 최종적으로 여러분의 상황에 맞는 데이터베이스를 선택하는 데 도움이 될 수 있는 제 의견을 제시하겠습니다.

AWS 오라클 DB

출처: aws.amazon.com

오라클 DB는 지난 수십 년간 가장 널리 사용된 상용 데이터베이스 중 하나임에 틀림없습니다. 기업들이 강력하고 고성능의 데이터베이스 솔루션을 필요로 할 때, 오라클 DB는 항상 첫 번째 고려 대상이었습니다. 여기에는 여러 가지 합당한 이유가 있습니다.

차이점

오라클은 광범위한 설정과 요구 사항을 충족할 수 있는 강력하고 기능이 풍부한 플랫폼입니다. 오랜 시간 동안 이 데이터베이스는 온프레미스 하드웨어 인프라에서 최고 수준의 안정성, 확장성 및 유지보수가 요구될 때 최적의 솔루션으로 자리 잡았습니다.

주요 이점

오라클과 같이 검증된 데이터베이스 시스템을 선택함으로써 얻을 수 있는 주요 이점은 다음과 같습니다.

✅ 효율적인 백업 및 복구를 위한 뛰어난 지원 및 다양한 옵션 제공

✅ 시스템 내부에서 데이터베이스 성능을 튜닝하는 방법에 대한 폭넓은 가능성 제공. 오랜 시간이 지난 후에도 이미 운영 중인 솔루션에 대한 지원 및 유지보수 활동 설정이 매우 간편하고 효과적임.

✅ 높은 수준의 데이터베이스 맞춤화 기능 제공. 오라클 DB는 광범위한 기능을 지원하여 시스템 통합자가 트리거, 파티션, 서브파티션, 자동화된 기본 키 시퀀스, 뷰, 스냅샷, 데이터 제약 조건, 고유 키, 결합 키, 외래 키, 복합 인덱스 등과 같은 다양한 기능을 조합하여 강력한 시스템을 구축할 수 있도록 지원. 사실상 모든 것이 지원됨.

✅ 데이터베이스 작업 및 프로세스를 손쉽게 관리할 수 있도록 전용 관리 콘솔 및 대시보드와 관리자 전용으로 즉시 사용 가능한 다양한 도구 제공.

✅ 다중 사용자 환경 지원. 수천 명의 동시 활성 사용자를 지원해야 한다면 오라클이 정답입니다.

주요 단점

오라클 DB는 성능의 수직적 확장 측면에서는 매우 유연하지만, 강력한 수평적 확장이 필요한 경우에는 그렇지 않습니다. 즉, 클러스터 데이터베이스를 더 강력한 CPU, 더 많은 메모리 및 스토리지 공간으로 쉽게 업그레이드할 수 있습니다.

그러나 데이터가 짧은 시간 내에 급격하게 증가하는 경우(클라우드 환경에서 일반적으로 발생하는 현상), 성능 병목 현상이 더욱 두드러지게 나타나고 해결하기가 어려워질 수 있습니다. 데이터를 여러 클러스터에 분산시키고 동적으로 증가시키는 것이 주요 요구 사항이 될 수 있으며, 이 경우 오라클 DB는 미래의 요구 사항을 충족하는 데 제약이 있을 수 있습니다.

또 다른 잠재적인 단점은 비용입니다. 오라클 DB는 다양한 기능을 지원하지만 그 중 상당수가 유료입니다. 특히 여러 클러스터가 배포되어 있고 물리적 성능 업그레이드가 필요한 경우, 데이터 모델의 소프트웨어 튜닝만으로는 충분하지 않을 수 있습니다. 더 많은 관리 도구 및 기능을 사용하려면 엔터프라이즈 라이선스를 구매해야 하며, 이는 이미 높은 비용을 더욱 증가시킬 것입니다.

마지막으로, 오라클 DB는 AWS의 기본 데이터베이스 서비스가 아니므로 AWS로부터 완전한 지원을 기대하기 어려울 수 있습니다. 오히려 오라클 지원에 더 의존해야 하며, 이 경우 오라클과 AWS의 문제점을 동시에 처리하고 서로 다른 두 지원팀과 협력해야 하는 번거로움이 발생할 수 있습니다.

선택 시기

오라클 DB의 클라우드 버전을 선택하는 것은 현재 온프레미스 솔루션이 이미 오라클 DB를 사용하고 있는 경우 가장 자연스러운 결정입니다. 이는 클라우드 기반 솔루션으로의 마이그레이션과 전환을 최대한 간편하게 만들어줍니다.

따라서 다음과 같은 경우 AWS 오라클 DB를 선택하는 것이 좋습니다.

  • 클라우드 데이터베이스가 가까운 미래에 온프레미스 버전과 동일한 프로세스 및 기능을 지원할 것으로 예상하는 경우
  • 데이터베이스를 AWS 기본 서비스와 빠르게 통합할 계획이 없는 경우
  • 현재 데이터 볼륨이 단기간에 크게 증가할 것으로 예상하지 않는 경우
  • 광범위한 기능 지원이 필요한 경우. 즉, 클라우드로 전환할 때 현재 사용 중인 기능을 잃는 것을 원하지 않는 경우
  • 시스템이 수백 명의 동시 활성 사용자(또는 그 이상)를 지원해야 하는 경우

사용 예

  • 대규모 통신 시스템에서 청구, CRM 및 미들웨어 데이터 처리
  • 다양한 맞춤형 또는 타사 공급업체 도구와 통합된 자동차 데이터베이스 시스템용 맞춤형 데이터베이스 구현
  • 오라클이 이미 공급업체의 패키지 솔루션에 포함되어 있고, 여러 맞춤형 데이터베이스 구성 요소를 하나의 복잡한 구현으로 통합해야 하는 은행 산업용 패키지 시스템 솔루션

AWS 오로라 DB

출처: aws.amazon.com

여러 측면에서 오로라는 여전히 관계형 데이터베이스이면서도 오라클과는 정반대의 위치에 있습니다.

차이점

오로라 DB는 AWS의 기본 데이터베이스 서비스입니다. AWS는 완전한 지원과 지속적인 개발을 제공하고, 다른 AWS 서비스 생태계와 긴밀하게 통합됩니다.

오로라 DB는 오라클이 이미 보유한 수준의 기능 다양성을 아직 갖추지 못했지만, 클라우드 환경에서 탄생했다는 점이 오라클과 다릅니다. AWS는 오로라를 지속적으로 개발하고 있으므로 기능 격차는 현재보다 미래에 더 줄어들 것으로 예상됩니다.

여러 측면에서 오로라는 특히 다른 AWS 클라우드 서비스와의 통합과 관련하여 이미 오라클보다 앞서 있습니다. 또한 아마존이 클라우드 생태계를 염두에 두고 오로라를 개발했기 때문에 오로라는 데이터 처리량이 많고 시간이 지남에 따라 증가하는 데이터 볼륨에 대처할 수 있도록 수평적 확장성이 강력한 장점입니다.

주요 이점

오로라 DB의 주요 이점은 다음과 같습니다.

✅ 읽기 전용 데이터베이스 복제본의 유연한 확장성. 몇 초 만에 생성 가능. 읽기 전용 복제본은 해당 복제본을 생성한 기본 데이터베이스와 동일한 데이터베이스 로그를 공유합니다. 즉, 새로운 읽기 전용 데이터베이스를 생성할 때 모든 데이터를 동기화할 필요가 없습니다. 기존 항목을 공유하여 자동으로 수행됩니다.

✅ 대규모 데이터 증가에 대한 뛰어난 준비성 – 수평 확장은 오로라 DB의 중요한 특징입니다. 새로운 클러스터를 추가하고 다양한 가용 영역에 걸쳐 확장성을 확장하는 것이 매우 간단합니다. 또한 오로라는 대량의 데이터를 매우 빠르게 조회하는 데 탁월한 성능을 제공합니다.

✅ 오로라 DB의 서버 또는 서버리스 모드 사용 여부를 선택할 수 있는 유연성. 일부 기능은 서버리스 모드에서 사용할 수 없지만, 서버리스 모드를 선택하면 높은 유연성과 비용 최적화를 달성할 수 있습니다.

✅ 자동 백업 및 특정 시점 복구 기능 제공. 오로라 DB는 일별 백업을 쉽게 수행할 수 있고, 전체 데이터베이스를 특정 시점으로 복원하는 것이 훨씬 간편합니다. 사용 가능한 여유 공간, 빠른 내부 AWS 작업, 빠른 복구 시간 및 짧은 가동 중단 시간을 목표로 하는 전용 오로라 DB 기능과 같은 클라우드 환경의 모든 이점을 결합할 수 있습니다.

✅ MySQL 또는 PostgreSQL 데이터베이스 엔진을 지원하므로 필요에 따라 선택 가능.

주요 단점

  • 오로라는 AWS에서 선택할 수 있는 기능이 가장 풍부한 기본 관계형 데이터베이스 중 하나이지만, 기능 다양성 측면에서는 오라클에 뒤쳐져 있습니다. 이는 오라클이 과거에 이러한 기능을 개발하는 데 훨씬 더 많은 시간을 투자했기 때문입니다. 하지만 오로라 DB가 출시될 때마다 더욱 강력해지고 오라클에 더 가까워지고 있다는 사실은 변함없습니다.
  • 온프레미스 환경에서는 오로라 DB와 동등한 것을 찾기 어렵습니다. MySQL 또는 PostgreSQL 데이터베이스 내부에 구축된 기존 데이터베이스가 거의 일치한다고 주장할 수 있으며, 호환성 측면에서는 확실히 일치합니다. 하지만 엄밀히 말하면 완전히 동일한 것은 아니므로 마이그레이션이 그렇게 간단하지 않을 수 있습니다. 온프레미스에서 데이터를 전송하고 오로라 DB에 올바른 데이터 모델 형식으로 저장하도록 마이그레이션 프로세스를 사용자 정의하고 구현해야 합니다.
  • 다양한 AWS 제한 사항, 특히 까다로운 제한 사항은 이 데이터베이스를 선택하는 데 걸림돌이 될 수 있습니다. 이러한 문제를 모두 해결할 수 있을 가능성이 매우 높지만, 일부 경우에는 리팩토링에 더 많은 투자가 필요하므로 다른 데이터베이스 대상에 비해 전체 마이그레이션 비용이 증가할 수 있습니다.

선택 시기

간단히 말해서 AWS 플랫폼에서 관계형 데이터베이스로 오로라 DB를 선택하는 것은 나쁜 결정이 아니지만, 특히 다음과 같은 경우에 더욱 적합합니다.

  • 관계형 데이터베이스를 중심으로 클라우드 시스템을 처음부터 구축하는 경우
  • 가능한 한 많은 AWS 기본 서비스와의 최고 수준의 호환성 및 무결성을 기대하는 경우
  • 단기간 내에 데이터 볼륨이 크게 증가할 것으로 예상하는 경우
  • 관계형 데이터베이스의 서버리스 버전을 활용하여 다양한 개념 증명(POC) 프로젝트를 시작할 계획인 경우

사용 예

  • 대량의 인프라 사진 데이터를 분석하기 위한 서버리스 플랫폼
  • 머신러닝 모델을 사용하여 데이터 레이크 정보를 처리하고 비즈니스 예측 생성
  • 넷플릭스(Netflix)는 카탈로그 데이터에 대한 빠른 병렬 쿼리 실행을 위해 오로라 DB를 사용

AWS 마이크로소프트 SQL DB

출처: aws.amazon.com

이 데이터베이스는 어떤 면에서 오라클과 유사합니다. 클라우드가 대세가 되기 훨씬 전에 개발되었으며, 현재는 MS SQL DB를 소스로 하여 클라우드로 마이그레이션을 계획하고 있는 온프레미스 사용자 수가 상당합니다.

차이점

이러한 유사성에도 불구하고 MS SQL DB는 오라클 DB에 비해 과거에 훨씬 덜 사용된 데이터베이스입니다.

적어도 개인적인 경험에 비추어볼 때 그렇습니다. 지난 20년 동안 여러 오라클 프로젝트에 참여했지만, MS SQL DB가 관련된 경우는 소수에 불과했습니다. 또한 솔직히 오라클 DB만큼 다루고 싶지 않았습니다.

그럼에도 불구하고 MS SQL DB를 모든 데이터의 중심인 기본 데이터베이스로 사용하는 많은 기업이 여전히 존재합니다.

주요 이점

MS SQL DB의 주요 장점은 다음과 같습니다.

✅ 다른 마이크로소프트 서비스 및 소프트웨어와의 원활한 통합. 귀하의 상황에 필요한 기능인 경우에 유용합니다.

✅ 대부분 Javascript 코드 모듈 형태의 사용자 정의 코드 확장을 통해 쉽게 사용자 지정할 수 있습니다. 이는 복잡한 비즈니스 프로세스와 데이터베이스를 통해 예약된 작업을 처리할 때 유용할 수 있습니다.

✅ 관리 측면에서 매우 간단합니다. 적어도 오라클 DB와 비교했을 때 그렇습니다.

✅ 다른 클라우드 서비스와 훨씬 더 호환되는 기본 관계형 데이터베이스 시스템으로 간주되기 때문에 Azure 클라우드 생태계에서 더욱 의미가 있습니다.

주요 단점

  • 오라클 DB와 마찬가지로 AWS 클라우드 환경에서 비네이티브 데이터베이스이기 때문에 모든 지원 및 문제 해결은 별도의 전담 MS SQL 지원팀을 통해 이루어져야 합니다.
  • 오라클 DB 또는 오로라 DB와 비교할 때 기능 다양성이 일반적으로 떨어집니다.
  • 많은 수의 활성 사용자를 지원하는 데 적합하지 않습니다.
  • 수평적 확장성은 오라클 DB보다 훨씬 더 큰 문제입니다.

선택 시기

MS SQL DB는 기존 MS SQL DB 온프레미스를 클라우드로 최대한 원활하게 마이그레이션하려는 경우에 가장 적합합니다. 또한 다른 AWS 클라우드 서비스와의 통합은 그다지 중요하지 않습니다.

또한 MS SQL DB는 온프레미스 대안에 비해 확장된 수평 확장성 및 고가용성 옵션을 제공하는 완전 관리형 데이터베이스로 AWS 클라우드 내에 존재합니다.

사용 예

  • 다양한 데이터베이스 시스템(예: 오라클 DB와 같은 다른 유형)의 맞춤형 통합을 위한 중간 플랫폼 역할을 합니다.
  • 데이터베이스 솔루션 비용을 고려해야 하고 예산이 제한적인 소규모 프로젝트 (완전한 오라클 DB 솔루션을 사용할 수 없는 경우)

AWS MySQL 및 PostgreSQL DB

출처: aws.amazon.com

이 두 데이터베이스는 원래 오픈 소스(현재는 대기업에 인수되었지만)로, 장점과 단점을 모두 제공합니다.

또한 다른 대안만큼 기능이 풍부하지 않습니다. 특히 기본 형식의 경우 더욱 그렇습니다. AWS 인프라에서 이러한 형식으로 계속 사용할 수 있지만, 이것이 실질적인 의미가 있는지는 의문입니다.

차이점

온프레미스 데이터베이스(MySQL 또는 PostgreSQL)를 AWS 클라우드로 마이그레이션할 때, 대상 데이터베이스로 MySQL 또는 PostgreSQL 엔진과 함께 오로라를 직접 사용할 수 있습니다. 이렇게 하면 오로라 DB가 제공하는 모든 추가 이점을 얻을 수 있습니다.

물론 기본 대안을 선택하는 경우와 비교했을 때 마이그레이션 단계에서 약간의 추가 노력이 필요할 수 있지만, 그 노력은 미미할 것입니다.

이러한 데이터베이스의 주요 이점은 비용이며, 성능과 안정성이 중요하지 않은 소규모 프로젝트에 가장 적합합니다.

주요 단점

  • 두 데이터베이스 모두 지원되는 기능이 상당히 제한적이며, 유지 관리 및 관리를 위한 옵션도 제한적입니다.
  • 활성 사용자가 많은 대규모 프로젝트에는 적합하지 않습니다.
  • 고성능 솔루션 및 지속적인 성능 조정이 필요한 경우에는 적합하지 않습니다.

선택 시기

  • 비용이 최우선 고려 사항이며 예산이 매우 제한적인 경우
  • 프로젝트 규모가 비교적 작은 경우
  • 데이터 볼륨이 비교적 작고, 데이터 증가 계획이 없는 경우

사용 예

  • 인프라 비용을 최소화해야 하는 개인 프로젝트
  • 제안된 아이디어가 실현 가능한지 확인하는 데 필요한 소규모 개념 증명(POC)
  • 데이터 양이 적은 소규모 회사 프로젝트
  • 대규모 데이터베이스 로드가 필요하지 않은 소규모 SaaS 프로젝트. 관계형 데이터 모델 방식의 데이터 저장만 필요

AWS 마리아DB

출처: aws.amazon.com

마리아DB는 이전 MySQL 개발자들이 만든 완전한 오픈 소스 데이터베이스입니다. MySQL이 오라클에 인수된 후 개발되었습니다.

호환성 측면에서 모든 MySQL DB는 마리아DB에서 잘 작동합니다.

차이점

기능적으로는 MySQL과 크게 다르지 않지만, 오픈 소스라는 점이 가장 큰 특징입니다.

기술적으로 마리아DB에서는 사용할 수 있지만 MySQL에서는 사용할 수 없는 유용한 기능이 일부 존재합니다.

주요 단점

MySQL과 매우 유사합니다.

선택 시기

  • 현재 마리아DB 온프레미스 구현을 선호하며, 어떠한 이유에서든 오로라 DB로 마이그레이션을 원하지 않는 경우
  • AWS 클라우드 생태계 내에서 데이터베이스 솔루션으로 오픈 소스를 유지하고 싶은 경우

사용 예

MySQL과 매우 유사합니다.

마지막 말

온프레미스 환경에서 오라클 DB가 주류 솔루션이었던 것처럼, AWS 클라우드 환경에서는 오로라 DB가 그 자리를 차지하고 있는 것 같습니다. 적어도 기능 측면에서 볼 때 가장 가까운 대안이라고 할 수 있습니다.

그리고 주요 이해 관계자를 설득하지 않더라도, 기존 데이터베이스를 AWS 클라우드로 마이그레이션하는 간단한 옵션이 있다는 사실을 알아두는 것이 좋습니다.

더 좋은 점은 이러한 전환을 통해 그동안 부족했을 가능성이 높은 기능을 자동으로 얻을 수 있다는 것입니다. 가장 중요한 것은 향상된 스토리지 확장성, 고가용성 및 수평적 확장성이 모두 클라우드 환경의 기본 기능이라는 점입니다.