NoSQL 데이터베이스는 유연한 스키마와 다양한 데이터 모델로 데이터를 저장할 수 있게 해줍니다. 이러한 데이터베이스는 개발자가 사용하기 비교적 쉽고 최신 애플리케이션에 필요한 고성능과 기능을 제공합니다. NoSQL AWS 데이터베이스는 대량의 데이터를 저장하면서도 낮은 지연 시간을 제공합니다.
AWS 데이터베이스 제품군에는 다양한 관리형 및 자체 관리형 데이터베이스 서비스와 함께 6가지 유형의 NoSQL 데이터베이스가 포함되어 있습니다. 이러한 데이터베이스 서비스는 클라우드 네이티브 워크로드를 지원하고 기존 AWS 리소스와 원활하게 통합되도록 설계되었습니다.
이 문서에서는 다음 내용을 학습합니다:
NoSQL은 1998년 Carlo Strozzi가 SQL을 사용하지 않는 오픈 소스 관계형 데이터베이스를 가리키기 위해 처음 만든 용어입니다. 그 후 2009년에 이 용어는 비관계형 데이터베이스를 일반적으로 지칭하는 용어로 다시 사용되었습니다. 이 용어는 적용되는 데이터베이스 구조에 따라 "SQL 없음" 또는 "SQL 전용이 아님"을 의미할 수 있습니다.
NoSQL 데이터베이스의 개발은 웹 데이터의 성장에서 비정형 데이터의 빠른 처리 및 처리가 필요해졌습니다. 이러한 시스템은 분산 아키텍처를 기반으로 구축되어 확장성을 제공하고 데이터 소스 또는 사용자 근처에서 처리를 수행할 수 있으므로 속도가 향상됩니다. 이는 빅데이터의 성장에 특히 중요했으며, 구글, 페이스북, 트위터 등 많은 기술 기업들이 NoSQL 시스템을 도입하게 만들었습니다.
AWS에서 선택할 수 있는 NoSQL 데이터베이스 모델 유형은 6가지입니다.
키값 데이터베이스는 고유한 ID와 데이터 값을 포함하는 데이터를 쌍으로 저장할 수 있게 해줍니다. 값이 테이블에 할당되지 않고 모든 양이나 구조의 데이터를 저장할 수 있으므로 유연한 저장 구조를 제공합니다. 이러한 데이터베이스는 대용량 데이터 또는 요청을 관리할 수 있습니다. 키값 데이터베이스의 사용 사례에는 게임 애플리케이션, 전자상거래 시스템, 그리고 트래픽이 많은 애플리케이션 등이 포함됩니다.
AWS 서비스: Amazon DynamoDB
문서 데이터베이스는 키-값 데이터베이스와 유사하게 구조화되어 있지만, 키와 값은 JSON, XML, YAML과 같은 마크업 언어로 작성된 문서에 저장됩니다. 이러한 데이터베이스를 사용하여 문서를 연결하여 데이터 계층 구조를 저장할 수 있습니다. 문서 데이터베이스의 사용 사례로는 사용자 프로필, 카탈로그, 콘텐츠 관리 등이 있습니다.
AWS 서비스: Amazon DocumentDB, DynamoDB
넓은 열 데이터베이스는 테이블을 기반으로 하지만 엄격한 열 형식은 없습니다. 행의 모든 컬럼에 값이 있을 필요는 없으며 서로 다른 데이터 형식을 포함하는 행과 컬럼 세그먼트를 결합할 수 있습니다. 광 칼럼 데이터베이스의 사용 사례로는 노선 최적화, 차량 관리, 산업 유지보수 응용 프로그램이 포함됩니다.
AWS 서비스: Amazon Keyspaces(Apache Cassandra용)
그래프 데이터베이스는 간선과 노드의 집합으로 구조화됩니다. 노드는 개별 데이터 값이고 엣지는 이러한 값 간의 관계입니다. 이러한 데이터베이스를 사용하면 구조화된 테이블이 아닌 유기적인 네트워크에서 복잡하게 관련된 데이터를 추적할 수 있습니다. 그래프 데이터베이스의 사용 사례로는 추천 엔진, 소셜 네트워킹, 사기 탐지 등이 있습니다.
AWS 서비스: Amazon Neptune
시계열 데이터베이스는 시간 순서가 정해진 스트림에 데이터를 저장합니다. 데이터는 값이나 ID가 아닌 수집 시간, 수집 시간 또는 메타데이터에 포함된 기타 타임스탬프를 기준으로 정렬됩니다. 이러한 데이터베이스를 사용하면 시간 간격을 기준으로 데이터를 관리하고 쿼리할 수 있습니다. 시계열 데이터베이스의 사용 사례에는 산업용 텔레메트리, DevOps, 사물인터넷(IoT) 애플리케이션 등이 포함됩니다.
AWS 서비스: Amazon Timestream
원장 데이터베이스는 데이터 값과 관련된 이벤트를 기록하는 로그를 기반으로 합니다. 이러한 로그는 투명하고 변경 불가능하며 암호화 방식으로 검증하여 데이터의 진위와 무결성을 입증할 수 있습니다. 원장 데이터베이스의 사용 사례로는 은행 시스템, 등록, 공급망, 기록 시스템 등이 있습니다.
AWS 서비스: Amazon Quantum Ledger Database(QLDB)
필요한 데이터베이스 유형만으로 데이터베이스 서비스를 선택할 수도 있습니다. 그러나 선택하기 전에 AWS에서 제공하는 서비스의 기능을 이해하는 것이 좋습니다. 이러한 서비스가 필요한 기능이나 기능을 제공하지 않는다면, 대신 제3자 옵션을 찾아볼 수 있습니다.
Amazon DynamoDB는 문서 및 키-값 데이터베이스입니다. 백업 및 복원, 인메모리 캐싱, 보안, 다중 지역 다중 마스터 분산 기능을 포함하는 완전 관리형 서비스입니다. DynamoDB는 기본적으로 원자성, 일관성, 격리, 내구성(ACID) 트랜잭션 및 암호화를 지원합니다.
아마존 엘라스티캐시는 디스크 기반 데이터베이스 대신 사용할 수 있는 메모리 내 데이터 저장소입니다. Memcached 및 Redis에 대한 완전 관리형 지원을 제공하며 메모리 샤딩을 통한 확장이 가능합니다. 이 도구는 서브밀리초 응답 시간을 지원하도록 설계되었으며, 일반적으로 큐잉, 실시간 분석, 캐싱, 세션 저장소에 사용됩니다.
Amazon Neptune은 수십억 개의 관계에 대한 데이터를 저장하는 데 최적화된 완전 관리형 그래프 데이터베이스 서비스입니다. W3C의 RDF, Property Graph, SPARQL, TinkerPop Gremlin을 비롯한 다양한 그래프 모델과 쿼리 언어를 지원합니다.
Neptune은 특정 시점 복구, 다중 영역 데이터 복제, 지속적인 백업 및 읽기 복제본 기능을 포함합니다. ACID 트랜잭션을 지원하고 전송 중 및 저장 시 암호화를 제공합니다.
Amazon Timestream은 적응형 쿼리 처리 엔진을 갖춘 완전 관리형 시계열 데이터베이스입니다. 서버리스 서비스로서 하드웨어 및 소프트웨어 유지 관리와 프로비저닝을 자동으로 처리해 줍니다.
Timestream은 자동 데이터 압축, 계층화, 보존 및 집계 기능을 제공합니다. 또한 데이터의 근사치 계산, 평활화 및 보간을 위한 내장 분석 기능도 포함되어 있습니다.
Amazon QLDB는 데이터 변경 사항을 추적하는 데 사용할 수 있는 원장 데이터베이스입니다. 완전 관리형 데이터베이스로, 관계형 데이터베이스나 블록체인을 사용하여 원장 데이터를 관리할 때 필요한 복잡한 설정 과정을 생략할 수 있도록 설계되었습니다.
QLDB는 SQL과 유사한 API, 완벽한 트랜잭션 지원 및 유연한 문서 데이터 모델을 제공합니다. 또한 자동 확장, ACID 준수 트랜잭션, 다중 영역 가용성 및 Kinesis Data Streams를 사용한 데이터 스트리밍 기능을 포함합니다.
Amazon DocumentDB는 MongoDB와 호환되는 완전 관리 문서 데이터베이스입니다. DocumentDB 아키텍처는 컴퓨팅 및 스토리지 리소스를 분리하여 확장성과 유연성을 높입니다. 또한 최대 15개의 읽기 복제본 지원, 3개의 가용성 존에 걸친 내구성을 위한 데이터 복제, AWS 데이터베이스 마이그레이션 서비스의 무료 사용도 포함됩니다.
Amazon Keyspace는 Apache Cassandra와 호환되는 관리형 와이드 컬럼 데이터베이스입니다. Cassandra 워크로드 및 애플리케이션을 마이그레이션하고 Cassandra 네이티브 코드와 도구를 계속 사용할 수 있습니다. 자동 확장 기능을 포함하고 온디맨드 자원과 프로비저닝 자원 중 선택할 수 있습니다.
NetApp Cloud Volumes ONTAP은 업계 최고의 엔터프라이즈급 스토리지 관리 솔루션으로, AWS, Azure, Google Cloud에서 안전하고 검증된 스토리지 관리 서비스를 제공합니다. Cloud Volumes ONTAP은 최대 368TB 용량을 지원하며, 고가용성, 데이터 보호, 스토리지 효율성, Kubernetes 통합 등 강력한 기능 세트를 바탕으로 파일 서비스, 데이터베이스, DevOps 또는 기타 기업 워크로드와 같은 다양한 사용 사례를 지원합니다.
특히 Cloud Volumes ONTAP는 클라우드의 데이터베이스 워크로드 문제를 해결하고 클라우드 기반 데이터베이스 기능과 해당 데이터베이스가 실행되는 퍼블릭 클라우드 리소스 간의 격차를 해소하는 데 도움이 됩니다.
Cloud Volumes ONTAP은 클라우드에서 SAN 스토리지를 관리하기 위한 고급 기능을 지원하며, NoSQL 데이터베이스 시스템뿐만 아니라 클라우드 빅 데이터 분석 클러스터에서 직접 액세스할 수 있는 NFS 공유도 지원합니다.
또한, 내장된 스토리지 효율성 기능은 클라우드 환경에서 NoSQL 데이터베이스의 비용 절감에 직접적인 영향을 미칩니다. 스냅샷 및 데이터 복제와 같은 기능이 제공하는 데이터 보호 및 유연성은 NoSQL 데이터베이스 관리자와 빅데이터 엔지니어에게 대용량 데이터를 효과적으로 관리할 수 있는 역량을 제공합니다.