Skip to content

Apache Cassandra

아파치 카산드라(Apache Cassandra)는 자유-오픈 소스 분산형 NoSQL 데이터베이스 관리 시스템의 하나로, 단일 장애점 없이 고성능을 제공하면서 수많은 서버 간의 대용량의 데이터를 관리하기 위해 설계되었다. 카산드라는 여러 데이터센터에 걸쳐 클러스터를 지원하며 마스터리스(masterless) 비동기 레플리케이션을 통해 모든 클라이언트에 대한 낮은 레이턴시 운영을 허용한다.

카산드라는 또한 성능 면에서 높은 가치를 보인다. 2012년, NoSQL 시스템을 연구하는 토론토 대학교 연구원들은 "확장성 면에서 실험 가운데 분명한 승자가 있다. 카산드라는 모든 실험의 최대 노드 수에서 가장 높은 처리량을 성취한다."고 결론을 내렸으며 그럼에도 불구하고 "높은 쓰기 및 읽기 레이턴시의 대가가 있다"고 이야기하였다.

Discord가 Cassandra에서 ScyllaDB + Rust로 전환한 이유

해당 항목 참조

Cassandra 대체제로 ScyllaDB를 선택해야 하는 이유

참고로 Scylla는 오픈소스 컬럼기반 NoSQL DB

  • Cassandra와 완전히 호환되며 성능과 비용면에서 훨씬 뛰어남
    • 처리량으로는 3노드 클러스터에서 2x~5x. P99 < 10ms 일때는 3x~8x 빠름. 노드 추가는 3x, 노드 교체는 4x 빠름
  • Scylla는 Cassandra의 아키텍쳐를 많이 가져오면서도 C++로 구현하여 Java의 GC 오버헤드를 줄이고, 코어당 1개의 쓰레드를 사용하여 컨텍스트 스위칭을 최소화
    • 노드당 100만 R/W 이상 처리 가능
    • 지연시간도 더 적고, 안정적인 성능을 유지
    • 셀프 튜닝 가능
    • 고 가용성 + 확장성
    • 같은 작업량 대비 Cassandra 보다 훨씬 적은 컴퓨팅 자원을 사용

See also

Favorite site