Table of Contents
NoSQL 클러스터의 데이터가 확장 성능과 데이터 가용성을 보장하기 위해 필수적입니다. 다른 NoSQL 데이터베이스는 확장성 및 오류 공차에 영향을 미칠 수있는 데이터를 배포하는 다양한 기술을 사용합니다. 이 문서는 일반적인 방법을 탐구하고 이러한 개념을 설명하는 예제를 제공합니다.
데이터 배포 기술
NoSQL 데이터베이스는 여러 가지 기술을 사용하여 데이터를 효율적으로 배포합니다. 가장 일반적인 방법은 sharding, 일관된 해싱 및 범위 파티션을 포함합니다. 각 접근법에는 응용 프로그램의 요구 사항에 따라 장점과 사용 사례가 있습니다.
Sharding 및 그 구현
Sharding은 여러 노드에 저장되는 shards라는 작은 조각으로 데이터를 분할하는 것을 포함합니다. 이 기술은 수평 스케일링을 허용하며 데이터베이스를 사용하여 더 큰 데이터셋과 더 높은 트래픽을 처리할 수 있습니다. 예를 들어, 사용자 데이터베이스는 사용자 ID 범위 또는 해시 값에 따라 sharded 될 수 있습니다.
의논하기
일관된 해싱은 각 데이터 항목을 할당하고 해시 값 노드를 할당하여 데이터를 배포합니다. 데이터는 노드가 추가되거나 제거될 때 가장 가까운 해시 값으로 노드에 저장되며 데이터 이동을 줄입니다. 이 방법은 Cassandra와 같은 분산 캐시 및 NoSQL 시스템에 일반적으로 사용됩니다.
예: 데이터 배포 계산
NoSQL 클러스터를 공급하는 것은 5개의 노드로 일관된 해싱을 사용합니다. 데이터 항목은 0과 1000 사이의 값으로 해싱됩니다. 데이터 항목이 450에 가해지면 노드 해시 범위는 다음과 같이 할당됩니다.
- 노드 1: 0–199
- 노드 2: 200–399
- 노드 3: 400–599
- 노드 4: 600–799
- 노드 5: 800–999
해시 450의 데이터 항목은 노드 3에 저장되며, 해시가 400-599 범위 내에서 떨어지는 것과 같이. 이 간단한 예는 해시 범위에 따라 데이터 배포가 계산되는 방법을 보여줍니다.