키-값(key-value) 데이터베이스란?

키-값 데이터베이스의 정의

키-값 데이터베이스는 간단한 키-값 메소드를 사용하여 데이터를 저장하는 비관계형 데이터베이스 유형입니다. 키-값 데이터베이스는 키를 고유한 식별자로 사용하는 키-값 쌍의 집합으로 데이터를 저장합니다. 단순한 객체에서 복잡한 집합체에 이르기까지 무엇이든 키와 값이 될 수 있습니다. 키-값 데이터베이스는 파티셔닝이 가능하고 다른 유형의 데이터베이스로는 불가능한 범위까지 수평 확장을 가능하게 합니다. 기존 파티션의 용량이 차서 추가 저장 공간이 필요한 경우 Amazon DynamoDB는 테이블에 추가 파티션을 할당합니다.

다음 다이어그램은 DynamoDB에 키-값 쌍으로 저장된 데이터의 예를 보여줍니다.

DynamoDB에 키-값 쌍으로 저장된 데이터의 예를 보여주는 다이어그램

사용 사례

세션 스토어

웹 애플리케이션과 같은 세션 지향 애플리케이션은 사용자가 로그인할 때 세션을 시작하고 사용자가 로그아웃하거나 세션의 시간이 초과될 때까지 활성화된 상태로 있습니다. 그 사이 애플리케이션은 모든 세션 관련 데이터를 주 메모리 또는 데이터베이스에 저장합니다. 대체로 사용자 프로필 정보, 메시지, 개인 설정 데이터 및 테마, 권장 사항, 사용자 대상 판촉 및 할인이 세션 데이터에 해당됩니다. 각 사용자 세션에는 고유 식별자가 있습니다. 세션 데이터는 기본 키 이외의 다른 키에 의해 쿼리되지 않으므로 속도가 빠른 키-값 저장소가 세션 데이터에 더 적합합니다. 일반적으로 키-값 데이터베이스는 관계형 데이터베이스에 비하여 페이지당 제공하는 오버헤드가 적습니다.

장바구니

연말연시 쇼핑 시즌에는 전자 상거래 웹사이트에서 수십억 개의 주문을 수 초 만에 수령할 수 있습니다. 키-값 데이터베이스는 분산 처리 및 저장을 통해 한꺼번에 수백만 명의 사용자에게 서비스를 제공하는 동시에 대량의 데이터 처리와 매우 많은 양의 상태 변경 작업을 처리할 수 있습니다. 또한, 키-값 데이터베이스에는 내장형 중복 기능이 있어서 스토리지 노드의 손실을 방지하도록 합니다.

가장 많이 사용하는 키-값 데이터베이스

Amazon DynamoDB

Amazon DynamoDB는 규모와 관계없이 안정적인 성능을 제공하는 비관계형 데이터베이스입니다. 완전관리형 다중 리전 다중 마스터 데이터베이스로서,일관된 10밀리초 미만의 응답성을 제공하고 보안 기능, 백업 및 복원, 인 메모리 캐싱을 기본 제공합니다. DynamoDB에서 항목은 기본 키 또는 복합 키와 가변적 수의 속성으로 구성됩니다. 개별 항목과 관련된 속성의 수에는 명시적 제한이 없지만 모든 속성 이름 및 속성 값을 포함한 단일 항목의 총 크기는 400KB를 넘을 수 없습니다. 관계형 데이터베이스의 테이블은 행의 집합이듯, 테이블은 데이터 항목의 집합입니다. 각 테이블의 데이터 항목 수에는 제한이 없습니다.

단계별 강좌로 10분이면 DynamoDB를 실행하고 사용할 수 있습니다. DynamoDB에 대해 자세히 알아보고 지금 바로 시작해보십시오.

Amazon DynamoDB 시작하기

Apache Cassandra

Apache Cassandra는 널리 사용되는 고성능 비관계 데이터베이스입니다. 현재 온프레미스 Cassandra를 사용하는 AWS 고객은 Amazon EC2에서 Cassandra를 실행하는 데 따른 확장성, 안정성, 보안성 및 비용상 이점을 활용할 수 있습니다.

EC2와 Amazon Elastic Block Store(Amazon EBS)는 AWS 클라우드에서 안전하고 확장성이 뛰어난 컴퓨팅 파워와 스토리지를 제공합니다. 함께 사용하면 필요에 따라 Cassandra 배포 및 용량 확장이 가능합니다. 배포 가능한 토폴로지의 수를 생각하면, 사용 사례에 가장 적합한 전략을 선택하는 것에 주의를 기울여야 할 때가 많습니다. AWS 클라우드에서 Apache Cassandra를 배포하려면 Amazon EC2에서의 Apache Cassandra 실행 모범 사례를 활용하십시오.

DataStax Enterprise(DSE)는 Apache Cassandra에서 제공하는 클라우드 애플리케이션을 위한 올웨이즈온(Always-On) 데이터 플랫폼입니다. DSE는 단일 장애 발생 지점 없이 여러 노드에서 빅 데이터 워크로드를 처리하도록 설계되었습니다. DSE는 클러스터의 모든 노드에 데이터가 분산되는 동종 노드 전체에 걸쳐 피어 투 피어 분산 시스템을 적용하여 장애 문제를 해결합니다. DSE는 스마트하고 강력한 클라우드 애플리케이션을 신속하게 생성할 수 있도록 설계된 한층 향상된 기능을 제공합니다. Cassandra를 Apache Solr, Apache Spark, DSE Graph와 결합하여 제공되는 강력한 인덱싱, 검색, 분석, 그래프 기능이 DSE의 각 노드 내에 통합됩니다. 데이터를 한 번만 작성하면 다양한 워크로드 또는 액세스 패턴을 사용하여 응집성이 강한 단일 솔루션에서 데이터에 액세스할 수 있습니다.  

AWS 클라우드에 DSE 클러스터를 배포하려면 AWS DataStax Enterprise Quick Start (PDF 형식으로도 제공)를 사용하십시오.