1

대용량 데이터가 Azure VM에서 실행되는 SQL Server에서 Azure 테이블 저장소로 이동되어 확장 및 저렴한 저장소 이유로 프로젝트에서 작업합니다. SQL 테이블의 GUID (기본 키) 인 테이블 저장소로 이동되는 데이터에는 여러 개의 외부 키가 있습니다. 거래가 다른 Azure 저장소 유형에 미치지 않기 때문에 분명히 참조 무결성을 보장 할 수단이 없습니다. 누구든지이 스토리지 디자인으로 성공했는지 알고 싶습니다. SQL Server와 Azure 테이블 저장소에 걸친 트랜잭션을 만들 수있는 트랜잭션 관리 솔루션이 있습니까? 두 데이터베이스 (SQL 및 테이블 저장소)에서 읽는 쿼리의 의미는 무엇입니까?Azure SQL과 테이블 저장소에 저장된 데이터 간의 관계 유지

답변

1

SQL Server와 Azure Tables에 걸친 트랜잭션을 수행하려는 경우 가장 좋은 방법은 eventually consistent transaction 패턴을 사용하는 것입니다.

간단히 말해, 업데이트를 대기열 메시지에 넣은 다음 작업자 프로세스 (WebJob, 작업자 역할, VM에서 실행중인 작업)를 가지고 peeklock을 사용하여 메시지를 대기열에서 제외하고 모든 단계 트랜잭션 내에서 실행 된 다음 메시지에서 complete를 호출하십시오.

Azure 테이블에서만 트랜잭션을 수행하려는 경우 엔티티가 동일한 파티션에있는 한 일괄 업데이트로 트랜잭션을 수행 할 수 있습니다.