cassandra 사용해 보신분 있으신가요?

· 2012-06-12 (화) 14:45:28 · 5473 · 5
NoSql cassandra 사용해 부신분 댓글좀 부탁 드립니다.

|

댓글 5개

2012-06-12 (화) 20:16:39
얼마전 몽고디비 추천했던 사람입니다.

mongodb는 쿼리가 없기 때문에 where문은 안되지만
php로 사용하실 경우 restful한 method를 지원합니다.
find나 where이라는 mongo driver class안에 함수들이 있는데,
where문의 기능을 합니다.

이것에 대해서는 SQL작성에 익숙해져있으시다면 굉장히 난해할 수도 있는 개념입니다.

SQL로 연산도 안되고 SQL자체가 안먹히기 때문에 통계를 내기 위해서는 전문적인 SQL 쿼리분석가가 필요한 것이 아니라, python이나 ruby로 간단한 백앤드단에서 처리하는 프로그램을 만들 줄 아는 개발자가 해야 한다는 단점이 있습니다. (적합한 것은 역시 댓글이나 SNS형 데이타에 적합하겠죠)

카산드라는 최근 버전에 SQL이 들어가있더군요. SQL이 가능한 것으로 알고 잇으나 RDBMS 처럼 디비안에서 연산은 불가능합니다.

noSQL은 접근 방식이 조금 다릅니다. RDBMS는 realtime에 적합한 반면, noSQL은 안정적인 트랜젝션을 기반으로 정확한 정보에 적합합니다.

물론 insert속도는 쌓이는 row에 따라서 nosql이 더 빠르다는 것은 익히 알려진 사실이기 때문에 많이 선택하는 이유가 되기도 합니다.

mongo를 추천하는 이유는 replication이 간단한 설정으로 확장성이 뛰어나기 때문입니다.
물론 카산드라는 시스템 특성을 타지 않는 안정적인 자바 기반이라는 장점이 있긴 합니다만, 처음 nosql을 접근하시는 경우 조금 난해하실수도 있기 때문에 선택에 조금 신중을 기하셔야 합니다.
noSQL을 검토하는 이유는 단시간에 너무 커지는 대용량DB 때문에
쿼리속도가 점점 느려지고 있기 때문입니다.
cassandra를 검토하는 이유는 cassandra는 SQL문을 일부 지원 하기
때문입니다. 그런데, 초기 설계를 어떻게 해야할지 도무지 모르겠습니다.
noSQL은 초기 설계가 정말 중요하다고 하는데 사용하셨다는분이 없어서..
RDBMS와 noSQL을 비교할때 대용량 DB에서 noSQL이 빠를까요?
제가 Python은 다룰줄 알기 때문에 Python을 이용한 처리방법이 있다면
가능할 것 같은데, 뭘 어떻게 해야하는지 noSQL에 대한 기초 지식 자체가 없어서
걱정이 많이 됩니다.
2012-06-13 (수) 16:58:32
우선 카산드라 지원하는 드라이버 설치하시고
디비 설계 이런거 안하셔도 됩니다;;
물론 초기 설계가 중요하긴 한데 어짜피 json과 유사한 형태로 저장되기 때문에 프로그램을 할 줄 아시면 쉽게 마이그레이션도 됩니다.
저는 루비를 할 줄알기에
루비로 설명드리면

@object = new Model
@object = { name: "test", user: "1212" }
@object.save

이런식으로 하게 되면 name = test user = 1212라고 들어갑니다.
꺼낼때는
@object.find(:all,
:conditions => "name = test")
이런 SQL에서 select *from models where name='test'와 같은 구문이 됩니다.



속도는 대용량에서 noSQL이 빠릅니다. 검색 부분은 인덱싱과 여분의 메모리 풀으로 무장된 RDBMS와 유사하겠지만 Insert에서 확실한 속도 차이가 납니다.

데이타베이스가 서버단으로 커지게 되면 replication을 설정으로 지원하기 때문에 확장성이 좋고, 각 서버가 가지는 정보가 나눠져서 저장되기 때문에 바쁜 디비 서버는 질의를 보류하고 여유있는 디비 서버가 대답하게 됩니다.

물론 RDBMS도 이것이 가능하지만,
이걸 구현하려면 proxy기능과 함께 디비 load를 체크하는 프로그램 등등을 개발해야겠죠.
솔루션이 있긴합니다. 오라클은 이것 역시 지원하고 있구요. 하지만 비싸죠 -_-;;

여담이지만
noSQL에 익숙해지시면 SQL이 필요가 없습니다.
python할 줄 아신다면 더더욱이 필요없을 듯 하군요;;
2012-06-18 (월) 20:22:27
mysql 에 익숙하다면, mysql + nosql(memcached) api 를 추천드립니다.
cassandra라.. 요즘은 정말 날이 갈수록 새로운게 나와는군요.. ㅠㅠ
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
12-08-29 조회 5,421
12-08-21 조회 3,419
12-08-21 조회 3,510
12-08-05 조회 3,321
12-08-04 조회 4,278
12-07-31 조회 9,185
12-07-26 조회 3,847
12-07-24 조회 3,473
12-07-20 조회 3,362
12-07-15 조회 3,262
12-07-09 조회 4,644
12-07-09 조회 3,346
12-07-09 조회 3,252
12-07-06 조회 4,084
12-07-05 조회 3,185
12-07-05 조회 3,257
12-06-30 조회 3,382
12-06-29 조회 3,188
12-06-26 조회 3,354
12-06-18 조회 3,241
12-06-18 조회 3,343
12-05-31 조회 3,572
12-05-29 조회 4,310
12-05-23 조회 3,343
12-05-22 조회 3,581
12-05-17 조회 4,419
12-05-10 조회 3,453
12-05-06 조회 3,307
12-05-04 조회 3,009
12-04-25 조회 3,441
12-04-21 조회 2,964
12-04-21 조회 4,340
12-04-20 조회 3,520
12-04-10 조회 2,935
12-04-06 조회 2,811
12-04-05 조회 3,160
12-04-05 조회 3,830
12-03-31 조회 2,911
12-03-30 조회 3,041
12-03-29 조회 2,954
12-03-28 조회 2,983
12-03-27 조회 3,294
12-03-26 조회 3,686
12-03-23 조회 2,880
12-03-20 조회 2,943
12-03-12 조회 2,866
12-03-12 조회 3,214
12-03-12 조회 3,118
12-03-12 조회 4,075
12-03-12 조회 5,568
12-03-12 조회 3,669
12-03-12 조회 5,473
12-03-12 조회 3,644
12-03-12 조회 6,014
12-03-06 조회 3,001
12-03-04 조회 4,129
12-03-02 조회 3,944
12-02-16 조회 5,110
12-02-15 조회 4,426
12-02-11 조회 2,961
12-02-08 조회 2,801
12-02-08 조회 3,811
12-02-07 조회 3,224
12-01-30 조회 2,923
12-01-29 조회 3,344
12-01-25 조회 3,330
12-01-19 조회 2,855
12-01-12 조회 2,998
11-12-30 조회 3,649
11-12-29 조회 2,978
11-12-26 조회 3,035
11-12-26 조회 2,921
11-12-17 조회 4,038
11-12-17 조회 3,249
11-12-01 조회 3,024
11-11-19 조회 4,198
11-11-14 조회 4,085
11-11-14 조회 2,715
11-11-10 조회 2,945
11-11-10 조회 3,614
11-10-27 조회 2,432
11-10-26 조회 2,573
11-10-25 조회 2,419
11-10-17 조회 3,586
11-10-10 조회 2,521
11-10-03 조회 2,575
11-09-28 조회 2,454
11-09-28 조회 3,951
11-09-26 조회 2,440
11-09-26 조회 2,552
11-09-25 조회 2,811
11-09-19 조회 6,002
11-09-09 조회 2,896
11-09-08 조회 3,281
11-08-31 조회 3,081
11-08-29 조회 5,072
11-08-25 조회 2,751
11-08-23 조회 2,434
11-08-21 조회 2,441
11-08-19 조회 2,366