기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
PERF03-BP01 데이터 액세스 및 스토리지 요구 사항을 가장 잘 지원하는 전용 데이터 스토어 사용
데이터 특성(공유 가능 여부, 크기, 캐시 크기, 액세스 패턴, 지연 시간, 처리량, 데이터 지속성 등)을 이해하여 워크로드에 적합한 목적별 데이터 스토어(스토리지 또는 데이터베이스)를 선택해야 합니다.
일반적인 안티 패턴:
-
하나의 특정 데이터베이스 솔루션에 대한 내부 경험과 지식만 갖춘 탓에 하나의 데이터 스토어만 고수합니다.
-
모든 워크로드의 데이터 스토리지 및 액세스 요구 사항이 비슷하다고 가정합니다.
-
데이터 자산의 인벤토리 등록을 위한 데이터 카탈로그를 구현하지 않았습니다.
이 모범 사례 확립의 이점: 데이터 특성과 요구 사항을 파악하면 워크로드 요구 사항을 충족하는 가장 효율적이고 성능이 뛰어난 스토리지 기술을 결정할 수 있습니다.
이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 높음
구현 가이드
데이터 스토리지를 선택하고 구현할 때 쿼리, 크기 조정 및 스토리지 특성이 워크로드 데이터 요구 사항을 지원하는지 확인합니다. 는 블록 스토리지, 객체 스토리지, 스트리밍 스토리지, 파일 시스템, 관계형, 키-값, 문서, 메모리 내, 그래프, 시계열 및 원장 데이터베이스를 비롯한 다양한 데이터 스토리지 및 데이터베이스 기술을 AWS 제공합니다. 각 데이터 관리 솔루션에는 사용 사례 및 데이터 모델을 지원하는 옵션과 구성이 있습니다. 데이터 특성과 요구 사항을 이해하면 모놀리식 스토리지 기술과 데이터 관리에 집중하는 제한적인 one-size-fits-all 접근 방식에서 벗어날 수 있습니다.
구현 단계
-
워크로드에 존재하는 다양한 데이터 유형의 인벤토리를 수행합니다.
-
다음과 같은 데이터 특성 및 요구 사항을 이해하고 문서화합니다.
-
데이터 형식(비정형, 반정형, 관계형)
-
데이터 볼륨 및 증가
-
데이터 내구성: 영구, 임시, 일시적
-
ACID (원자성, 일관성, 격리, 내구성) 요구 사항
-
데이터 액세스 패턴(읽기 중심 또는 쓰기 중심)
-
지연 시간
-
처리량
-
IOPS (초당 입력/출력 작업 수)
-
데이터 보존 기간
-
-
에 설명된 대로 데이터 특성을 충족할 수 AWS 있는 의 워크로드에 사용할 수 있는 다양한 데이터 스토어(스토리지 및 데이터베이스 서비스)에 대해 알아봅니다PERF01-BP01 사용 가능한 클라우드 서비스 및 기능에 대해 알아보고 이해. 다음은 AWS 스토리지 기술의 몇 가지 예와 주요 특성입니다.
유형 AWS 서비스 주요 특징 객체 스토리지 Amazon S3 무제한 확장성, 고가용성, 다양한 접근성 옵션. Amazon S3 안팎에서 객체를 전송하고 객체에 액세스할 때 전송 가속화 또는 액세스 포인트 와 같은 서비스를 사용하여 위치, 보안 요구 사항 및 액세스 패턴을 지원할 수 있습니다. 아카이빙 스토리지 Amazon S3 Glacier 데이터 보관을 위해 제작되었습니다. 스트리밍 스토리지 스트리밍 데이터의 효율적인 수집 및 저장. 공유 파일 시스템 여러 유형의 컴퓨팅 솔루션에서 액세스할 수 있는 탑재 가능한 파일 시스템입니다.
공유 파일 시스템 Amazon FSx 일반적으로 사용되는 파일 시스템인 Open NetApp ONTAP, ZFSWindows File Server 및 Lustre를 지원하는 최신 AWS 컴퓨팅 솔루션을 기반으로 합니다. FSxAmazonlatency, 처리량 및 IOPS 는 파일 시스템에 따라 다르므로 워크로드 요구 사항에 적합한 파일 시스템을 선택할 때 고려해야 합니다. 블록 스토리지 Amazon Elastic Block Store(AmazonEBS) Amazon Elastic Compute Cloud(Amazon )용으로 설계된 확장 가능한 고성능 블록 스토리지 서비스입니다EC2. AmazonEBS에는 트랜잭션 집IOPS약적 워크로드를 위한 SSD지원 스토리지와 처리량 집약적 워크로드를 위한 HDD지원 스토리지가 포함되어 있습니다. 관계형 데이터베이스 Amazon Aurora ,Amazon RDS ,Amazon Redshift . ACID (원자성, 일관성, 격리, 내구성) 트랜잭션을 지원하고 참조 무결성과 강력한 데이터 일관성을 유지하도록 설계되었습니다. 많은 기존 애플리케이션, 엔터프라이즈 리소스 계획(ERP), 고객 관계 관리(CRM) 및 전자 상거래는 관계형 데이터베이스를 사용하여 데이터를 저장합니다. 키 값 데이터베이스 Amazon DynamoDB 대개 대량의 데이터를 저장 및 검색하는 일반적인 접근 패턴에 최적화되어 있습니다. 트래픽이 많은 웹 앱, 전자 상거래 시스템, 게임 애플리케이션은 키 값 데이터베이스의 일반적인 사용 사례입니다. 문서 데이터베이스 Amazon DocumentDB 반정형 데이터를 JSON유사 문서로 저장하도록 설계되었습니다. 이러한 데이터베이스는 개발자가 콘텐츠 관리, 카탈로그 및 사용자 프로필과 같은 애플리케이션을 신속하게 구축하고 업데이트하는 데 도움이 됩니다. 인 메모리 데이터베이스 Amazon ElastiCache , Amazon MemoryDB for Redis 데이터에 대한 실시간 액세스, 최저 지연 시간 및 최대 처리량을 요하는 애플리케이션에 사용됩니다. 애플리케이션 캐싱, 세션 관리, 게임 순위표, 저지연 ML 특성 저장소, 마이크로서비스 메시징 시스템, 고처리량 스트리밍 메커니즘에 인메모리 데이터베이스를 사용할 수 있습니다. 그래프 데이터베이스 Amazon Neptune 밀접한 관계가 있는 그래프 데이터 세트 간에 밀리초 단위의 지연 시간으로 수백만 개의 관계를 탐색하고 쿼리해야 하는 애플리케이션을 위한 솔루션입니다. 많은 기업에서 사기 탐지, 소셜 네트워킹 및 추천 엔진에 그래프 데이터베이스를 사용합니다. 시계열 데이터베이스 Amazon Timestream 시간이 지남에 따라 변화하는 데이터에서 효율적으로 분석 정보를 수집, 통합 및 도출합니다. IoT 애플리케이션 DevOps및 산업용 원격 측정은 시계열 데이터베이스를 활용할 수 있습니다. 와이드 컬럼 Amazon Keyspaces(Apache Cassandra용) 테이블, 행 및 열을 사용하지만 관계형 데이터베이스와 달리 동일한 테이블 내의 열의 이름과 형식이 행마다 다를 수 있습니다. 일반적으로 와이드 컬럼 스토어는 대규모 산업 앱에서 장비 유지 관리, 플릿 관리 및 라우팅 최적화를 위해 사용됩니다. 원장 Amazon Quantum 원장 데이터베이스(AmazonQLDB) 모든 애플리케이션에 대해 확장 가능하고 변경 불가능하며 암호화 방식으로 확인 가능한 트랜잭션 레코드를 유지하는 신뢰할 수 있는 중앙 집중식 권한을 제공합니다. 레코드 시스템, 공급망, 등록 및 심지어 은행 거래 시스템에 원장 데이터베이스가 사용되는 것을 볼 수 있습니다. -
데이터 플랫폼을 빌드하는 경우 에서 최신 데이터 아키텍처
AWS 를 활용하여 데이터 레이크, 데이터 웨어하우스 및 특별히 구축된 데이터 스토어를 통합합니다. -
워크로드에 맞는 데이터 스토어를 선택할 때 고려해야 할 주요 질문은 다음과 같습니다.
질문 고려할 사항 데이터는 어떻게 구성되어 있나요? -
데이터가 구조화되지 않은 경우 Amazon S3
와 같은 객체 스토어 또는 Amazon DocumentDB 와 같은 데이터베이스 없음SQL 고려 -
키-값 데이터의 경우 DynamoDB
Amazon ElastiCache (RedisOSS) 또는 Amazon MemoryDB 를 고려합니다.
어느 정도 수준의 참조 무결성이 필요한가요? -
외래 키 제약의 경우 Amazon RDS
및 Aurora 와 같은 관계형 데이터베이스가 이러한 수준의 무결성을 제공할 수 있습니다. -
일반적으로 데이터 없음SQL 모델 내에서는 문서 또는 테이블 간에 조인하는 대신 데이터를 단일 문서 또는 단일 요청으로 검색할 문서 모음으로 정규화 해제합니다.
ACID (원자성, 일관성, 격리, 내구성) 규정 준수가 필요합니까? -
관계형 데이터베이스와 연결된 ACID 속성이 필요한 경우 Amazon RDS
및 Aurora 와 같은 관계형 데이터베이스를 고려하세요. -
데이터베이스 없음SQL
에 대해 강력한 일관성이 필요한 경우 DynamoDB 와 매우 일관된 읽기를 사용할 수 있습니다.
시간의 경과에 따라 스토리지 요구 사항이 어떻게 변하나요? 이러한 변화가 확장성에 어떤 영향을 미치나요? -
DynamoDB
및 Amazon Quantum Ledger Database(Amazon QLDB)와 같은 서버리스 데이터베이스 는 동적으로 확장됩니다. -
관계형 데이터베이스는 프로비저닝된 스토리지에 대한 상한선이 있으며, 한도에 도달하면 샤딩과 같은 메커니즘을 통해 수평으로 분할해야 하는 경우가 많습니다.
쓰기 쿼리 대비 읽기 쿼리의 비율이 어떻게 되나요? 캐싱으로 성능이 향상될 가능성이 있나요? -
데이터베이스가 DynamoDB인 DAX
경우 ElastiCache 또는 와 같이 읽기 작업이 많은 워크로드는 캐싱 계층의 이점을 누릴 수 있습니다. -
Amazon 과 같은 관계형 데이터베이스를 사용하여 읽기 전용 복제본에 읽기를 오프로드할 수도 있습니다RDS
.
스토리지 및 수정(OLTP - 온라인 트랜잭션 처리) 또는 검색 및 보고(OLAP - 온라인 분석 처리)의 우선 순위가 더 높습니까? -
처리량이 높은 현재 상태 그대로 읽기 트랜잭션 처리의 경우 DynamoDB와 같은 데이터베이스 없음SQL 을 고려합니다.
-
처리량이 높고 읽기 패턴(예: 조인)이 복잡하며 일관성이 있는 경우 Amazon 를 사용합니다RDS.
-
분석 쿼리의 경우 Amazon Redshift
또는 Amazon S3로 데이터 내보내기와 같은 열 기반 데이터베이스를 고려하고 Athena 또는 Amazon QuickSight 를 사용하여 분석을 수행합니다.
데이터에 필요한 내구성은 어느 정도인가요? -
Aurora는 리전 내 3개의 가용 영역에서 데이터를 자동으로 복제하므로, 데이터 손실 가능성이 적으면서도 데이터의 내구성이 매우 높아집니다.
-
DynamoDB는 여러 가용 영역에 걸쳐 자동으로 복제되므로, 높은 가용성과 데이터 내구성을 제공합니다.
-
Amazon S3는 99.999999999%의 내구성을 지원합니다. Amazon RDS 및 DynamoDB와 같은 많은 데이터베이스 서비스는 장기 보존 및 아카이브를 위해 Amazon S3로 데이터 내보내기를 지원합니다.
상용 데이터베이스 엔진을 쓰고 싶지 않거나 라이선싱 비용을 들이고 싶지 않은가요? -
Amazon RDS 또는 Aurora의 PostgreSQL 및 MySQL와 같은 오픈 소스 엔진을 고려합니다.
-
AWS Database Migration Service
및 AWS Schema Conversion Tool 을 활용하여 상용 데이터베이스 엔진에서 오픈 소스로 마이그레이션을 수행합니다.
운영상 데이터베이스에 대해 어떤 점을 기대하나요? 주된 관심 사항이 관리형 서비스로 전환하는 것인가요? -
Amazon RDS SQL 대신 Amazon을 사용하고, 자체 호스팅 대신 EC2 DynamoDB 또는 Amazon DocumentDB를 사용하면 운영 오버헤드를 줄일 수 있습니다.
현재 데이터베이스에 어떻게 액세스하고 있나요? 애플리케이션 액세스만 가능합니까, 아니면 비즈니스 인텔리전스(BI) 사용자 및 기타 연결된 off-the-shelf 애플리케이션이 있습니까? -
외부 도구에 대한 종속성이 있는 경우 해당 도구가 지원하는 데이터베이스와의 호환성을 유지해야 할 수 있습니다. AmazonRDS은 Microsoft SQL Server, OracleSQL, My 및 Postgre를 포함하여 지원하는 다양한 엔진 버전과 완벽하게 호환됩니다SQL.
-
-
비프로덕션 환경에서 실험 및 벤치마킹을 수행하여 워크로드 요구 사항을 가장 잘 해결할 수 있는 데이터 스토어를 파악합니다.
리소스
관련 문서:
관련 비디오:
관련 예제: