2010/12   article search result : 2
2010.12.19
근래에 널리 사용되는 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 신고
네 초대장 보내드렸습니다.
이름 :
비밀번호 :
홈사이트 :
비밀글 :
폭풍과도 같았던 한 학기가 끝났다. 중간 고사 끝났다고 한 숨 돌리고 나니, 기말이 끝나버렸다.

예전에는 대충해도 어느 정도 성과가 있었고, 경쟁자들에 비해 내가 불리한 위치에 놓여 있지 않았으니, 나의 공부 방법에 대해 회의를 가지지 않았는데, 이번 학기를 겪으면서 심히 고민하고 있다. 

도서관에서 공부하다가 매일 달을 보면서 집에 왔는데, 난 시간을 어디에 사용했길래 시험을 잘 못 치는 걸까?

중간 고사야 시험 유형을 몰랐으니 그랬다쳐도 기말고사 때는 시험 유형을 알았으니 더 잘 쳐야 할텐데, 기말 고사도 중간에 비해 그리 낫지 않다. 

고민하던 와중에 인터넷에서 우연히 발견한 고승덕 변호사님의 글에 실마리가 있는 것 같다. 

이번 학기 열심히 공부한 것 같은데, 구체적으로 하루 목표량을 정해놓고 공부하지 않아서 집중력이 모자랐던 것 같다. 매주 숙제 데드라인만 맞춰서 제출하다보니, 숙제 점수는 좋은 반면에 수업 내용 리뷰를 게을리해서 시험을 잘 못치는 것이 주원인인 것 같다. 

그리고 어차피 시험 성적은 상대평가이니, 공부를 내가 그만두고 싶은 선에서 멈추지 말고 거기서 약간의 괴로움을 더 감수하고 공부를 해야 더 나은 성적을 낼 수 있지 않을까 싶다. 

아, 그리고 다음 학기에 시도해 볼 것 하나는 나의 안전 울타리에서 벗어나서 내가 불편한 위치에 나를 세워보기. 예를 들자면,
  • 다양한 회사와 internship interview 
  • 캠퍼스에서 좀 더 다양한 사람들과 교류하기
  • 프리젠테이션할 기회가 있으면 발표하기 
  • 컨퍼런스 혹은 세미나에 참여하기


아래는 고승덕 변호사님의 글의 일부분. 

내 직업은 
1. 변호사이면서
2. 방송도 하고
3. 책을 쓰고 있다. 평생 소원이 1년에 1권씩 평생 책을 내는 것이다.
4. 글도 쓴다. 모 신문사에 경제기사를 1주일에 2개정도 쓴다.
5. 또 오늘과 같은 특강도 한다. 평균 1주일에 2회 정도
6. 증권분야에서도 활동하고 있다. 운영하고 있는 사이트가 있는데 회원수만도 3만5천명 정도 된다. 
나름대로 홈페이지 관련 사업을 하나 구상 중인 것도 있다.
7. 마지막으로 대학에서 겸임교수로 활동하고 있다.

이처럼 내가 하고 있는 일이 무척 많은 것 같고, 
어떻게 이걸 다 할까 생각이 들겠지만 다 가능하다.

이 중에서 한가지만 하더라도 힘들다고 하는 사람이 많다. 
그러나 가능하다고 생각하면 다 가능하다.

무엇이든지 목표가 중요하며, 
그 목표 달성을 위해 가장 중요한 것은 확신이다. 
사람들은 어려운 일일수록 확신을 갖지 못한다.

인생에 있어 2가지 자세가 있다. 
보통 사람들은 남보다 적게 노력하고 결과는 남들과 같은 똑같이 나오게 하려고 한다. 사실은 이것이 경제학 법칙에 맞는 것이다. 투입을 적게하고 효과를 많이 내는 것.

반대로, 다른 사람들 만큼의 결과를 얻기 위해서는 더 많은 노력을 해야 한다고 생각할 수 도 있다. 나의 경험상으로 보면 후자가 훨씬 좋은 결과를 낳는다.

남보다 노력을 더 많이 해서 비슷한 결과를 가져 오는 것이 비효율적인 것 같지만, 실제로 이것은 어느 시점이 지나면 훨씬 더 좋은 결과를 가져온다.이것이 내가 인생을 살면서 내 스스로 내린 결론이다.


그럼 노력이란 무엇이냐? 
나는 "노력이란 성공의 확률을 높이는 것이다."라고 정의 내린다. 
하지만 물론 결과를 반드시 보장하지는 않는다. 

노력에도 함수 관계가 성립한다.
* 노력 = f(시간 X 집중)

내가 실제 노력을 했는가 안했는가를 판단하려면 
시간을 많이 투입했거나 집중을 잘했거나 살펴보면 된다.

똑같은 일을 하더라도 3시간만에 끝내는 사람이 있는가 하면 5시간만에 끝내는 사람도 있다. 그러나 3시간만에 끝내는 사람이 실제 일을 더 잘하는 것 같지만 나머지 2시간을 어떻게 보내느냐가 중요하다. 
더 많이 알기 위해 그 2시간을 투자하지 않았다면 노력하지 않은 것이다.

짧은 시간을 비교해 보면 노력을 적게하고, 많이 하는 것이 결과만 보면 거의 미미하다고 할 수 있다. 그러나 그 순간을 이겨내면 주식처럼, 가속도가 붙기 시작하면서 그 차이는 엄청나다.

집중에 대해서 얘기해 보면, 고시 공부할 때 예를 들어 보겠다. 
나는 고시 공부를 1년간 해서 합격했다. 어떻게 가능 했느냐?
첫째는 된다고 생각하는 확신이 있었기 때문이고, 
둘째는 남보다 더 많은 노력을 했기 때문이다.

보통 고시에 합격하려면, 봐야 할 책이 50권, 권당 페이지는 500p. 
그 책을 5번을 봐야 합격한다는 얘기가 있다. 
그러나 나는 7번을 봤다. 이를 계산해보면,
50 X 500 X 7 = 175,000 페이지를 읽어야 한다는 얘기다. 
이것을 1년을 360일로 계산해보면 1일 목표량이 나온다. 
즉, 1일 500페이지 정도의 분량을 봐야 한다는 것이다.

이처럼, 목표를 세울때는 구체적으로 세워야 한다. 
막연한 목표는 달성하기 힘들다.

이 결론을 보면 "인간이 할 짓이 아니다"라고 생각할 것이다. 
누구나 그렇게 생각한다. 
그렇게 생각하면 사람들은 포기하게 된다. 
설사 하게 되더라도 하다가 흐지부지 된다. 

이렇게 목표에 대해 확신이 없고, 
목표를 의심하는 사람은 집중을 할 수 없다. 
무엇보다도 자신의 목표에 확신을 가져라.

된다는 사람만 되고 안된다고 생각하는 사람은 안된다. 
일단 안 된다고 생각하는 대부분의 85%의 사람들은 이미 나의 경쟁상대가 아닌 것이다. 된다고 생각하는 일부만 나의 경쟁이 된다. 그럼 경쟁대상이 줄어드니 훨씬 마음도 한결 가벼워진다.

세상도 절대적으로 잘하는 사람은 원하지도 않고 필요하지도 않다. 남 보다만 잘하면 된다. 그럼, 다른 사람보다 잘하고 있는지를 어떻게 판단하느냐? 그것은 나 자신을 판단 기준으로 삼으면 된다.

인간은 거의 비슷하다. 내가 하고 싶은 선에서 멈추면 남들도 그 선에서 멈춘다. 남들보다 약간의 괴로움이 추가되었을 때라야 비로소 노력이란 것을 했다고 할 수 있다.

고시 공부할 때 7시간 잤다. 장기간 공부를 해야할 경우라면 일단 잠은 충분히 자야한다. 하루 24시간 중 나머지 17시간이 중요하다. 고시생의 평균 1일 공부시간은 10시간 정도다. 

그러나 정말 열심히하는 사람은 잠자는 시간빼고 17시간을 하는 사람이 있을 것이다라는 생각을 했다.

그러면 정말, 밥먹는 시간도 아까웠다. 남들과 똑같이 먹어서는 안된다고 생각한 것이다. 반찬 떠 먹는 시간도 아까웠다.씹는 시간도 아까웠다. 그래서 모든 반찬을 밥알 크기로 으깨어 밥과 비벼 최대한의 씹는 시간도 아꼈다. 숟가락을 놓는 그 순간부터 공부는 항상 계속 되어야했다. 나의 경쟁자가 설마 이렇게까지 하겠냐하고 생각들면 노력했다고 할 수 있는 것이다.

미국에서 생활할 때 보면 소위 미국의 전문가라고 하는 사람들은 간단한 샌드위치로 끼니를 때운다. 점심시간 1시간 다 쓰고, 이래저래 20~30분 또 그냥 보내는 우리나라 사람들은 그들에 비하면 일 하는게 아니다.

집중을 잘 하는 것은 벼락치기 하는 것이다. 벼락치기 할 때가 더 기억에 오래 남는다고 한다. 우등생은 평소에 벼락치기 하는 마음으로 공부를 한다. 

이렇게 할 수 있는 이유는 목표가 분명하기 때문이다. 
막연한 목표를 가지면 이렇게 긴장이 안되지만 분명하면 항상 긴장되고 집중을 잘 할 수 있다.

방송하면서 인생이 많이 바뀌었다. 
처음 주변 사람들은 말렸지만 결과적으로 보면 좋은 결과를 가져왔다.

나는 세상을 살면서 이런 생각을 해본다. 
사람은 해야 할 일과 하지 말아야 할 일이 있다. 사람이 해야할 일이란 남에게 해을 끼치는 일이 아니면 해도 되는 일이다 라고 생각한다. 그렇게 생각하면 세상에 해야 할 일이 참 많다.

인생에서 내가 할 수 있는 일들을 쌓아 가면 된다. 하다가 안되면 포기하더라도 아예 안하는 것보다는 낫다. 아예 하지 않으면 할 수 있는 일은 아무 것도 없다.

나의 징크스는 시험에 합격하려면 10번을 봐야 하는 것이다 .그래야 합격의 확신을 갖는다. 3~4번만 보면 불안하다. 그래서 그냥 뭐든지 기본적으로 10번을 본다. 몇 번 3~4번 책을 보고 시험을 본 적 있다. 역시 떨어졌다.


앞으로는 이렇게 해보자. 
첫째는 남보다 많이 노력하는 것이다. 
둘째는 어려운 목표일수록 확신을 가져보자. 
그러면 정말 되는 일이 훨씬 많다. 
셋째는 남보다 최소 3배는 해야한다고 생각하자.

직장에서 윗사람이 일을 시킬 때 남보다 더 많은 일을 시키고, 나한테만 어려운 일을 시키더라도 신나는 표정을 지어보자. 대부분의 사람, 아니 나의 경쟁자는 이럴 때 얼굴을 찌푸릴 것이다. 
그러나 내가 이기려면 그들 보다는 다른 모습이어야 한다. 

힘들더라도 괴로움을 추가해 보자.

남들에 비해 노력한 만큼의 결과가 나오지 않더라도 노력을 계속해야 한다. 3배의 노력만 한다면 4번째부터는 분명 가속도가 붙어 급속도로 차이가 날 것이다.

마지막으로 대인관계에 대해 강조하고 싶다. 세상을 살다보면 대인관계를 유지하는 것도 노력이다. 성공을 위해서는 나 혼자의 노력 외에 대인관계가 차지하는 비중이 높은 경우가 있다. 
어떤 상대를 만나든 최소 5분은 상대방을 위해 생각하는 시간으로 할애해 보자.

남과 똑같이 해서는 절대 노력했다고 할 수 없다. "
 
 - 고승덕 변호사  -

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

NoSQL in Twitter  (5) 2010.12.19
한 학기가 끝났다  (7) 2010.12.11
스탠포드에서의 첫학기 (in Computer Science)  (15) 2010.11.01
영어 일기 예제 찾아보다  (0) 2010.07.30
wrote at 2010.12.16 13:28 신고
첫 학기가 누구에게나 가장 힘들죠. 저도 짐싸서 돌아가고픈 생각이 많이 들었던 것 같은데, 여기까지 온게 신기해요. 덕분에 고승덕 변호사 글 잘 보았습니다. 이런 결심으로 계속 해 나가신다면 좋은 결과가 있겠죠?
wrote at 2010.12.18 13:34 신고
격려 감사합니다. 첫학기 우습게 봤다가, 큰 코 다쳤어요 ^^ 덕분에 현재의 위치를 진지하게 받아들이는 좋은 계기가 되었어요.
형구 
wrote at 2010.12.19 09:51 신고
고생많았다. 덕분에 많은 점들을 느끼고 간단다.
wrote at 2010.12.19 14:26 신고
형의 첫 학기는 어땠나요? ^^ 형도 너무 수고하셨어요
wrote at 2011.01.31 19:15 신고
괜찮은 글이네 공감은 하지만 흐윽 이렇게 행동하기는 너무 어려워 ㅋ

하지만 필요하면 그렇게 해야지 ㅋ
wrote at 2011.02.04 06:09 신고
이 글에서 가장 마음에 드는 부분 중의 하나는 7시간이나 잔다는거다 ㅋㅋ
매일 이렇게 푹 자고 싶다 ㅎ
wrote at 2012.12.06 21:45 신고
실례합니다. 저는 스탠퍼드 대학 컴퓨터 공학과에 가고 싶은 한국나이 17세의 학생입니다.
7월자로 필리핀으로 이민을 오게 되었는데, 원하는것은 있으나 방법을 모르는 상태에서 이런 글을 보게 되어 참 기쁩니다.
가능하시다면 당신과 같은 꿈을 갖고 살아가는, 허나 아무것도 모르는 저를 위해, 조언을 해주실수 있으세요?
이름 :
비밀번호 :
홈사이트 :
비밀글 :
*1 
count total 262,702, today 2, yesterday 29
달력
«   2010/12   »
      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

티스토리 툴바