2013-03-27 3 views
2

0.8에서 Cassandra는 행 업데이트가 원자적임을 보장합니다.Astyanax : MutationBatch가 중도에 실패하면 어떤 보장이 있습니까?

그러나 MutationBatch를 사용하여 여러 행 수정 또는 수정을 여러 열 패밀리에서 준비하는 경우 행을 내가 설정 한 순서대로 업데이트한다는 보장이 있습니까? 예 : 내가

  • 업데이트 CF 1이있는 경우, CF 2 CF 동안 업데이트 할 수 있도록 3

이 가능하다 1

  • 업데이트 CF 1, 행 2
  • 업데이트 CF 2,있는 행 1은 실패로 인해 변경되지 않은 채로 남아 있습니까? 내가 설정 한 경우 어떻게됩니까

    :

    • 업데이트를 CF 1, 행 1, 열
    • 업데이트 CF 1, 2
    • 업데이트를 CF 2, 3 행
    • 업데이트 CF는 행 1, Row 1, Column B

    대신에 3 개의 MutationBatches를 준비하고 별도로 실행해야합니까?

  • 답변

    1

    Playorm은 내레이션을 한 번에 푸시하는 플러시 지원을 제공하므로 일종의 단위로 보냅니다. 거래)

    +1

    네, 여기 더 자세히 설명하고 싶습니다. 많은 사람들이 데이터의 절반 만 전송 한 다음 다음 단계를 수행 할 수도 있지만 애플리케이션 코드에 예외가있는 경우 저장소의 손상된 데이터로 끝날 수 있습니다. 여기에 플러시 지원은 모든 물건이 작업 단위로 전송된다는 점에서 도움이됩니다. 카산드라 쪽에서는 모든 것이 한꺼번에 원자가되지는 않습니다. –