메인 콘텐츠로 건너뛰기

데이터베이스 스토리지란 무엇인가요?

데이터베이스 스토리지란 무엇인가요?

향후 검색 및 분석을 위해 데이터를 데이터베이스에 저장할 수 있습니다. 데이터베이스 스토리지에는 제어 수준과 유연성 측면에서 다양한 옵션이 있으며, 각 옵션에는 장단점이 존재합니다. 이 가이드는 AWS에서 제공하는 다양한 스토리지 모델을 살펴보고, 특정 사용 사례에 가장 적합한 옵션을 선택하는 데 필요한 지침을 제공합니다.

모든 디지털 데이터는 RAM, 캐시, 레지스터, 솔리드 스테이트 드라이브(SSD), 하드 디스크 드라이브(HDD), 네트워크 연결 스토리지(NAS), 스토리지 영역 네트워크(SAN) 또는 기타 유형의 물리적 스토리지와 같은 어딘가의 물리적 디바이스에 저장되어야 합니다. 클라우드 데이터 스토리지는 이러한 물리적 디바이스를 기반으로, 그 위에서 가상화를 통해 논리적 스토리지를 실행하는 방식에 의존합니다.

대부분의 엔터프라이즈 데이터를 유용하게 활용하기 위해서는 해당 데이터를 데이터베이스에 저장해야 합니다. 데이터베이스 관리 시스템은 저장된 데이터 위에서 동작하는 소프트웨어 계층입니다. 이 소프트웨어 계층을 통해 데이터베이스 생성, 데이터 쿼리 및 분석, 데이터 업데이트와 삭제와 같은 작업을 수행할 수 있습니다. 데이터베이스 소프트웨어는 데이터 자체와 물리적으로 분리된 위치에 저장될 수 있습니다.

관계형 데이터베이스 스토리지는 어떻게 작동하나요?

관계형 데이터베이스는 데이터를 행과 열로 구성된 테이블 형식으로 저장하며, 각 행은 하나의 레코드를, 각 열은 해당 레코드의 속성을 나타냅니다. 데이터베이스 테이블의 데이터 구조는 고객 정보나 구매 기록과 같이 공통적이고 반복되며 서로 연관된 레코드를 저장합니다. 각 테이블은 다른 테이블과 관계를 맺을 수 있습니다. 예를 들어, 구매 기록은 해당 구매와 연관된 고객과의 관계를 가질 수 있습니다.

이러한 테이블 위에서 동작하는 관계형 데이터베이스 소프트웨어는 기본 키와 외래 키를 통해 테이블 간의 연관성을 관리합니다. 관계형 데이터베이스는 사용자가 데이터에 대해 생성, 읽기, 업데이트, 삭제, 쓰기 작업을 수행하고, 구조적 쿼리 언어(SQL)를 사용해 테이블에 저장된 데이터를 쿼리할 수 있도록 합니다.

관계형 데이터베이스와 그 기반이 되는 구조화된 데이터를 저장하는 방식은 데이터베이스를 생성할 때 사용된 관계형 데이터베이스 관리 시스템(RDBMS)에 따라 달라지며, 각 소프트웨어 제품은 데이터 저장을 서로 다른 방식으로 처리합니다. 예로는 SQL Server, MySQL, PostgreSQL, Oracle, MariaDB 등이 있습니다.

관리형 관계형 데이터베이스 스토리지

AWS는 다양한 관계형 데이터베이스 관리 시스템을 위한 관리형 관계형 데이터베이스 스토리지와 운영 체제를 제공합니다. 관리형 서비스를 사용하면 인프라 관리 및 유지보수에 소요되는 시간 감소 및 보안 강화라는 이점을 누릴 수 있습니다.

Amazon Relational Database Service

Amazon Relational Database Service(RDS)는 PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, Db2와 같은 시스템을 위한 관리형 서비스입니다. Amazon RDS는 프로비저닝, 패치 적용, 백업, 복구, 장애 감지 및 수리와 같은 데이터베이스 관리 작업을 처리하며, 설정과 배포가 간편합니다.

스토리지 측면에서 Amazon RDS는 Amazon Elastic Block Store(Amazon EBS) 기반의 세 가지 서로 다른 볼륨 유형을 제공합니다.

  • 대부분의 데이터베이스 워크로드에 적합한 범용 SSD 기반 스토리지
  • 고성능의 프로비저닝된 IOPS SSD 기반 스토리지 및 
  • 이전 버전과의 호환성을 위한 자기식 데이터 스토리지

Amazon Aurora

Amazon Aurora는 PostgreSQL, MySQL, DSQL 관계형 데이터베이스를 위한 클라우드 네이티브 관리형 서비스입니다. Aurora는 클러스터링과 분산 처리를 포함한 클라우드 구성의 이점을 최대한 활용할 수 있도록 설계되어 기존의 클라우드 기반 RDBMS 서비스에 비해 더 높은 성능과 내결함성 및 고가용성을 제공합니다.

스토리지 측면에서 Amazon Aurora의 데이터는 클러스터 볼륨에 저장됩니다. 이 클러스터 볼륨은 SSD를 기반으로 한 맞춤형 단일 가상 볼륨으로, 데이터 무결성과 데이터 중복성을 극대화하기 위해 하나의 AWS 리전 내 세 개의 각기 다른 가용 영역에 걸쳐 데이터가 복제됩니다. Amazon Aurora DSQL은 리전 엔드포인트를 사용할 수 없는 경우에도 데이터에 대한 액세스를 유지할 수 있도록 다중 리전 중복성을 제공합니다. Aurora 스토리지는 독점 기술이기 때문에 완전 오토 스케일링을 지원하는 맞춤형 구성을 제공하며, AWS가 전적으로 관리하므로 사용자가 스토리지를 직접 사용자 지정할 필요가 없습니다.

자체 관리형 관계형 데이터베이스 스토리지

AWS에서 자체 관리형 RDBMS와 스토리지를 운영하는 것은 전통적인 시스템 관리 및 데이터베이스 관리 작업을 수행하는 것을 의미합니다. 다만, 이러한 작업은 물리적 인프라에서 수행하는 대신, 클라우드 인프라에서 수행해야 합니다.

Amazon EC2는 어떤 유형의 관계형 데이터베이스 관리 시스템이든 인스턴스를 설정하고 구성할 수 있도록 해줍니다. EC2 인스턴스를 구성하고 실행하려면 보안 관리, 성능 구성, 모니터링, 유지보수와 같은 작업을 수행해야 합니다. 

기본 스토리지는 Amazon EBS, 완전한 탄력성을 제공하는 스토리지인 Amazon Elastic File System(EFS), 그리고 임시 인스턴스 저장소 중에서 선택할 수 있습니다. 또한 데이터베이스 요구 사항에 따라 스토리지 용량을 대용량 또는 소용량 중에서 선택할 수 있습니다.

비관계형 데이터베이스 스토리지는 어떻게 작동하나요?

NoSQL 데이터베이스라고도 하는 비관계형 데이터베이스는 관계형 데이터베이스와는 다른 방식으로 데이터를 저장하고, 모델링하며, 데이터에 액세스하고, 고유한 데이터 구조를 활용합니다. 다양한 비관계형 데이터베이스는 각기 다른 사용 사례를 지원하며, 각 데이터 저장소는 서로 다른 데이터베이스 구조를 기반으로 설계되어 있습니다.

비관계형 데이터베이스에는 키-값 저장소 데이터베이스, 도큐먼트 데이터베이스, 와이드 컬럼 데이터베이스, 그래프 데이터베이스, 인 메모리 데이터베이스, 검색 데이터베이스가 포함됩니다.

관리형 비관계형 데이터베이스

AWS는 각 유형의 비관계형 데이터베이스에 대해 다양한 관리형 서비스를 제공합니다.

  • Amazon DynamoDB는 내부적으로 맞춤형 분산 SSD 기반 스토리지를 사용하는 관리형 키-값 저장소 및 도큐먼트 데이터베이스 서비스입니다.
  • Amazon DocumentDB(MongoDB 호환)는 맞춤형 분산 SSD 기반 스토리지를 사용하는 네이티브 JSON 도큐먼트 데이터베이스 관리형 서비스입니다.
  • Amazon Keyspaces(Apache Cassandra용)는 맞춤형 분산 SSD 기반 스토리지를 사용하는 Apache Cassandra 호환 와이드 컬럼 데이터베이스 관리형 서비스입니다.
  • Amazon Neptune은 맞춤형 분산 SSD 기반 스토리지를 사용하는 그래프 데이터베이스 관리형 서비스입니다.  
  • Amazon MemoryDB는 맞춤형 분산 SSD 기반 스토리지를 사용하는 Valkey 및 Redis OSS 호환 인 메모리 데이터베이스 서비스입니다. 
  • Amazon ElastiCache는 RAM과 EBS 데이터 스토리지를 기반으로 하며, Valkey, Redis, Memcached 인 메모리 캐시와 호환되는 인 메모리 캐싱 서비스입니다.  

Amazon DynamoDB, Amazon DocumentDB, Amazon Keyspaces, Amazon Neptune, Amazon MemoryDB는 모두 맞춤형 독점 SSD 기반 스토리지 유형을 사용합니다.

Amazon ElastiCache는 EBS 스토리지를 활용하지만, 스토리지 기반 선택 옵션이나 파일 수준 스토리지에 대한 사용자 액세스를 제공하지는 않습니다. ElastiCache는 캐시 유형의 비관계형 데이터베이스입니다.

자체 관리형 비관계형 데이터베이스

AWS에서 비관계형 데이터베이스를 구성하고 저장하는 방식은 관계형 데이터베이스에 사용되는 인프라 패턴과 유사합니다. 

MongoDB, Redis, HBase를 포함한 모든 유형의 NoSQL 데이터베이스를 EC2 인스턴스에서 실행할 수 있습니다. 기본 데이터는 사용 사례에 따라 Amazon EBS, 완전한 탄력성을 제공하는 스토리지인 Amazon Elastic File System(EFS), 그리고 임시 인스턴스 저장소에 저장할 수 있습니다.

다른 유형의 데이터베이스 스토리지에는 무엇이 있나요?

모든 엔터프라이즈 데이터가 관계형 또는 비관계형 데이터베이스 형식에 깔끔하게 맞는 것은 아니며, 현대적인 분석 환경에서는 반정형 및 비정형 데이터 유형도 충분히 처리할 수 있습니다. 

예를 들어, 반정형 데이터는 데이터베이스에 맞게 재구성하지 않고도 Amazon S3에 Apache Avro 데이터 파일 형태로 저장한 후 있는 그대로 분석할 수 있습니다. S3는 어떤 유형의 데이터든 저장할 수 있는 스토리지 솔루션으로 활용할 수 있습니다.

데이터베이스 스토리지 유형은 어떻게 선택해야 하나요?

관리형 데이터베이스 서비스를 사용할지, 아니면 자체 관리형 서비스를 사용할지에 대한 결정은 데이터 스토리지의 선택 범위를 좌우합니다.

전체 환경에 대한 제어

데이터베이스 환경에 대해 완전한 제어권을 원하는 조직은 AWS에서 자체 관리형 데이터베이스 솔루션을 선택해야 합니다. 자체 관리형 데이터베이스와 스토리지는 관계형 데이터베이스와 비관계형 데이터베이스 모두에 사용할 수 있습니다. EC2 자체 관리형 솔루션을 사용하면, 데이터가 EBS, EFS 또는 인스턴스 저장소에 저장되어 있는지 여부와 관계없이 파일 시스템 스토리지에 있는 기본 데이터에 직접 액세스할 수 있습니다.

운영 부담 감소

관리형 서비스는 데이터 저장 위치와 방식에 대한 사용자 지정이 거의 없거나 전혀 제공되지 않지만, 그 대신 인프라 관리와 관련된 운영 부담을 줄여줍니다. 조직은 일반적으로 인프라 관리 및 유지보수 필요성을 줄이고 관리형 서비스의 이점을 활용하기 위해 클라우드로 마이그레이션합니다. 

그러나, 일부 사용 사례에서는 데이터베이스의 기본 데이터에 대해 파일 수준 액세스가 필요한 경우도 있습니다. 예를 들어 기존 애플리케이션이 파일에서 직접 데이터에 액세스하는 경우, 에어갭 시스템이 이러한 구성을 요구하는 경우 또는 규정 준수 및 데이터 무결성 의무로 인해 파일 수준 액세스가 필요한 경우가 이에 해당합니다.

관리형 데이터베이스 서비스를 선택할지, 자체 관리형 데이터베이스 구성을 선택할지는 각 데이터베이스의 고유한 사용 사례에 따라 달라집니다. 조직 내 각 데이터베이스의 기존 구성과 요구 사항을 신중히 검토하는 것이 의사결정을 내리는 데 도움이 됩니다. 

또한 시스템 장애 발생 시 데이터 중복성 요구 사항을 충족할 수 있도록 솔루션에 백업 시스템을 반드시 포함해야 합니다.

AWS가 데이터베이스 스토리지 요구 사항을 어떻게 지원할 수 있나요?

AWS에서 데이터베이스 스토리지는 관리형 데이터베이스 서비스를 선택하면 훨씬 간단해집니다. 각 관리형 서비스가 스토리지를 대신 관리해 주어 관리자가 추가로 구성하지 않아도 되기 때문에 데이터를 효율적으로 처리할 수 있습니다. 관리형 서비스를 사용하면 AWS가 스토리지 관리자 역할을 하게 됩니다. 관리자가 별도로 개입하지 않아도 됩니다.

반면, AWS에서 데이터베이스를 자체 관리 접근 방식으로 운영하면 데이터 저장 방식을 직접 제어할 수 있습니다. 자체 관리 접근 방식에서는 물리적 스토리지에 직접 접근하여 데이터에 액세스하고 데이터를 검색할 수 있습니다.

MySQL 마이그레이션을 수행하든, 새로운 키-값 저장소를 구축하든 상관없이 AWS에서 제공하는 데이터베이스 옵션을 살펴보세요

오늘 바로 AWS에서 무료 계정을 생성하여 요구 사항에 맞는 현대적인 데이터베이스 인프라 구축을 시작해 보세요.