쓸만한 cassandra java client api를 찾아보았다. (2013.11월 기준이고 내 맘대로 선택한 내용이다.)
현재는 spring data에서 cassandra는 지원하고 있지 않다.
name |
feature |
consistency level |
connection pool |
cql support |
spring integration |
license |
active |
issue |
my choice |
cql |
jdbc driver, datasax |
Δ (read=write) |
Δ (simple) |
O |
? |
apache |
X | no more update jdbc driver |
X |
thrift |
|
O |
X |
O |
? |
apache |
O |
|
O |
hector |
thrift based |
O |
O |
O |
O |
mit |
O |
|
O |
Astyanax |
thrift based, netflix |
O |
O |
O |
O |
apache |
O |
|
O |
Kundera |
jpa 2.0, multiple nosql support |
O |
O |
O |
O |
apache |
O |
use pelops? |
X |
Easy Cassandra | jap 2.0 | O | X | O | O | apache | O | latest version not support, 1 man coding | X |
1) jdbc-driver, data sax cql
cql을 편하게 쓰려고 했는데, code google에 있는 jdbc driver는 더이상 업데이트가 되지 않는다.
consistency level을 jdbc driver에서 지원하지만 read/write별로 되지는 않는다.
2) Thrift
cassandra의 날(?) thrfit를 쓰는 방식은 좀이 많이 간다. 하지만 정말 괜찮은 라이브러리가 없다면 선택해야 한다.connection pool은 구현해야 한다.
3) Hector
좋다. connection pool도 있고, cql도 마음대로 쓸 수 있다. consistent level또한 마음대로 할 수 있다.
4) Astyanax
Hector의 refactoring 버전이라고 하더니. 정말 괜찮은 api다.netflix에서 밀고 있으니 AWS에서 계속 쓰는 한 계속 지원할 것 같다.
5) Kundera
JPA 2.0 지원해서 좋은데, pelops가 기본 값이다. 신뢰도가 확 떨어진다. (2013년 2월 부터 pelops는 운영되고 있지 않는다.) 그리고, Kundera를 쓰기는 아직 시기상조일듯, reference 자료가 그리 많지 않다.
6) Easy cassandra
connection pool을 지원하지 않는 점이 아쉽다. 그러나 JPA 2.0 을 지원한다.
그리고 현재 cassandra 2.0을 지원하고 있지 않다. (lib dependent) 그리고 한사람 혼자서 개발하고 있다..
간단하게 코딩해보니 hector나 astyanax쪽으로 하는 게 맘 편한 듯 하다.
'nosql' 카테고리의 다른 글
cassandra version upgrade(update) (0) | 2013.11.05 |
---|---|
cassandra java api 테스트 - API 비교 (0) | 2013.11.04 |
cassandra bench mark 자료 모음 (0) | 2013.10.31 |
cassandra 2.0/java driver - consistencylevel 지정하기 (0) | 2013.10.30 |
cassandra 2.0(CQL 3.0/ CQLSH)에서 row 모두를 delete 하기 (delete all rows) (0) | 2013.10.30 |