Cassandra 6, ACID 트랜잭션의 길

The road to ACID transactions in Cassandra 6

Cassandra는 SQL 유사 쿼리 언어에 내장 샤딩과 복제를 제공하는 몇 안 되는 오픈소스 데이터베이스로, Apple, eBay, Bloomberg, Netflix 등 대규모 사용자를 보유하고 있습니다. 이 글은 곧 출시될 Cassandra 6.0의 ACID 트랜잭션 지원을 실제 3-노드 클러스터에서 테스트합니다. 기본 업데이트, BATCH, LWT, 그리고 새로운 Accord 트랜잭션을 비교하며, 동시성 워크로드에서 일관성이 어떻게 달라지는지 보여줍니다. 특히, BATCH의 타임스탬프 충돌로 인한 불일치 가능성과 Accord의 강력한 일관성을 실험으로 입증합니다.

배치의 타임스탬프는 클라이언트가 생성하므로 두 클라이언트가 동일한 타임스탬프를 가질 수 있으며, 이 경우 셀 단위로 더 큰 값이 승리하여 각 배치가 일부 열을 얻고 일부를 잃을 수 있습니다.
  1. farazbabar

    몇몇 댓글들이 Cassandra가 운영(ops)에 얼마나 고통을 주는지에 대해 이야기하는 걸 보는데, 그건 그렇고, 나는 거의 모든 것에 동의한다. 댓글들이 독자들이 알고 이해한다고 가정하는 것은, 쿼럼(quorum)과 관련해 겉보기에 안전해 보이는 선택으로 인해 발생하는 총기 사고(foot gun)의 절대적인 공포, 백업 악몽, 데이터 손실 시나리오, 그리고 물론 툼스톤(tombstone)으로 도배된 성능 연옥이다. 솔직히 말해서, 당신의 워크로드는 Postgres를 쓸 만큼 크지 않다. 믿어라. 이건 5TB 파일에서 단어 수를 세려고 Flink를 쓰는 것과 같다. 할 수는 있겠지? 그래야 할까?

  2. cyberpunk

    일부 워크로드에 대해 Cassandra가 '이상적'이거나 적어도 10년 전에는 그랬을 거라고 나는 확신한다. 하지만 (현재 수천 개의 CPU에 해당하는 Cassandra를 운영하는 사람으로서) 내가 말할 수 있는 것은, 나는 이 데이터베이스를 몹시 싫어한다는 것이다. 그것은 운영상의 악몽이며, 그것이 영원히 사라진다 해도 조금도 아쉽지 않을 것이다. 반면에, Cassandra 개발에 약간의 활력이 생긴 것을 보니 정말 반갑다. 한동안 잠들어 있던 것 같았는데; 하지만 2026년에 새 애플리케이션에 그것을 선택하겠는가? 아니다. 전담 팀을 유지할 돈이 있지 않는 한 사용을 강력히 권하지 않겠다. 그리고 그렇다 하더라도 그냥.. 안 된다.

  3. javier2

    이 글 감사합니다. Accord의 출시가 정말 기대됩니다.

이 날의 다른 글

2026-08-21