본문 바로가기

NoSQL/Cassandra

[Cassandra] RDBMS vs Cassandra 쿼리 차이


카산드라의 모델과 RDBMS에서 사용할 수 있는 쿼리 메서드에서는 몇가지 차이가 있으며, 

이 차이는 중요하므로 기억하고 있어야 한다.


업데이트 쿼리 부재

  - 카산드라는 "업데이트"라는 클라이언트 쿼리아 아에 없다.

  - 로우 키를 사용해서 삽입을 수행하는 방법으로 업데이트와 같은 효과를 볼 수는 있다.

  - 이미 있는 키에 대해 삽입 구문을 실행한다면 카산드라가 키와 일치하는 컬럼의 값을 덮어쓰게 된다.

  - 쿼리에 로우 키에 없는 컬럼이 있다면 이 추가 컬럼도 삽입된다.


쓰기에서 레코드 레벨 원자성

  - 모든 쓰기 연산에 대해 자동으로 레코드 레벨 원자성을 제공

  - RDBMS에서는 이를 위해 로우 레벨 락을 지정해야 할 것이다.

  - 격리성은 보장하지 않는다.


서버측 트랜잭션 지원 부재

  - 카산다르는 트랜잭션을 목표로 하지 않았으므로 트랜잭션이 없다.


중복 키 부재

  - 컬럼 패밀리에 이미 있는 키에 새 레코드를 쓰면 이미 존재하는 컬럼의 값을 덮어써지고, 

    해당 로우에 이전에는 없던 컬럼은 로우에 추가된다.



'NoSQL > Cassandra' 카테고리의 다른 글

[Cassandra] Cassandra Data Model  (0) 2013.07.19
[Cassandra] 누가 Cassandra를 사용하는가?  (0) 2013.07.18
[Cassandra] Cassandra 특징  (0) 2013.07.17
[Cassandra] Cassandra 설치  (0) 2013.07.17
[Cassandra] Cassandra 란?  (0) 2013.07.17