>백엔드 개발 >PHP 튜토리얼 >데이터 일관성 문제

데이터 일관성 문제

WBOY
WBOY원래의
2016-09-19 09:16:261492검색

하나의 코드에서 mysql, redis, mongodb가 동시에 작동됩니다. 어떻게 하면 이러한 데이터베이스 간의 데이터 일관성을 보장할 수 있을까요?
예를 들어 msyql은 필드 A를 저장하고, redis는 필드 B를 저장하고, mongodb는 필드 C를 저장합니다. ABC가 동시에 성공하거나 실패하도록 어떻게 보장할 수 있나요

답글 내용:

하나의 코드에서 mysql, redis, mongodb가 동시에 작동됩니다. 어떻게 하면 이러한 데이터베이스 간의 데이터 일관성을 보장할 수 있을까요?
예를 들어 msyql은 필드 A를 저장하고, redis는 필드 B를 저장하고, mongodb는 필드 C를 저장합니다. ABC가 동시에 성공하거나 실패하도록 어떻게 보장할 수 있나요

작업이 동시에 이루어지더라도 각 데이터베이스는 다르게 처리되며 모두 성공한다는 보장은 없습니다.
세 가지 프로세스가 모두 성공하면 최종 성공으로 간주할 수 있습니다. 하나라도 실패하면 실패로 간주됩니다.

이 설정이 맞나요?

redis와 mysql 트랜잭션을 삽입하기 전에 트랜잭션을 시작하면 함께 커밋하고 롤백하는 것이 성공한다고 생각합니다.

세 가지 유형의 데이터베이스가 관련되어 있으므로 각 데이터베이스의 강력한 일관성을 보장하기 위해 기성 XA 프로토콜이 없어야 합니다. 따라서 차선책을 선택하고 최종 일관성을 보장할 수 있습니다.
분산 트랜잭션 1
분산 트랜잭션 2

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.