글로벌 테이블은 글로벌 규모의 Amazon DynamoDB를 기반으로 구축되어 완전관리형, 다중 리전, 다중 마스터 데이터베이스를 제공하며, 이 데이터베이스는 대규모로 확장되는 글로벌 애플리케이션에 대해 빠른 로컬 읽기 및 쓰기 성능을 지원합니다. 글로벌 테이블은 선택한 AWS 리전 전체에 DynamoDB 테이블을 자동으로 복제합니다.

글로벌 테이블을 사용하면 리전 간에 데이터를 복제하고 업데이트 충돌을 해결하는 힘든 작업을 수행할 필요가 없으므로 애플리케이션의 비즈니스 로직에 집중할 수 있습니다. 또한, 글로벌 테이블을 사용하면 전체 리전에서 격리 또는 성능 저하 문제가 있는 경우에도 애플리케이션의 가용성을 높게 유지할 수 있습니다.

AWS Management Console 또는 AWS CLI로 글로벌 테이블을 설정할 수 있습니다. 글로벌 테이블은 기존 DynamoDB API를 사용하기 때문에 애플리케이션을 변경할 필요가 없습니다. 글로벌 테이블 사용에 대한 선행 비용이나 약정은 없으며 프로비저닝된 리소스에 대해서만 비용을 지불하면 됩니다. DynamoDB 개발자 안내서에서 글로벌 테이블 설정 방법에 대해 자세히 알아보세요.

작동 방식

DynamoDB 글로벌 테이블은 DynamoDB가 단일 단위로 취급하는 여러 개의 복제본 테이블(AWS 리전당 1개)로 구성되어 생성됩니다. 모든 복제본은 동일한 테이블 이름과 동일한 기본 키 스키마를 가집니다. 애플리케이션이 한 리전의 복제본 테이블에 데이터를 작성하면 DynamoDB는 다른 AWS 리전에 있는 다른 복제본 테이블에 이를 자동으로 복사합니다.

글로벌 테이블의 작동 방식을 보여주는 다이어그램

예를 들어 3개의 지역(미국 동부 해안, 미국 서부 해안, 서유럽)에 다수의 고객 기반이 흩어져 있다고 가정해보겠습니다. 고객은 애플리케이션을 사용하여 자신의 프로필 정보를 업데이트할 수 있습니다. 관리형 복제 솔루션이 없다면 각 리전에 있는 테이블에 데이터 변경 사항을 복제하는 코드를 작성해야 합니다. 하지만 이런 방식은 시간이 오래 걸리고 노동력이 많이 들어갑니다. 코드를 작성하는 대신, 3개의 리전 테이블을 참조하는 글로벌 테이블을 생성하면 DynamoDB가 해당 테이블에 데이터 변경 사항을 자동으로 복제하기 때문에 한 리전의 변경 사항이 다른 리전으로 매끄럽게 복사됩니다. 또한, AWS 리전 중 하나를 임시로 사용하지 못하게 되더라도 고객이 다른 리전의 동일한 데이터에 액세스할 수 있습니다.

이점

로컬에서 읽기 및 쓰기, 전역적으로 데이터에 액세스

멀티 마스터 복제는 모든 리전에서 수행된 업데이트가 다른 리전으로 전파되고 모든 리전의 해당 데이터가 일관성을 유지하도록 보장합니다. 즉, 전역적으로 분산된 애플리케이션에서 로컬로 액세스하는 테이블은 항상 최신 상태를 유지합니다.

성능

글로벌 테이블을 사용하면 데이터를 로컬에서 읽고 쓸 수 있으므로 전 세계에 분산된 애플리케이션에 대해 한 자리 수의 밀리초 지연 시간을 제공할 수 있습니다.

간편한 설정 및 운영

글로벌 테이블은 DynamoDB에서 전역적으로 사용 가능한 테이블을 배포하고 관리하는 복잡성과 운영 부담을 없애 줍니다. 데이터 복제가 필요한 리전을 선택하기만 하면 DynamoDB가 나머지를 처리합니다. 애플리케이션은 기존 DynamoDB API 및 엔드포인트를 통해 글로벌 테이블에 액세스합니다.

가용성, 내구성 및 다중 리전 내결함성

글로벌 테이블은 애플리케이션이 비즈니스 연속성을 유지하고 우수한 성능을 발휘할 수 있도록 도와줍니다. AWS 리전 한 개가 분리되거나 성능이 저하되면 애플리케이션을 다른 리전으로 리디렉션하여 다른 복제본 테이블에 읽기와 쓰기가 가능합니다. 사용자 지정 비즈니스 로직을 적용하여 다른 리전으로 요청을 리디렉션하는 시점을 결정할 수 있습니다. DynamoDB는 그동안 수행되었지만 아직 다른 복제본 테이블에 복사되지 않은 모든 쓰기 작업을 추적합니다. 리전이 다시 온라인 상태가 되면 DynamoDB이 해당 리전에서 대기 중인 모든 쓰기 작업을 다른 리전의 복제본 테이블로 복사하고, 그 반대의 작업도 수행합니다.

일관성 및 충돌 해결

복제본 테이블에 있는 항목의 모든 변경 사항은 동일한 글로벌 테이블 내의 다른 모든 복제본에도 복제됩니다. 글로벌 테이블에서 새로 작성된 항목은 대개 1초 이내에 모든 복제본 테이블로 복사됩니다. 글로벌 테이블에서 각 복제본 테이블은 동일한 데이터 항목 세트를 저장합니다. DynamoDB는 일부 항목만 부분 복제하지 않습니다. 애플리케이션이 여러 리전의 동일한 항목을 거의 동시에 업데이트하면 충돌이 발생할 수 있습니다. DynamoDB 글로벌 테이블은 최종 일관성을 유지하기 위해 동시 업데이트 간에 마지막 작성자를 채택하여 조정하는 방식을 사용하며, DynamoDB는 마지막 작성자를 알아내기 위해 최선의 노력을 기울입니다. 이 충돌 해결 메커니즘에 따라 모든 복제본이 최신 업데이트를 일치시키고 모두 동일한 데이터를 보유한 상태로 수렴합니다.

시작하기

기존 테이블을 글로벌 테이블로 변환하거나 DynamoDB 콘솔 또는 AWS CLI로 새 글로벌 테이블을 생성하여 시작하세요.

모범 사례

글로벌 테이블에 대해 자세히 알아보기
DynamoDB 글로벌 테이블에 대해 자세히 알아보기

DynamoDB 개발자 안내서를 살펴보세요.

자세히 알아보기 
무료 계정에 가입
무료 계정에 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다. 

가입하기 
콘솔에서 구축 시작
콘솔에서 구축 시작

DynamoDB 콘솔에서 DynamoDB 글로벌 테이블 구축을 시작하세요.

구축 시작하기