샹

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

· 2012-06-12 (화) 14:45:28 · 5483 · 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건
+
제목 글쓴이 날짜 조회
16-06-03 조회 2,753
15-07-30 조회 3,269
15-06-08 조회 5,333
15-05-27 조회 4,261
15-01-08 조회 6,552
14-12-30 조회 5,195
14-10-10 조회 5,230
14-08-13 조회 6,214
14-08-11 조회 4,988
14-08-06 조회 6,336
14-03-19 조회 7,286
13-04-26 조회 9,476
12-12-15 조회 5,016
12-12-15 조회 7,249
12-12-11 조회 5,353
12-11-21 조회 5,841
12-10-11 조회 4,955
12-10-03 조회 4,641
12-09-20 조회 5,984
12-09-02 조회 4,127
12-08-29 조회 5,034
12-08-29 조회 3,962
12-08-24 조회 4,088
12-08-18 조회 4,329
12-08-17 조회 4,361
12-08-16 조회 3,618
12-08-06 조회 5,385
12-08-05 조회 4,646
12-08-03 조회 4,409
12-08-03 조회 4,556
12-07-29 조회 3,387
12-07-24 조회 3,991
12-07-22 조회 3,477
12-07-20 조회 4,151
12-07-19 조회 4,453
12-07-19 조회 3,810
12-07-19 조회 3,727
12-07-19 조회 5,406
12-07-19 조회 3,367
12-07-18 조회 4,931
12-07-15 조회 3,938
12-07-14 조회 3,668
12-07-12 조회 4,353
12-07-11 조회 3,649
12-07-11 조회 3,369
12-07-11 조회 3,318
12-07-10 조회 4,492
12-07-09 조회 3,218
12-07-09 조회 4,098
12-07-09 조회 4,508
12-07-08 조회 4,410
12-07-07 조회 5,361
12-07-06 조회 4,634
12-07-06 조회 3,891
12-07-06 조회 3,649
12-07-06 조회 3,655
12-07-02 조회 5,371
12-07-02 조회 4,065
12-06-29 조회 3,565
12-06-28 조회 4,093
12-06-26 조회 3,675
12-06-26 조회 4,796
12-06-21 조회 3,757
12-06-20 조회 4,437
12-06-20 조회 3,945
12-06-15 조회 4,451
12-06-15 조회 4,201
12-06-13 조회 7,221
12-06-05 조회 7,187
12-06-04 조회 3,797
12-06-03 조회 3,645
12-05-31 조회 3,644
12-05-28 조회 6,466
12-05-27 조회 3,705
12-05-25 조회 3,870
12-05-23 조회 4,118
12-05-21 조회 4,969
12-05-17 조회 3,930
12-05-17 조회 3,827
12-05-09 조회 3,850
12-05-07 조회 4,090
12-05-02 조회 4,376
12-05-01 조회 4,453
12-04-30 조회 3,287
12-04-30 조회 4,241
12-04-25 조회 4,302
12-04-25 조회 4,741
12-04-24 조회 3,718
12-04-24 조회 4,478
12-04-23 조회 3,503
12-04-20 조회 3,137
12-04-17 조회 5,332
12-04-16 조회 4,232
12-04-14 조회 3,533
12-04-14 조회 3,564
12-04-14 조회 3,632
12-04-13 조회 3,255
12-04-13 조회 4,445
12-04-13 조회 6,036
12-04-12 조회 3,197