데이터 복제란 무엇인가요?

이 페이지에서는 데이터 복제에 대한 이해를 돕기 위해 다음 내용을 다룹니다:

데이터 복제는 하나 이상의 레코드를 한 장소에서 다른 장소로 복사하는 프로세스입니다. 이러한 장소는 동일한 데이터베이스 내에서 파일을 복사하는 것처럼 매우 유사할 수도 있고, 한 데이터베이스에서 다른 데이터베이스로 데이터를 복사하는 것처럼 서로 다를 수도 있습니다. 데이터 복제라는 용어는 일반적으로 소스에서 대상으로 데이터를 최신 상태로 유지하는 것을 의미하지만, 복제의 속도와 자동화 수준은 데이터 일관성에 영향을 미칠 수 있습니다.

데이터 복제 약관

다음은 데이터 복제를 이해하는 데 도움이 되는 일반적인 용어 목록입니다:

단방향 대 양방향: 단방향 관계는 데이터가 소스에서 대상으로만 흐른다는 의미입니다. 양방향 관계는 데이터가 양방향으로 흐른다는 의미입니다.

액티브-액티브 대 액티브-패시브: An 활성-활성 클러스터는 항상 모든 노드에 부하를 고르게 분산시킵니다. 반면 액티브-패시브 클러스터에는 활성 노드에 과부하가 걸리는 경우에만 백업 노드가 이를 대신합니다.

동기식 대 비동기식: 동기식 복제는 기본 노드와 복제본에 동시에 데이터를 씁니다. 비동기 복제는 데이터를 먼저 기본 노드에 쓴 다음 복제본에 복사합니다.

일괄 처리와 실시간 처리: 일괄 처리는 예약된 간격으로 그룹 또는 일괄적으로 데이터를 수집하고 처리하며, 일반적으로 대량의 데이터를 처리하는 데 적합합니다. 실시간 처리는 데이터가 생성되거나 수신되는 즉시 처리하므로 시간에 민감한 애플리케이션에 적합합니다.

증분 대 전체: 증분 데이터 복제는 레코드의 업데이트된 요소만 복제하는 것을 의미합니다. 전체 데이터 복제는 레코드의 요소가 변경될 때 전체 레코드를 복제하는 것을 의미합니다.

필터링됨: 소스의 데이터를 필터링하여 데이터의 특정 하위 집합 또는 선택 항목만 대상에 복제할 수 있습니다.

변형: 데이터 변환은 데이터를 한 형식이나 구조에서 다른 형식이나 구조로 변환하여 분석, 보고 또는 목적지에 저장할 수 있는 올바른 형식과 구조로 만드는 프로세스입니다.

데이터 복제의 이점

데이터 복제에는 다음과 같은 기능이 있습니다. 다양한 용도 및 이점. 여기에는 다음이 포함됩니다:

고가용성(HA): 여러 위치에 데이터의 최신 복사본을 유지하면 장애 발생 시 데이터 손실을 방지할 수 있습니다. 일반적으로 실시간 복제는 단방향으로 이루어지며 원본과 하나 이상의 복제본 간에 이루어집니다. 소스를 사용할 수 없게 되면 복제본 중 하나가 자동으로 그 역할을 대신합니다.

재해 복구(DR): HA와 밀접한 관련이 있는 재해 복구는 재해 발생 시 데이터의 사본을 사용할 수 있도록 보장합니다.

처리량 확장: 이 프로세스는 여러 데이터 복사본을 사용하여 요청을 처리할 수 있는 시스템 용량을 늘립니다. 일반적으로 읽기 트래픽에 사용되며 쓰기 트래픽에는 덜 일반적으로 사용됩니다.

보조 액세스: 인덱싱이라고도 하는 이 작업에는 데이터를 다른 시스템으로 복제하여 다른 방식으로 액세스하는 작업이 포함됩니다. 두 번째 시스템은 동일한 데이터베이스 내에 있을 수도 있고(인덱싱의 경우) 외부에 있을 수도 있습니다. 사용 중인 기술에 따라 다음과 같은 중개자가 사용됩니다. 카프카 는 때때로 소스와 외부 시스템 간에 데이터를 전송하는 데 필요합니다.

참고: 데이터 복제의 장점에서 '백업'을 의도적으로 제외했는데, 그 이유는 변경 사항이 있는 백업을 업데이트하지 않기 때문입니다. 이해해야 할 핵심 사항은 데이터 복제는 애플리케이션 수준의 데이터 손상이나 삭제에 취약한 반면, 백업은 그렇지 않다는 점입니다. 백업을 HA 또는 DR을 대체하는 것으로 간주해서는 안 되며, HA 또는 DR이 백업을 대체해서는 안 됩니다.

데이터 복제의 과제

어떤 데이터 복제 전략을 사용하든, 둘 사이에서 절충점을 찾아야 합니다:

  • 속도
  • 일관성, 가용성 및 파티션 허용 오차( CAP 정리)
  • 리소스 사용량 및 비용(RAM, 디스크, CPU, 네트워크)

예를 들어

  • 복제본을 여러 개 유지하면 장애 발생 시 데이터의 보안이 강화되지만 리소스 사용량과 비용이 증가합니다. 여러 복제본으로 읽기를 확장할 때도 마찬가지입니다.
  • 동기식 복제를 사용하면 소스 쓰기가 느려지거나 아예 실패할 수 있습니다. 그러나 비동기 복제를 사용하면 레코드를 복제할 수 있는 속도보다 더 빠르게 레코드를 쓰면 리소스 사용량이 증가할 수 있습니다. 또한 비동기 복제는 복제 기술의 속도나 안정성에 관계없이 소스 데이터와 대상 데이터 간에 불일치가 발생할 가능성이 있습니다.
  • 증분, 필터링 및 변환 복제는 네트워크 리소스 사용량을 줄일 수 있지만 이러한 유형의 복제는 더 느리게 작동하는 경향이 있으며 소스에 더 높은 성능의 CPU를 필요로 합니다.

데이터 복제에 대한 모범 사례는 사용 사례 요구 사항과 사용 중인 기술의 기능에 따라 크게 달라집니다.

RDBMS의 데이터 복제

모든 데이터베이스 기술은 데이터 복제를 위한 다양한 기능과 옵션을 제공합니다. 역사적으로 관계형 데이터베이스 관리 시스템(RDBMS)은 데이터를 디스크에 쓴 후 한 데이터베이스 인스턴스에서 다른 데이터베이스 인스턴스로 데이터를 보내는 로그 전송을 통해 한 데이터베이스 인스턴스에서 다른 데이터베이스 인스턴스로 데이터를 복제합니다. 다음과 같은 최신 데이터베이스는 Couchbase NoSQL 데이터베이스는 RAM에서 직접 데이터를 복제하여 속도와 안정성을 크게 향상시킵니다.

결론

데이터 복제는 다양한 데이터베이스 기능을 뒷받침하는 핵심 개념이며, 복제는 다양한 도전 과제와 장점을 가진 다양한 형태로 제공됩니다. 조직에 가장 적합한 데이터 복제 선택은 달성하고자 하는 목표와 사용 중인 기술에 따라 달라집니다.

이러한 리소스를 사용하여 데이터 복제 및 Couchbase의 데이터 복제 기능에 대해 자세히 알아보세요:

클라우드 데이터 복제 가이드

데이터 복제: 장점과 단점

Couchbase의 데이터 복제 및 동기화

데이터 센터 간 복제(Couchbase Capella™)

데이터 센터 간 복제(카우치베이스 서버)

아카펠라 앱 서비스(BaaS)

저희의 데이터베이스 허브 를 참조하여 데이터 관리의 다른 주요 개념에 대해 알아보세요.