Share via


이동 통신 사업자 등급 워크로드에 대한 데이터 모델링

단일 지역에 배포된 엔터프라이즈 애플리케이션은 일반적으로 이 애플리케이션 디자인 모델을 무시하고 데이터베이스 계층에 책임을 안전하게 위임하여 데이터를 안정적으로 사용할 수 있도록 할 수 있습니다. 이 동작은 여러 지역에 배포해야 하는 통신 사업자 등급 애플리케이션의 경우는 아닙니다. 다중 지역 배포는 애플리케이션 설계자가 데이터에 대해 허용할 손상 사항을 고려하도록 강제합니다.

CAP 원리

데이터베이스는 CAP라고 하는 애플리케이션에 대해 관리하는 데이터에 대한 세 가지 주요 속성을 제공할 수 있습니다.

  • 일관성: 데이터 읽기는 가장 최근의 쓰기를 반환합니다.
  • 가용성: 모든 요청은 유효한 응답을 받습니다.
  • 파티션 허용 오차: 요소 간의 통신이 지연되거나 완전히 손실되더라도 시스템이 계속 작동합니다.

CAP 정리는 데이터베이스 계층이 네트워크 파티션이 있는 상태에서 동일한 데이터에 대해 이러한 세 가지 속성을 동시에 제공할 수 없다고 명시합니다. 설계자는 어떤 조건에서 선호할 CAP 속성과 에지 사례를 처리하는 방법에 대해 명시적인 디자인 결정을 내려야 합니다.

CAP 정리에 따르면 모든 데이터베이스는 네트워크 파티션이 있는 상태에서 동시에 동일한 데이터에 대해 가능한 속성 3개 중 2개만 보장할 수 있습니다.

다중 지역 배포는 파티션 허용 오차가 중요해진다는 것을 의미합니다. 대부분의 경우 캐리어 등급 설계자는 일관성보다 파티션 허용 오차 및 가용성의 우선 순위를 지정합니다. 각 데이터 형식에 대해 설계자는 에지 사례를 고려하여 어떤 장단을 만들 것인지 고려해야 합니다.

예를 들어 시스템 사용자의 데이터베이스를 고려합니다. 네트워크 파티션이 있는 경우 사용자 데이터베이스를 읽기 전용으로 삭제할 수 있나요? 이 동작은 쓰기 가용성보다 일관성 및 읽기 가용성의 우선 순위를 지정합니다. 다른 곳에서 권한이 취소된 후 사용자가 격리된 사이트에 액세스하는 것이 허용되지 않는 경우 이 우선 순위 지정이 적합하지 않을 수 있습니다. 설명된 시나리오에서는 읽기 가용성보다 쓰기 가용성 우선 순위를 지정하는 파티션이 있는 경우 모든 데이터베이스 액세스를 차단해야 합니다.

참고

데이터베이스에 사용 프로필이 다를 수 있으므로 동일한 애플리케이션 내의 다른 데이터베이스에 대해 손상이 발생할 수 있습니다.

일관성이 손상되는 경우 애플리케이션은 충돌 없는 CRDT(복제된 데이터 형식)를 사용하여 데이터 불일치 아티팩트에 대처해야 합니다. CRDT를 사용하려면 애플리케이션 디자인 및 구현에 대한 분야가 필요합니다. 이러한 용도는 파티션 이벤트에 따른 데이터 병합이 사람의 개입이나 복잡한 애플리케이션 수준 논리 없이 데이터 계층에서 자동으로 처리될 수 있는 것을 의미합니다.

중요

중요 업무용 워크로드에 대한 데이터 플랫폼 선택에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

또한 설계자는 종속 서비스 내에서 이루어진 데이터 모델의 장단점도 이해해야 합니다. 이러한 절충은 해당 절충이 애플리케이션 수준 요구 사항과 일치하지 않을 수 있으므로 애플리케이션에 전달되는 서비스에 영향을 줍니다.

다음 단계

캐리어 등급 워크로드에 대한 상태 모델링 디자인 영역을 검토합니다.