Cassandra 0.6 -> 0.7 로의 변화

Cassandra 0.7 버전이 2011년 1월 9일에 발표되었습니다.

많이 쓰지 않아서 크게 무엇이 바뀌었는지를 알 수 없지만, 제가 아는 것들만 조금 정리해보자면

제일 크게 바뀐 것은 다음 두 가지 입니다.

1. online schema manipulation(add/remove)

2. support secondary index

원래 Cassandra 의 경우, 온라인에서 동적으로 Keyspace, Column Family 등이 생성되지 않았습니다

그래서 schema 변경이 필요하면, 모든 서버가 한번씩 내려갔다가 다시 올라와야 했습니다.  실제로

그럴 일이 많지는 않겠지만,  크게 뭔가가 추가되어야 하면, 서버들을 모두 한번씩 내렸다가 올려야 합니다.

Replica 를 관리하는 서버들의 특성이 그렇긴 하지만, 서버 장애시 Replication을 재조정 하는 작업은

Disk I/O를 많이 쓰기 때문에, 전반적으로 시스템 성능의 저하를 가져옵니다.

Secondary Index는 기존에는 원래의 Key 로 만 데이터를 찾을 수 있었는데, 추가로 Column 에

Index를 추가할 수 있게 되었습니다. 다음 사이트를 참고하면 자세한 설명이 있습니다.

http://www.riptano.com/docs/0.7/data_model/secondary_indexes

주된 불만 중에 하나가 해결된 느낌입니다.

그 외로 소소하게 바뀐 것들은 cli 에서 라인의 끝에 무조건 ‘;’ 을 붙여야 한다는 것!(이걸 몰라서 크게 헤매었습니다.)

그리고 storage 설정이 xml 에서 yaml 로 바뀌었습니다. 기본 설정 값도 바뀌어 있네요.

그리고 cli 에서 이전에는 set keyspace.Standard1[‘charsyam’][‘name’] = ‘value’;

이런식으로 사용하던 것을

use keyspace keyspace;

set Standard1[‘charsyam’][‘name’]=’value’; 형식으로 사용해야 한다는 부분이 바뀌었습니다.

계속 어떻게 발전할 지 궁금하네요.