Amazon SimpleDB는 데이터베이스 관리 작업의 부담을 덜어주는 고가용성의 NoSQL 데이터 스토어입니다. 개발자는 웹 서비스 요청을 통해 데이터 항목을 저장하고 쿼리하며 이후 나머지 부분은 Amazon SimpleDB가 처리합니다.

Amazon SimpleDB는 관계형 데이터베이스의 엄격한 요구사항에 대한 제약을 받지 않기 때문에 높은 가용성과 유연성을 제공하면서도 관리의 부담은 거의 없습니다. Amazon SimpleDB는 여러 지역에 분산된 복제 데이터를 생성 및 관리하므로, 높은 가용성과 데이터의 안정성을 확보할 수 있습니다. 이 서비스는 데이터 보관과 요청에 대한 서비스를 고객에게 제공할 때 실제 소비된 리소스에 대해서만 비용이 부과됩니다. 데이터 모델을 변경할 수도 있으며 데이터가 자동 색인됩니다. Amazon SimpleDB를 이용하면 인프라 제공, 높은 가용성, 소프트웨어 유지관리, 스키마 및 색인 관리, 또는 성능 튜닝에 대해 걱정 없이 애플리케이션 개발에 집중할 수 있습니다.



힘들고 시간 소모적인 데이터베이스 관리는 서비스에서 처리하기 때문에 보다 가치 있는 애플리케이션 개발에만 온전히 집중할 수 있습니다. Amazon SimpleDB는 인프라 프로비저닝, 하드웨어 및 소프트웨어 유지관리, 데이터 항목의 복제 및 인덱싱 및 성능 튜닝 작업을 자동으로 처리합니다.

Amazon SimpleDB는 저장하는 각 데이터 항목의 사본을 여러 개 생성해 여러 지역으로 자동 분산합니다. 만일 어느 한 복제본에 오류가 생기더라도 Amazon SimpleDB가 시스템의 다른 복제본으로 장애 조치하기 때문에 높은 수준의 가용성과 내구성이 보장됩니다.

비즈니스가 변화하고 애플리케이션이 진화하더라도 견고한 스키마를 폐기하거나 코드를 다시 작성해야 할지 걱정하지 않아도 됩니다. 필요할 때 언제든 Amazon SimpleDB 데이터에 다른 속성을 추가하기만 하면 Amazon SimpleDB에 이러한 변화들을 쉽게 반영할 수 있습니다. 읽기 일관성 또는 최종 읽기 일관성 요청 중에 선택할 수 있고, 애플리케이션은 물론 애플리케이션의 각 구성 요소에 필요한 읽기 성능(지연 시간 및 처리량)과 일관성을 유연하게 조정할 수 있습니다.

Amazon SimpleDB는 복잡하고 잘 사용되지 않는 기타 데이터베이스 작업은 배제하고, 주로 관계형 데이터베이스 클러스터를 사용하여 실행하는 저장 및 쿼리 기능에 간단히 액세스할 수 있게 설계되었습니다. 덕분에 간단한 API 호출 집합을 사용해 데이터를 빠르게 추가하고, 해당 데이터를 쉽게 검색하거나 편집할 수 있습니다.

Amazon SimpleDB는 웹 규모 애플리케이션 생성을 위한 인프라를 제공하는 Amazon S3 및 EC2와 같은 다른 AWS 서비스와 쉽게 통합되도록 설계되었습니다. 예를 들어, 개발자는 자체 애플리케이션을 Amazon EC2에서 실행하고 그 데이터 객체는 Amazon S3에 저장할 수 있습니다. 그런 다음 Amazon SimpleDB를 사용해 Amazon EC2의 애플리케이션에서 객체 메타데이터를 쿼리하고, Amazon S3에 저장된 객체로 포인터를 반환할 수 있습니다. 또한 관계형 데이터베이스와 비관계형 데이터베이스가 모두 필요한 애플리케이션에 Amazon SimpleDB와 Amazon RDS를 함께 사용할 수도 있습니다. 동일한 리전에서 Amazon SimpleDB와 다른 Amazon Web Services 간에 데이터를 전송하는 비용은 무료입니다.

Amazon SimpleDB는 HTTPS 엔드포인트로 애플리케이션 또는 클라이언트와 도메인 간 통신을 안전하게 암호화합니다. 또한 AWS Identity and Access Management와 통합하여 특정 SimpleDB 도메인과 작업에 대한 액세스를 사용자 또는 그룹 수준에서 제어할 수 있습니다.

Amazon SimpleDB는 Amazon의 규모의 경제가 가져다주는 비용 혜택을 그대로 선사합니다. 실제로 사용한 리소스에 대해서만 종량 과금제로 청구됩니다. Amazon SimpleDB의 경우에는 데이터 저장 읽기 및 쓰기 비용이 각 작업 시 소비한 컴퓨팅 리소스만큼만 청구될 뿐, 요청 생성의 경우처럼 실제 리소스를 사용하지 않을 때에는 컴퓨팅 리소스 비용이 청구되지 않는다는 의미입니다.

많은 개발자들이 Amazon SimpleDB를 사용하면 프러덕션 데이터베이스를 실행하는 데 필요한 작업에서 완전히 벗어날 수 있기 때문에 Amazon SimpleDB야말로 신경 쓸 필요가 없고 조건 또는 이벤트, 상태 업데이트, 반복 작업, 워크플로 프로세스 또는 장치 및 애플리케이션 상태에 대한 정보를 로깅할 수 있는 이상적인 데이터 스토리지라고 여기고 있습니다. Amazon SimpleDB를 사용하면 이러한 데이터 로그를 비용 효율적으로 “설정만 해놓고 잊어버리고” 있다가 다음과 같은 다양한 용도로 사용할 수 있습니다.

  • 모니터링 또는 추적
  • 측정
  • 비즈니스 동향 분석
  • 감사
  • 아카이브 또는 규정 준수

사용 예는 다음과 같습니다.

  • 서버 로그를 중앙에 저장하여 실행 중인 각 서버에서 로그 저장에 필요한 공간 절약
  • 향후 분석을 위해 운영 metric 또는 지속적인 성능 테스트 결과 로깅
  • 애플리케이션 또는 네트워크 장치에 대한 액세스 항목 또는 구성 변경 사항 감사
  • 다양한 위치의 환경 조건(온도, 압력, 습도 등) 캡처 및 모니터링과 특정 조건에서 발효할 경고 프로그래밍
  • 워크플로의 작업과 관련된 객체 또는 프로세스 상태에 대한 지리 위치 정보 로깅 및 추적

다음과 같은 여러 가지 특성 덕분에 Amazon SimpleDB는 매력적인 데이터 로그용 데이터 스토리지로 각광받고 있습니다.

  • 중앙에 저장되어 고가용성 유지 – 이전에는 데이터 로그가 여러 장치/객체, 애플리케이션 또는 프로세스 사일로에 로컬로 기록되었다면 클라우드에서는 한 곳에서 중앙 집중식으로 데이터에 액세스할 수 있습니다. 그뿐 아니라, Amazon SimpleDB에서 자동으로 데이터를 지역별로 중복 복제하여 고가용성을 몸으로 직접 느낄 수 있습니다. 이는 중앙 집중식 온 프레미스 솔루션과 달리 Amazon SimpleDB에서는 단일장애점(Single-point-of-Failure)을 걱정할 필요가 없고 데이터를 필요할 때 바로 사용할 수 있다는 의미입니다. 모든 데이터는 하나의 솔루션으로 웹 서비스 요청을 통해 저장할 수 있으며 어떤 장치에서나 액세스할 수 있습니다.
  • 관리 부담 제로 – 간단한 웹 서비스 요청으로 데이터 항목을 저장하면 나머지 작업은 모두 Amazon Web Services에서 알아서 수행합니다. 이 서비스의 "설정해 놓고 잊어버릴" 수 있는 장점 덕분에 데이터 로그를 저장하고 유지관리하기 위해 데이터베이스 관리에 시간을 소모할 필요가 없습니다.
  • 비용 효율성 - Amazon SimpleDB의 데이터 로그 저장 및 쿼리 요금은 저렴합니다. 사용한 리소스에 대해서만 종량 과금제로 지불하면 되므로 번거롭게 용량 계획을 세우거나 데이터베이스 부하에 대해 걱정할 필요가 없습니다. 이 서비스는 요청 볼륨의 변동폭에 쉽게 대응하고, 종량 과금제로 청구됩니다.

Amazon SimpleDB는 모든 플랫폼의 온라인 게임 개발자를 위해 사용자 및 게임 데이터에 대한 관리 작업이 필요 없고 고가용성과 확장성을 갖춘 데이터베이스 솔루션을 제공합니다.

일반적인 데이터 온라인 게임이 Amazon SimpleDB에서 저장하고, 인덱싱하고, 쿼리할 수 있는 데이터는 다음과 같습니다.

  • 사용자 점수 및 기록
  • 사용자 설정 또는 기본 설정
  • 플레이어 아이템 또는 사용자 생성 콘텐츠에 대한 정보
  • 게임 세션 상태(플레이가 저장되거나 중단된 경우)
  • 동적 게임 콘텐츠(Amazon SimpleDB를 사용하여 게임에 서비스 지향 아키텍처를 적용하고 플레이어를 위한 새로운 미션이나 콘텐츠를 저장하여 서비스)
  • 게임에 사용되고 Amazon S3에 저장된 대용량 객체의 인덱싱 메타데이터

다음과 같은 여러 가지 특성 덕분에 Amazon SimpleDB를 이상적인 온라인 게임 데이터의 데이터 스토리지라고 할 수 있습니다.

  • 고가용성(자동 중복 복제 및 장애 조치): Amazon SimpleDB는 자동으로 데이터 사본을 여러 개 만들고 사본 하나가 사용 불가능하게 될 경우에 사용 가능한 다른 사본으로 즉각 장애 조치해 고가용성을 유지합니다. 이는 복잡한 데이터베이스 클러스터 설정 작업 없이도 게임 및 사용자에게 주요 데이터에 대한 안정적인 액세스를 가동 중단 없이 그대로 제공할 수 있다는 의미입니다.
  • 자동 조정: 사용자층이 넓어지고 접속률이 높아지면서 트래픽과 요청 볼륨 변동폭이 커지더라도 Amazon SimpleDB가 개발자 개입 없이 쉽게 대응합니다. 사용자는 실제로 사용한 리소스에 대해서만 종량 과금제로 지불하면 됩니다.
  • 관리 부담 제로: 번거롭게 데이터베이스를 관리할 필요가 없으며 인프라 프로비저닝, 소프트웨어 설정, 스키마 만들기 및 유지관리, 인덱스 작성 또는 쿼리 성능 조정 작업을 수행할 필요도 없습니다. 데이터베이스 관리자 역할은 제쳐두고 사용자를 위해 재미있는 게임과 콘텐츠를 생성하는 데 몰두할 수 있습니다.

많은 개발자들이 Amazon SimpleDB와 Amazon Simple Storage Service(Amazon S3)를 함께 사용합니다. Amazon SimpleDB는 Amazon S3 객체 위치 및 객체 세부 정보(메타데이터)의 지시자를 저장해 주기 때문에 Amazon S3를 다양한 데이터베이스 쿼리 기능으로 보완하는 데 사용할 수 있습니다. Amazon S3에 대량의 객체를 저장하는 개발자를 위해 Amazon SimpleDB는 유연하고 확장 가능하며 저렴하게 객체 메타데이터를 저장하는 방법을 제공하여 데이터베이스 실행과 관련된 모든 관리 부담을 덜어줍니다. Amazon SimpleDB에 쉽게 저장하고, 인덱싱하고, 쿼리할 수 있는 일반적인 객체의 예는 다음과 같습니다.

  • 데이터 유형 또는 형식(이미지, 동영상, 문서)
  • 사용자 연결 또는 액세스 대상
  • 객체를 만들거나, 액세스하거나, 수정한 날짜
  • 관련 객체의 이름 또는 위치
  • 사용자 평가 및 의견
  • 주제 또는 범주 태그
  • 지리적 위치 태그

위에 나열된 예와 같은 메타데이터를 저장하는 기능은 콘텐츠 전송, 미디어 애플리케이션, 백업 및 아카이브 애플리케이션 및 기타 여러 애플리케이션 유형에 특히 중요합니다. Amazon SimpleDB는 다음과 같은 기능을 제공하므로 메타데이터를 저장할 이상적인 스토리지입니다.

  • 스키마를 사용하지 않는 유연한 설계: 엄격한 스키마를 "위반"하지 않고 메타데이터 속성을 쉽게 추가합니다. 동영상 객체에 대한 사용자 평가 추적을 시작할 때에도 시간 소모적인 데이터베이스 변경 과정이 없습니다.
  • 다중값 속성: 메타데이터 속성에 값을 여러 개 포함할 수 있습니다. 즉, 여러 사람이나 여러 장르의 음악 파일로 사진에 태그를 지정할 수 있음을 의미합니다.
  • 관리 부담 제로: Amazon SimpleDB는 데이터베이스 실행에 필요한 인프라 프로비저닝과 소프트웨어 설치 및 유지관리의 번거로움을 없애 줄 뿐 아니라 데이터를 자동으로 인덱싱하고, 쿼리 성능을 조정하고, 지역별로 중복 데이터 사본을 만들어 줍니다.

또한 매끄러운 확장성을 갖추고 있고, 요청 볼륨 변경에 자동으로 대응하며, 실제 사용한 리소스에 대해서만 종량 과금제로 저렴하게 청구합니다.