근래에 널리 사용되는 NoSQL 이란 용어가 있다. 

SQL을 사용하는 Oracle, MS SQL, MySQL, Sqlite 와 같은 기존의 관계형 데이터베이스와 달리 SQL을 사용하지 않는 데이터베이스를 일컫는 용어이다. 구글의 BigTable, 아마존의 Dynamo, 그리고 아파치의 Cassandra(카산드라)가 대표적인 예이다. 

구글의 BigTable과 아파치의 Cassandra에 대해서는 여기저기 글들에서 언급하는 걸 들었지만 실제로 기존의 데이터 베이스와 어떻게 다른지, 어디에 사용되는지 알지 못했었다. 지난 학기에 들은 데이터 베이스 수업 (CS 145)의 마지막 수업에 Twitter에서 일하는 Kevin Weil이 초빙되어 강연을 했는데, 트위터에서는 대량의 데이터를 어떤 데이터베이스 시스템을 이용해서 다루는지 설명해주어서 많은 도움이 되었다. 

강연의 슬라이드는 이곳에서 볼 수 있다. 

강연을 간단히 요약해보자면 아래와 같다.

Tweeter에서는 MySQL을 주로 사용하는데, 많은 트윗의 양을 다루는데 생기는 문제점과 해결책들은 

- 하나의 머신에서 다루기에는 데이터가 너무 많다: 나눠서 해결해야 한다.
- Join은 너무 오래 걸린다: Join과 관련된 부분은 안 할 수밖에 없다
- Index가 없는 column에는 쿼리가 거의 불가능하다: key lookup만 허용되어야 한다.
- Query가 보내진 시점에서 disk access는 지나치게 오래 걸린다: 어플리케이션에서 캐쉬를 적절히 다뤄줘야 한다.
- 서버가 고장났을 경우 유연한 대처가 불가능하다: 고장난 머신을 사용하지 않는 대안책이나, 적절히 다른 쿼리로 대체해줘야 한다.

그래서 사용하는 것 중의 하나가 Cassandra이다. 그 이유는
 
- Decentralized, fault-tolerant
- 어플리케이션에서 조작할 수 있는 다양한 캐쉬 레이어가 존재
- 유연한 스키마
- 쓰기가 빠르다 


NoSQL 데이터 베이스 시스템에 대한 이 강연의 결론은 "목적에 가장 적합한 툴을 골라 쓰기"이다. 데이터가 대량이 아니라면, MySQL이 대부분 잘 작동하지만, 데이터가 많다면 (high volume) CPU/disk/memory/latency 등 요구 사항에 맞는 데이터베이스 시스템을 골라 써야 한다. 

NoSQL 시스템의 예로는 Cassandra, HBase, MongoDB, CouchDB, Riak, FlockDB, Memcache, Redis, Neo4j, Voldemort, Tokyo Cabinet 등이 있다.


각 데이터베이스 시스템은 trade-off가 있고, 본인의 요구 사항에 맞춰서 써야 한다는 점이 흥미로웠다. 

'일상다반사' 카테고리의 다른 글

글을 짧게 써 볼까  (0) 2011.02.09
NoSQL in Twitter  (5) 2010.12.19
한 학기가 끝났다  (7) 2010.12.11
스탠포드에서의 첫학기 (in Computer Science)  (15) 2010.11.01
 
wrote at 2011.01.04 07:53
비밀댓글입니다
wrote at 2011.01.06 12:45 신고
네, 이 외에도 세미나 수업에는 다양한 분야의 사람들을 많이 초빙하더라구요. 예를 들면 Cloud Computing (CS309A) 같은 경우가 그렇지요.
http://cs309a.stanford.edu/
wrote at 2011.01.31 19:13 신고
야 요고 정말 잼있는 주제이네~
트위터에서는 이렇게 처리를 하는구나 정말 흥미로와~
아마 네이버에서도 이런게 필요할듯
너에 블로그에서 정말 흥미로운 주제를 보게 된다.
좀 더 알고 싶은데 ㅋㅋ 설명 해줘 ㅋㅋ
 
wrote at 2011.02.16 18:58
비밀댓글입니다
wrote at 2011.02.17 18:58 신고
네 초대장 보내드렸습니다.
이름 :
비밀번호 :
홈사이트 :
비밀글 :
*1  *2  *3  *4  *5  *6  *7  *8  *9  *···  *103 
count total 267,615, today 1, yesterday 13
달력
«   2018/10   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
알립니다
I am
분류 전체보기
일상다반사
책 리뷰
On the Web
무술 수련
About me
꼴지 동경대를 가다를 통해..
글 보관함
2011/03, 2011/02, 2010/12, 2010/11, 2010/09,
rss

티스토리 툴바