Aurora PostgreSQL Limitless Database 아키텍처
Limitless Database는 여러 데이터베이스 노드로 구성된 2계층 아키텍처로 확장할 수 있습니다. 노드는 라우터 또는 샤드입니다.
-
샤드는 각각 데이터베이스의 데이터 하위 집합을 저장하는 Aurora PostgreSQL DB 인스턴스로, 동시 처리를 통해 쓰기 처리량을 높일 수 있습니다.
-
라우터는 데이터베이스의 분산되어 있는 속성을 관리하고 데이터베이스 클라이언트에 단일 데이터베이스 이미지를 제공합니다. 라우터는 데이터가 저장되는 위치에 대한 메타데이터를 유지하고, 들어오는 SQL 명령을 구문 분석하고, 이러한 명령을 샤드로 전송합니다. 그런 다음 샤드의 데이터를 집계하여 단일 결과를 클라이언트에 반환하고 분산 트랜잭션을 관리하여 전체 분산 데이터베이스에서 일관성을 유지합니다.
Aurora PostgreSQL Limitless Database는 라이터 DB 인스턴스 및 리더 DB 인스턴스 대신 DB 샤드 그룹을 보유하므로 표준 Aurora DB 클러스터과 다릅니다. Limitless Database 아키텍처를 구성하는 모든 노드는 DB 샤드 그룹에 포함됩니다. DB 샤드 그룹의 개별 샤드 및 라우터는 AWS 계정에 표시되지 않습니다. DB 클러스터 엔드포인트를 사용하여 Limitless Database에 액세스합니다.
다음 그림은 Aurora PostgreSQL Limitless Database의 개괄적인 아키텍처를 보여줍니다.

Aurora PostgreSQL Limitless Database의 아키텍처와 이를 사용하는 방법에 대한 자세한 내용은 YouTube의 AWS Event 채널에서 아래 비디오를 참조하세요.
표준 Aurora DB 클러스터의 아키텍처에 대한 자세한 내용은 Amazon Aurora DB 클러스터 섹션을 참조하세요.
Aurora PostgreSQL Limitless Database의 주요 용어
- DB 샤드 그룹
-
Limitless Database 노드(샤드 및 라우터)용 컨테이너입니다.
- 라우터
-
클라이언트에서 SQL 연결을 수락하고, SQL 명령을 샤드로 전송하고, 시스템 전반의 일관성을 유지하고, 결과를 클라이언트에 반환하는 노드입니다.
- 샤드
-
샤딩된 테이블의 하위 집합, 참조 테이블의 전체 사본 및 표준 테이블을 저장하는 노드입니다. 라우터의 쿼리를 수락하지만 클라이언트에 의해 직접 연결할 수는 없습니다.
- 샤딩된 테이블
-
데이터가 샤드에 파티셔닝되어 있는 테이블입니다.
- 샤드 키
-
샤드 간 파티셔닝을 결정하는 데 사용되는 샤딩된 테이블의 열 또는 열 집합입니다.
- 공동 배치된 테이블
-
동일한 샤드 키를 공유하고 명시적으로 공동 배치된 것으로 선언된 두 개의 샤딩된 테이블입니다. 동일한 샤드 키 값에 대한 모든 데이터는 동일한 샤드로 전송됩니다.
- 참조 테이블
-
모든 샤드에 전체 데이터가 복사된 테이블입니다.
- 표준 테이블
-
Limitless Database의 기본 테이블 유형입니다. 표준 테이블을 샤딩 및 참조 테이블로 변환할 수 있습니다.
모든 표준 테이블은 시스템에서 선택한 동일한 샤드에 저장되므로 단일 샤드 내에서 표준 테이블 간의 조인을 수행할 수 있습니다. 그러나 표준 테이블은 샤드의 최대 용량(128TiB)으로 제한됩니다. 또한 이 샤드는 샤딩된 테이블과 참조 테이블의 데이터를 저장하므로 표준 테이블의 유효 한도는 128TiB보다 낮습니다.
Aurora PostgreSQL Limitless Database의 테이블 유형
Aurora PostgreSQL Limitless Database는 샤딩된 테이블, 참조 테이블 및 표준 테이블의 세 가지 테이블 유형을 지원합니다.
샤딩된 테이블의 데이터는 DB 샤드 그룹의 모든 샤드에 분산되어 있습니다. Limitless Database는 테이블을 파티셔닝할 때 지정하는 열 또는 열 집합인 샤드 키를 사용하여 이를 자동으로 수행합니다. 샤드 키 값이 동일한 모든 데이터는 동일한 샤드로 전송됩니다. 샤딩은 범위 또는 목록 기반이 아닌 해시 기반입니다.
다음은 샤딩된 테이블의 좋은 사용 사례입니다.
-
애플리케이션이 고유한 데이터 하위 집합으로 작동하는 경우
-
테이블이 매우 큰 경우
-
테이블이 다른 테이블보다 더 빠르게 커질 수 있는 경우
샤딩된 테이블을 공동 배치될 수 있습니다. 즉, 동일한 샤드 키를 공유하며 두 테이블에서 샤드 키 값이 동일한 모든 데이터가 동일한 샤드로 전송됩니다. 테이블을 공동 배치하고 샤드 키를 사용하여 조인하는 경우 필요한 모든 데이터가 해당 샤드에 존재하므로 단일 샤드에서 조인을 수행할 수 있습니다.
참조 테이블은 모든 데이터의 전체 복사본이 DB 샤드 그룹의 모든 샤드에 있습니다. 참조 테이블은 일반적으로 쓰기 볼륨이 낮은 작은 테이블이지만 여전히 자주 조인해야 하고 샤딩에 적합하지 않은 경우에 자주 사용됩니다. 참조 테이블의 예로는 날짜 테이블과 주, 도시, 우편 번호 등의 지리적 데이터 테이블이 있습니다.
표준 테이블은 Aurora PostgreSQL Limitless Database의 기본 테이블 유형입니다. 분산 테이블이 아닙니다. Aurora PostgreSQL Limitless Database는 표준 테이블과 표준 테이블, 샤딩된 테이블, 참조 테이블 간의 조인을 지원합니다.
Aurora PostgreSQL Limitless Database의 요금 청구
Aurora PostgreSQL Limitless Database 요금이 청구되는 방법에 대한 자세한 내용은 Aurora에 대한 DB 인스턴스 결제 섹션을 참조하세요.
Aurora요금에 대한 자세한 내용은 Aurora 요금 페이지