검색엔진

토요일, 12월 31, 2011

[독서광] The Architecture of Open Source Applications

2011년도 벌써 다 끝나간다. 올 한 해 블로그를 구독(또는 방문)해주신 모든 애독자 여러분들께서는 내년 한 해에도 새해복 많이 받으시기 바라며, 올해 마지막 블로그를 적어보려고 한다. 2011년을 장식하는 ... 이런 글을 올리고 싶었지만, 1주일에 글을 하나씩 올리는 관계상 특별히 뽑고 자시고 할 것도 없어서 그냥 새로운 글을 올려드리겠다. 오늘 소개할 내용은 The Architecture of Open Source Applications(아래에서는 지면 관계상 AOSA라고 줄여서 설명한다)라는 제목부터 흥미로운 책(?)이다. 이 책은 웹 브라우저로 읽을 경우에는 무료로 읽을 수 있고, 페이퍼백, PDF, ePub 형식으로 구매할 수도 있으므로 필요에 따라 선택이 가능하다. B급 프로그래머의 경우에는 Send to Kindle을 사용해 HTML을 킨들 전용 포맷으로 변환한 내용을 읽고 있는데, 일부 코드 줄바꿈이 어색하긴 하지만 (코드가 적기 때문에) 충분히 읽을만하다.

이 책은 오픈 소스 코드를 다루고 있다는 점에서 Diomidis Spinellis이 지은 Code Reading이나 Code Quality를 연상하게 만들지만, 근본적인 차이가 있다. 이 책은 오픈 소스 프로젝트의 코드 측면이 아니라 아키텍처 측면을 다루고 있다. 흔히 오픈 소스 프로젝트를 소개하는 홈 페이지를 살펴보면 간략한 소개, 다운로드 링크, 설치 방법, API 설명 등은 나오지만 해당 소프트웨어의 아키텍처나 설계 사상을 다루는 경우는 드물다(가물에 콩나듯 있다고 하더라도 논문이나 발표 자료 형태가 대부분이다). 따라서 오픈 소스 프로젝트에 관심이 많은 호사가가 탐험을 하려고 발을 담그면 전반적인 큰 지도가 없는 상황에서 지엽적인 이정표만 보고 길을 찾아야 한다는 어려움이 있다. AOSA는 특정 오픈 소스 소프트웨어가 풀어야 할 도메인을 비롯해, 전반적인 아키텍처와 설계 사상을 소개하고 있으므로 여행 전에 구글 지도로 출발지에서 목적지까지의 길과 주변 사물을 확인하듯 해당 오픈 소스 소프트웨어의 탐험 경로를 개괄하는 데 많은 도움을 준다. 건축 분야에서 기존 건물의 아키텍처를 다루는 책이 엄청나게 많이 나왔고 여기에 대한 연구도 끊임없이 이뤄지는 반면에 전산 분야에서는 사실상 남이 해 놓은 업적에는 별반 관심이 없이 매번 바퀴를 새로 만들고 똑 같은 실수를 반복하고 있으므로 AOSA의 시도는 눈여겨 볼만하다는 생각이다.

물론 3만 피트에서 조감하는 관계상 각 모듈에 대한 세부 설계 내용이나 구현에 필요한 각종 결정 사항과 제약 사항을 시시콜콜 제시하지는 못하지만, 전반적인 큰 그림을 보기에는 부족함이 없다는 생각이다. 주로 특정 오픈 소스를 대상으로 설명하고 있지만, 요즘 뜨고 있는 일부 분야(예: NoSQL, CI(Continuous Integration))는 여러 가지 기존 기술을 비교하고 장단점을 논하는 방법으로 설명을 전개하기도 한다. 각 장을 쓴 저자가 여러 명이기 때문에 일관성은 조금 떨어지지만 분야나 사람에 따라 어떤 관점으로 오픈 소스 소프트웨어의 큰 그림을 그리는지 옆에서 구경하는 재미도 쏠쏠하다. 각 장은 연관성이 전혀(!) 없기 때문에 다큐먼터리 시리즈 중에서 재미있는 편만 골라보듯 자신이 흥미를 느끼는 부분만 골라서 읽고 나중에 시간이 남으면 (잉여력을 십분 발휘해) 다른 분야도 기웃거리면 좋겠다.

그러면 얼마 남지 않은 올 한해를 잘 마무리하시기 바라며, 내년에도 재미있고 흥미로운 글로 독자분들을 찾아 뵙겠다. 'Happy New Year!'

EOB

토요일, 12월 24, 2011

[독서광] 어댑트

경제학 콘서트경제학 콘서트 2를 모두 읽은 분들이라면 틀림없이 팀 하포드의 신작인 어댑터에 대한 소식을 여러 경로로 접했을 가능성이 높다. 뭐 결론부터 이야기하자면 하포드는 역시 이번에도 우리의 기대를 저버리지 않았다. 전작에서 일상 생활에 얽힌 여러 가지 흥미로운 내용으로 사람들 혼을 빼놓은 하포드는 기세를 몰아 이번에는 '불확실성을 무기로 활용하는 힘'이라는 부제에 걸맞게 위험, 실패, 성공에 대한 이야기를 멋지게 풀어놓았다. 물론 (조만간 소개할 예정인) 바인하커의 '부의 기원'이나 번스타인의 '리스크', 페로우의 'Normal Accident', 위크의 'Managing the Unexpected'를 읽고 나서 이 책을 읽는다면 더욱 좋겠지만, 이런 기초 지식이 없는 분들이라도 이 책만으로 요즘과 같이 복잡한 세상을 살기 위한 지혜를 살짜쿵 엿볼 수 있다는 생각이다.

이 책에서 다루는 내용을 간략하게 요약하자면 "성공을 위해 위험, 실패, 실험은 되도록 멀리해야 할 불경스런 요소가 아니라 반드시 직면하게 되는 필수 요소이며, 실패에 따른 피드백에서 얻은 교훈을 토대로 개선해야 살아남는다"고 볼 수 있겠다. 이 책은 처음부터 끝까지 팔친스키의 3대 원칙을 중심으로 내용을 전개하고 있다.

  1. 새로운 아이디어를 찾고 새로운 것을 시도해볼 것(변이)
  2. 새로운 걸 시도할 때는 실패하더라도 살아남을 수 있는 규모로 시도할 것
  3. 피드백을 구하면서 교훈을 얻을 것(선택)

눈치 빠른 독자(혹은 '부의 기원'을 읽은 독자)들은 상기 3대 교훈이 진화와 관련이 있다는 사실을 즉각적으로 눈치챘을지도 모르겠다. 바로 그렇다. 이 책은 '불확실성', '탄력성', '변이', '선택', '규칙 변경', '독자성'이라는 핵심어를 놓고 사회가 동작하는 방식을 진화의 원리를 빌어 설명하고 있다. 단, 재미없고 따분한 이론이 아니라 하포드 특유의 재치있는 사례 선별과 이야기 풀어내기가 각 장마다 끊임없이 이어지므로 아하!하는 순간이 여러 차례 올 것이다.

백문이 불여 일견이라고 본문에서 재미있는 부분을 정리해드리겠다.

모든 대통령은 정치를 바꾸겠다는 공약을 내건 다음 당선이 된다. 그러다가 현실이 피부에 와닿기 시작하면서 거의 모든 대통령의 지지율이 급락한다. 우리가 계속 리더를 잘못 뽑아서가 아니다. 단지 현대 사회에서 리더십이 달성할 수 있는 업적의 범위를 과대평가하기 때문이다.
텔레비전에 자주 출연하는 유명 전문가일수록 무능한 경우가 많았다.
컴퓨터 산업은 실패로부터 시작되었다. ... 지난 40년 동안 가장 성공적이었다고 말할 수 있는 컴퓨터 산업은 실패에 실패를 거듭하며 눈부신 발전을 이뤄왔다.
진화 과정은 새로운 것의 발견과 익숙한 것의 활용 사이에서 균형을 맞추는 작업이다.
문제가 해결되지 않거나 지속적으로 변할 때 거기 접근하는 최상의 방법은 다양한 접근법으로 실험을 해보는 것이다.
아무리 훌륭한 계획이라도 일단 적군을 만나봐야 한다.
아주 상이한 관점이 부딪히는 가운데 올바른 의사결정이 나올 가능성이 높아진다.
반군은 레이더 화면에 등장하지 않는다.
기술적으로 진보한 기업일수록 더욱 탈집중화한다.
새로운 장비가 우수한 이유는 같은 일을 더 짧은 시간에 하기 때문이 아니라 이전보다 더 탄력적이기 때문이다.
혁신에서 실패는 그만한 값어치가 있다. 우리는 모든 복권이 당첨되리라고 기대하지는 않더라도 당첨 기회를 원한다면 복권을 사야 한다. 통계 용어로 표현하자면 혁신의 수익 패턴은 긍정적인 쪽으로 심하게 편향되어 있다. 작은 실패들이 잦고 큰 성공의 수가 적다는 뜻이다.
어찌된 일인지 정부는 덩치만 크고 성과는 전혀 없는 기업들만 골라서 지원해주는 듯하다. 그 경우 연이은 실패는 따놓은 당상이다.
새로운 아이디어는 약간의 투기성 자금을 필요로 하고 좋은 아이디어가 실패하는 경우도 많다. 뭔가 놀라운 일을 이루기 위해 자금을 움직이는 과정에서는 언제나 약간의 도박적인 요소가 개입되게 마련이므로 벤처 캐피털 같은 '카지노' 활동이 없다면 경제는 지금보다 더 성장하기 힘들고 세상은 혁신성이 떨어질 것이다.
적응은 딱히 우리가 하는 것이 아니다. 오히려 '우리에게 가해지는 것'이라고 봐야 한다.
인간의 실패 중에서 목숨을 좌지우지할 정도로 치명적인 실패는 없다. 일정 한도 내에서 우리는 순차적으로든 동시다발적으로든 실험을 할 수 있다.
비즈니스의 3대 원칙: 1) 새로운 것을 시도해보되 일부는 실패하리라고 예상할 것. 2) 안전한 공간을 마련하거나 자잘한 단계로 일을 진행해서 실패하더라도 살아남을 수 있는 규모로 실패할 것. 3) 실패했을 때 그 사실을 깨달을 것.
구글은 '맹꽁이(명석하지 못한 엔지니어)가 없는 회사'를 유지하고 싶어하고, 팀슨도 회사에서 '농땡이'들을 몰아내고자 한다.
진정으로 시장 파괴적인 혁신은 기업에서 그동안 중요시되어온 요소들을 거의 모두 비껴간다.
최고의 실패는 아무도 보는 사람 없이 방 안에서 혼자 저지르는 사적 실패다. 그 다음으로 좋은 실패는 한정된 청중들 앞에서의 실패다.
부정은 실수를 인정하는 것을 거부하는 과정이고, 손실 추격은 성급하게 실수를 지워버리려다가 더 큰 피해를 초래하는 과정이라면, 쾌락적 편집은 실수가 중요하지 않다고 스스로를 설득하는 미묘한 과정이다.
회사일에 전념한다고 불필요하게 스스로를 구속할 필요는 없다. 우리는 나이가 들수록 실험에 적극적으로 나서지 못하는 듯하다. 이 책을 규정하는 진실, 즉 복잡한 세상에서는 처음부터 제대로 된 성과를 얻을 가능성이 낮다는 사실을 좀더 명확하게 깨닫게 되어서인지도 모른다. 일상생활에서 적응을 실천하려면 실수를 끝없는 실패 과정의 일부로 받아들여야 한다.

한 줄 제멋대로 결론: 실패에 대해 두려워하는 분들이 계시면 이 책을 꼬옥 읽어보시기 바란다.

뱀다리) 이 책을 선물해준 Mr. Kwon에게 감사말을 전한다. ;)

EOB

목요일, 12월 15, 2011

[독서광] 마이크로스타일

요즘 경제/경영 블로그라는 명성에 걸맞지 않게 한참 동안 재미없는(?) 책만 소개했었다. 정신을 차리고 최신 경제/경영서를 읽었으니, 다시 이야기 보따리를 풀어보도록 하자. 오늘은 소셜미디어(!)인 나꼼수라는 곶감이 올드미디어(!)인 조중동(아니 중조동 ㅋㅋ) 호랑이를 물리치는 작금의 상황에서 다시 한번 상큼한 글쓰기의 중요성을 강조하는 '마이크로스타일'을 한번 뜯어보기로 하자.

처음에 '마이크로스타일'을 들었을 때, 소셜미디어에서 살아남기 위한 흥미진진한 이야기거리가 담긴 책으로 착각(?)을 했다(아마 이렇게 착각하고 구입한 사람들 분명히 있다). 하지만 집으로 배달된 책을 열어 본문을 슬쩍 훑어보니 잘못 짚었다는 생각이 번쩍 들었다. 며칠 동안 묵히다 머리 아픈 카산드라를 읽은 기념으로 저자 소개부터 읽는 데 '언어학으로 박사 학위를 받았고, 펜티엄, 파워북, 블렉베리, 스위퍼, 페브리즈 등의 이름을 만들어낸 세계 최고의 네이밍 회사 렉시콘에서 일했다.'라는 문구가 눈에 들어왔다. 눈치 빠른 독자라면 이제 이 책의 정체를 눈치 챘을지도 모르겠다. 이 책은 영어권 문화에서 통하는 언어 심리학을 다룬다.

그렇다고 이 책이 재미없다는 이야기는 아니다. 어느 정도 영어 문화권을 이해하고(특히 미국 문화), 언어와 마케팅과 소셜미디어라는 사회 현상에 관심이 많은 독자라면 아주 재미있게 읽을 수 있다. 물론 국어/영어라는 단어만 봐도 두드러기가 나는 분들께서는 문법이랑 운율이랑 음운 이야기에 기절 초풍할지도 모르겠다는 걱정이 살짝 들긴 한다. 물론 이 책은 짧은 글을 잘 쓰는 규범적인 방법을 다루지 않는다. 기존 문법과 질서를 창조적으로 파괴해 독자들을 즐겁게 만들기 위한 자신만의 창의적인 스타일을 구축하는 데 필요한 배경 지식을 전달할 뿐이다. 이 책을 읽다보면 왜 어떤 브랜드 이름이나 문구는 사람들의 넋을 잃어버리게 만들고, 왜 다른 브랜드 이름이나 문구는 진부하고 따분한지 가슴으로 어렴풋이 알고 있던 사항을 머리로 깨닫을지도 모르겠다.

이 책을 읽다 보면 나꼼수가 인기를 끄는 이유도 미뤄 짐작이 가능하다. 예를 들어, 본문 중 다음 인용구를 한번 보자.

대단히 사소하고 구체적인 사실들을 포함할 때 이야기가 훨씬 믿음직스러워진다고 말한다.

나꼼수에서 정말 눈물나도록 꼼꼼하게 짚어주는 팩트(fact)는 신뢰도 조사 과정에서 나꼼수가 기존 올드 미디어 삼총사(?)를 완전히 밟아버리는 원동력을 제공한다. 다음 문구도 한번 볼까?

솔직하고 진실할 것, 그것이 지금까지 소셜미디어를 통한 의사소통에서 유일하게 공유되는 기대치일 것이다. 이는 소셜미디어를 구시대의 일방향적 출판 및 방송과 구분해주는 요소인 듯 하다.

_솔직_과 _진실_에 굶주린 사람들에게 기존의 말장난(예: 주어가 없다... T_T)과는 차별화된 내용을 전달하는 소셜미디어는 완전히 판세를 뒤엎고 있다. 물론 나꼼수를 저격하기 위한 아류작이 몇 개 나왔지만 솔직/진실과는 거리가 멀고(조중동에 나온 이야기를 동어 반복하는 수준이니...) 꼼꼼하지도 않고 게다가 재미도 없는 바람에 나오는 족족 망하고 있기에 소셜미디어라도 다 같은 소셜미디어가 아니라는 생각이 들긴 한다.

잠깐 이야기가 옆으로 새버렸는데, 이 책의 목차를 보면 크게 '의미', '소리', '구조', '사회적 맥락'이라는 네 가지 맥락에서 축소된 메시지를 요리하고 있다. 따분한 문법책이 되지 않도록 저자는 현실에서 성공한 예와 실패한 예를 많이 들고 있으며, 어려운 개념도 알기 쉽게 이해하도록 만드는 마법도 제법 잘 부리고 있다(물론 그렇다고 책 내용이 쉬워지지는 않는다. ㅋㅋ). 회사 이름, 상품 이름, 시, 인용구, 헤드라인, 신조어, 트윗, ... 한 마디로 정신없는 짧은 메시지의 향연이 펼쳐지므로 이 책을 읽고 나면 여러분들도 틀림없이 단어로 장난치고 싶은 마음이 들테다.

자 그렇다면 본문 중 몇 가지 재미있는 내용을 조금 더 살펴보자.

인터넷에서 우리는 주목할만한 가치가 없는 것들에 시간낭비하지 않기 위해 훑어보고 건너뛰고 클릭한다.
인터넷에서 우리가 선택할 수 있는 읽을거리는 무제한인데 품질 관리는 거의 안 된다.
누구라도 인터넷에서 눈에 띄기를 바라는 사람이라면 텍스트를 함께 제공하는 편이 훨씬 낫다.
현재 우리의 문화에서 언어를 사용하는 방식과 언어에 대해 생각하고 말하는 방식 사이에는 이상한 불협화음이 존재한다.
개념들은 깔끔한 포장에 담겨 오지 않는다. 간단히 말하자면 개념은 사물이 아니라 무언가가 일어나는 과정이다.
(사람들은) 새로운 정보를 받아들인 후 그것이 우리가 당면한 상황 및 알거나 믿는 것들과 어떤 관계가 있는지 식별해낸다.
눈앞에 있는 것에 대해 말할 때조차, 명료하게 말하기란 큰 도전일 수 있다.
애플은 문학적이고 문화적인 것들, 직접적인 경험에 기반한 모든 것을 뒤섞는 마법을 부린다.
좋은 이름은 대부분 무의식적으로 작동한다.
감정은 생각과 그것을 표현하는 메시지를 선명하게 만들어주기도 한다.
우리는 관념이 아니라 상황 속에서 살아간다.
대부분의 상황에는 기대치가 내장되어 있다. 정당이나 정치인은 최대한 밝은 모습으로 보이려 노력할 것이다.
아름다운 단어들은 추한 단어보다 더 타당하게 여겨진다.
이름과 주식 시세 표시 약어를 발음하기 쉬운 기업들이 그렇지 않은 기업들보다 주식 상장 당시 더 좋은 반응을 얻는다는 사실을 발견했다.
우리는 언어 형식을 가장 명료하고 단순하게 만들고 유지하는 경향이 있다.
성인이 된 후로는 그림이나 음악작품을 단 한 점도 생산하지 않아도 사는 데 아무 지장이 없다. 하지만 시는 다르다.
윌리엄 세익스피어는 열정적인 신어 제조자였다.
단어 조합은 영어에서 매우 보편적이며 자연스럽게 받아들여진다. 가장 중요한 것은 조합된 단어 중 두 번째 것이 몸통, 즉 조합된 단어가 어떤 범주에 속하는지 알리는 의미의 핵심으로 해석된다는 점이다.
어구의 표현력 속에 생각의 씨앗이 들어있다.
정치인들은 주기적으로 굶주린 유권자들에게 핵심 어구들을 과자처럼 던져준다. 핵심을 피하며 일관성도 없는 답변을 내놓을 때 그런 어구들은 실로 말도 안 되는 소리로 전락해버린다.
많은 이들이 정보의 과대 공유 혹은 과소 공유의 위험을 경고한다. 트윗의 양과 질 모두에 적용되는 이야기다. 과대 공유는 지나치게 자주, 또 너무 사적이거나 진부하기만 한 메시지를 올리는 것을 뜻한다. 과소 공유는 트윗을 너무 드문 드문 올리거나 곧바로 업데이트할 준비가 되어 있지 않은 것이다.
인터넷에서 대화에 참여하기 위해서는 자신만의 목소리를 만들어내는 것이 핵심이다.

이 책은 본문 중에 나오는 실제 사례가 훨씬 더 중요하므로, 위에 소개한 내용만 읽고서 따분하다고 섣불리 판단하지 마시라. 아, 산뜻한 소개 동영상(한국어다)도 있으므로 한번 보시길...

EOB

토요일, 12월 10, 2011

[독서광] 카산드라 완벽 가이드

애독자 여러분들의 성원에 힘입어 오늘은 클라우드 관련 서적 중 데이터베이스 관련 기술을 담고 있는 '카산드라 완벽 가이드'를 읽고 서평을 정리해보겠다. 지난번에 올려드린 [독서광] MongoDB 완벽 가이드를 재미있게 읽으신 분이라면 이 책도 역시 흥미 진진하게 읽을 수 있지 않을까 싶다. 단, 지난번 MongoDB 책만큼이나 이 책도 기존 관계형 데이터베이스 관리 시스템에 익숙한 분이 읽기는 과정에서 상당히 어려운 용어와 개념이 등장하므로 마음을 단단히 먹고 접근해야 할 필요성이 있다. 책 목차를 보면 가장 끝에 '용어집'이 나오는데, 읽다보면 왜 용어집까지 동원해야 하는지 감이 오시리라. B급 프로그래머도 처음부터 끝까지 다 읽고나서 3장(데이터 모델), 5장(아키텍처)을 다시 한번 읽느라(이런 경우는 상당히 드문 사례다. ㅋㅋ) 서평을 늦게 올렸으니 애독자 여러분들께서도 한 번 읽고나서 어렵다고 실망하지 마시기 바란다.

이 책의 부제목을 보면 '페이스북, 트위터를 지탱하는 기술 NoSQL'이라고 붙어 있고, 또한 인터넷에 올라온 여러 자료를 보면 카산드라에 대해 아주 훌륭한 이야기가 많기 때문에 신이 내린 선물로 생각하는 분들도 많지만... 이름값(?)을 하기 때문에 만병 통치약은 아니다. 카산드라가 데이터베이스 세상을 지배하는 예언자라는 생각은 오라클 데이터베이스가 어떤 경우에도 죽지 않고(오래 전에(요즘은 저얼때 그렇지 않다고 믿는다!) 오라클 서버 데몬이 core dump 내고 죽는 경우를 봤는데, 옆에서 그 장면을 보고서도 이럴리 없다고 고개를 갸우뚱하는 사람들을 봤다. 낄낄) 완벽한 성능을 발휘한다는 미신 만큼이나 위험하다. 그나저나 데이터베이스 이름은 다들 왜 이렇게 잘 짓는거야! 그렇다면 카산드라의 정체는 과연 무엇일까? 본문 중에 보면 50단어 카산드라라고 해서 다음과 같이 설명하는 내용이 나온다.

아파치 카산드라는 오픈 소스, 분산된, 비집중화된, 지속적으로 확장 가능한, 고가용성, 결함 허용, 조정가능한 일관성, 컬럼 지향 데이터베이스로 아마존 다이나모의 분산 디자인과 구글 빅테이블의 데이터 모델을 기반으로 페이스북에서 만들었고, 웹에서 매우 유명한 몇몇 사이트에서 사용하고 있다.

카산드라를 이해하기 어려운 주요 이유는 기존의 마스터 슬레이브로 동작하는 아키텍처를 따르지 않고 P2P를 따라 움직이기 때문이다. 일반적인 상식으로 카산드라를 이해하려면 상당한 지적 저항이 일어나기 때문에 이 책은 1장과 부록 A에서 거의 필사적(?)으로 카산드라의 큰 철학과 다른 모델과 차이점을 설명하려 애쓴다. 간단하게 설명하자면, 카산드라는 C(Consistency), A(Availability), P(Partition Tolerance) 중에서 C와 A를 강조하는 MySQL이나 C와 P를 강조하는 MongoDB와는 달리 A와 P를 강조하려다 보니 일관성을 다소('다소'라는 표현에 주의하자. '완전히'가 아니다) 희생하는 아키텍처를 따른다. 이러다보니 참 재미있는 특성이 생겼다. 읽기 보다는 쓰기가 더 빠르고(일반적인 데이터베이스와는 반대다), 단일 장애 지점이 존재하지 않으며(P2P를 다시 한번 생각하라!), 샤딩이 그냥 되며(랜덤하게 노드를 골라서 쓰면 자기들끼리 알아서 동기화 해버린다!), 노드 추가에 따른 탄력적인 확장성이나 노드가 오동작하거나 죽더라도 고가용성을 달성하기가 어렵지 않다. 따라서 목적에 맞는(예: 쇼핑몰에서 장바구니 담기, 개인 전용 편지함 읽기) 시나리오에서는 십분 위력을 발휘할 수 있게 된다.

아키텍처만 어려우면 뭐 그려니 하겠지만, 데이터 모델이나 질의 방법도 절대 쉽지 않다(다행스럽게도 최신 버전에는 SQL과 살짝 유사한 질의 언어(CQL)가 추가되었다. 그 전에는 눈물이 앞을 가렸을 듯...). 구글의 빅테이블에 익숙한 분들이라면 카산드라에서 제공하는 데이터 모델(키스페이스, 컬럼 패밀리, 슈퍼 컬럼, 컬럼이라는 사총사가 등장해서 머리가 띵하게 만들어준다) 역시 손쉽게 이해가 갈지 모르지만 일반적인 관계형 데이터 모델에 익숙한 분들이라면 MongoDB와는 또 다른 난감함을 선사한다. 이런 차이점을 설명하려고 본문(호텔을 모델링하는 응용을 만들어본다)과 부록(블로그를 만든다고 가정하고, 자료를 넣고 질의해본다)에 예제를 소개하고 있지만, 실제 사례(use case)와는 동떨어져 예제를 위한 예제(잘 읽어보면 데이터 모델과 이런 모델을 다루는 카산드라만의 방식을 이해할 수 있지만, 실제 뭔가 해보도록 도와주기에는 2% 부족하다. 아무래도 B급 프로그래머 머리가 나쁜 모양이다. T_T)가 되어버린 점이 조금 아쉽다. 부록에서 큰 마음 먹고 twissandra와 같은 현장감 있는 예제를 분석해 설명했으면 오히려 더 좋았을 거라는 못된(!) 생각을 잠시 해봤다. 아, 모니터링과 성능 최적화도 기초적인 내용만 설명하고 있으므로, 카산드라를 실제 현장에 적용하려는 분들께서는 다른 문서를 참조할 필요가 있겠다.

결론: 이 책을 읽고 나서 카산드라의 아아주 복잡한 개념들(머클 트리, 벡터 클록, 블룸 필터, 스니치, 안티 엔트로피, 힌트 핸드오프)을 한번에 쏘옥 이해하기는 어렵지만(원래 어려운 데다 책을 읽어봐도 설명이 다소 햇갈린다. 예를 들어, 본문 중 "키스페이스는 데이터를 범위로 분할한다. 키스페이스는 범위에서 데이터를 분할한다."라는 설명이 뭔지 이해가 되나? 설명에 재귀호출을 걸어놓으면 독자보고 우짜라고!!! T_T) 출발점으로서는 부족함이 없다는 생각이다. 특히 3장, 5장, 부록 A는 두세번씩 정독해보면 카산드라를 이해하는 데 큰 도움이 되리라 확신한다.

뱀다리: 카산드라 버전이 바뀔 때마다 상당한 기능 추가와 삭제가 일어나므로 0.6을 기반으로 작성된 원서를 번역하며 0.8에서 변경된 내역을 추적하느라 역자들이 고생했겠다는 생각이 드는데, (역자들의 고생과는 별개로) 벌써 1.0.x으로 버전이 올라가버렸기에 본격적으로 카산드라를 사용해서 개발하려는 분들께서는 책 내용을 100% 곧이 곧대로 믿지 마시고 반드시 소스 코드와 문서를 교차 참조해야 뒷탈이 없을 것이다.

보너스: 넷플릭스 기술 블로그에 올라온 좋은 내용을 소개한다. 카산드라 부록 A에서도 집중적으로 나오지만, NoSQL이라 해서 모두 특징/기능/성능이 동일하지 않다는 사실을 다시 한번 기억해둘 필요가 있다.

The reason why we use multiple NoSQL solutions is because each one is best suited for a specific set of use cases.
EOB

목요일, 12월 01, 2011

[독서광] 기업 소셜미디어 활용 전략

지난번에 소개한 R&D 혁신의 기술에 이어 액센츄어에서 만든 또 다른 책인 '기업 소셜미디어 활용 전략'을 출판사에서 선물로 받았다. R&D 혁신의 기술을 재미있게 봤으니, 후속타에 대해서도 기대치가 제법 높았다. 그런데, 막상 배송된 책을 받고 열어보니 페이지랑 텍스트 압박이 장난이 아닌지라... 전작을 따르는 형태를 기대했던 분들이라면 번역서인 이 책은 조금 다르게 읽을 필요가 있다. 우선 이 책의 성격을 한번 규명해보자. '엑센츄어 컨설턴트가 전하는 기업 소셜마케팅 가이드'라는 부제가 붙었듯이 이 책은 기업, 소셜, 마케팅과 관련한 책이다. 기술적인 접근 대신 상위 단계에서 전략적인 접근 방법을 따르므로(다들 아시겠지만, 엑센츄어는 컨설팅 회사다), 개발자들이 보기에는 그다지 적합하지 않고, 기업의 높으신 분들과 소셜미디어를 담당하는 분들이 나침반으로 삼기에 적합하다는 생각이다. 이 책은 미국의 사례를 많이 들고 있지만, 한국 특성상 조만간 미국처럼(?) 되어버리릴 가능성이 높기에 미리 앞날을 예상하는 수정 구슬처럼 들여다보면 나름 도움이 될 것 같다.

이 책을 읽다보니 최근에 터진 파워(?) 블로그 공구 사건, 나꼼수 열풍, 언론의 SNS 괴담, 정부 차원의 SNS 심의 규정등 이 오버랩되면서 현재 기업/정부 차원에서 소셜미디어에 대한 대응은 일반 대중을 도저히 못따라가는 시대착오적인 행태를 보인다는 생각이 저절로 들었다. 본문에도 여러 차례 나오지만 소셜 미디어의 대세는 막거나 거스를 대상이 아니며 이를 억누르고자하는 시도는 더 나쁜 결과를 초래하므로 적극적인 대응(적극적으로 폐쇄하거나 검열한다는 이야기가 아니다!)이 필요하다는 내용을 이해 관계자들은 모두 새겨 들어야 한다. 엉뚱하게 규제 안을 들고 나오거나 더 황당하게 (어떤 당처럼) 트위터 전문가를 초빙해 여론에 적극 대응하겠다는 말은 계란으로 바위치기와 다름 아니다.

자, 그러면 이 책의 내용 구성을 한번 살펴보자. 이 책은 5개 부에 18개 장으로 나뉘어져 있으며, 각 장은 그 분야 전문가들이 집필했다. 따라서 처음부터 끝까지 읽을 필요가 없으며 관심이 있는 분야를 먼저 보고 나머지는 필요할 때마다 참고하면 되는 구조다. 기업을 위한 전반적인 소셜 미디어 전략, 소셜미디어에서 마케팅과 판매 기법, 소셜 미디어를 사용한 고객 서비스와 지원, 플랫폼 구축과 실행, 소셜미디어 성공을 위한 직원 능력 강화라는 큰 주제 아래 여러 가지 의미있는 내용이 등장하고 있다. 사례 연구가 더 많았으면 좋을 뻔 했지만, 아직은 소셜 미디어가 막 시작 단계을 벗어나 본 궤도에 오르는 중이므로 추가 데이터가 더 쌓이기 전까지 본문에 녹아 있는 내용으로 만족해야 할 것 같다.

그러면 독자 여러분을 위해 본문에 나오는 몇 가지 흥미로운 이야기를 정리해보았다.

대부분의 기업에 소셜미디어가 그토록 어려운 이유는 소셜미디어가 프로세스이지, 이벤트가 아니기 때문이다. 체중 감량도 프로세스다 ... 그리고 브랜드 구축도 프로세스다. 반면, 기업 박람회 부스를 설치하는 것은 이벤트다. 기업공개나 수술도 이벤트다. 이벤트는 비교적 관리하기도, 돈을 지급하기도 쉽고 흥미진진한 일이다. 프로세스는 긴 안목에서 결과를 구축하는 일이다.
지진에 비유하자면, 소셜미디어를 통해 전달되는 고객의 코멘트는 경영자들 대부분이 감지하지 못하거나 감지하지 않는 단순한 미진에 불과하다. 하지만 안타깝게도 경영자들은 미진보다는 강진에 대응하는 데 훨씬 익숙하다.
쇼셜미디어 때문에 기업들은 부정적 피드백을 대단히 많이 받을 수 있으므로, 거기에 빠짐없이 응답하고 싶은 것은 당연하다. 그러나 기업은 고객들의 말과 행동을 비교할 필요가 있다. 부모님 말씀처럼 "말보다 행동"이다.
쇼셜미디어는 매일 24시간 운영되는 공개 채널이다. '업무 시간'도 없다. 페이스북은 절대 '폐점'하지 않는다.
세상의 많은 곳에서 정말 많은 고객이 한 회사에 대해 부정적인 인상을 빨리 받을 수 있다. 소셜 미디어 때문에, 말하지면 불길이 걷잡을 수 없이 빠르게 번질 수 있다.
소셜미디어는 다른 고객 상호작용보다 훨씬 많은 데이터를 양산한다.
핵심 영향력 행사자를 현명하게 타겟팅한다면 한 토픽에 관한 세상 사람들의 사고 방식을 근본적으로 변화시킬 수 있다.
상하운동을 회전운동으로 변환시키기 전까지 증기 기관은 상업적으로 성공할 거라는 기대를 별로 모으지 못했다.
소셜미디어에 편승한 소비자의 분노를 신속히 봉합하지 못하면 기업은 자사 브랜드 이미지가 무너지는 재앙을 그저 맥없이 바라볼 수 밖에 없다.
트위터, 페이스북 같은 소셜미디어 사용자들은 세련된 답을 얻기보다는 적시에 신속하게 답을 얻는 것을 중요하게 여긴다.
소셜미디어에 투자하면서 비용 절감을 기대해서는 안 된다. 사실 소셜미디어 채널을 열면 처음엔 처리해야 할 고객 서비스 총량이 증가한다.
고객은 산 정상이라도 등정한 듯 온 세상에 마음껏 '소리 지를' 수 있다. 불만으로 신고된 내용이 사실이건 아니건 기업 입장에서는 막을 수도, 통제할 수도 없다.
기업은 무엇보다 고객들이 어떤 불만을 얼마나 빠르게 퍼뜨리든지 통제하려 들어서는 안 된다. 회사에 대한 불만을 포스팅하는 고객과 공개적으로 말싸움을 벌여서도 안 된다. 고객과 말싸움을 벌여서는 문제를 악화시킬 뿐이다.
기업이 소셜미디어 대화를 청취하면 세상을 향한 새로운 창, 즉 세계 곳곳에 있는 지점들 내부에서 일어나는 일들을 마치 각 지점의 카운터에 앉아 실시간으로 고객의 소리를 듣는 것과 같은 효과를 얻을 수 있다.
사실 "인터넷 세대들에게 이메일은 옛말이다. 이메일은 친구의 부모에게 정중한 감사 편지를 쓸 때나 사용하는 퇴물이 되어버렸다."
사람들은 기업 전반에서 수평적으로 왕래하지 않고 정보와 의사결정을 수직적으로 전달하기 때문에 정보와 의사결정의 속도가 느려지고 정보의 흐름이 제한되는 것이다.
고성과 기업들이 적응력을 키우는 방향으로 기업을 지속적으로 설계 또는 재설계 했다는 점이 분명해졌다.
"기업들은 언제나 사이버스페이스 접속을 금지함으로써 위험을 통제하려 했지만 소셜미디어에 관해서 만큼은 그런 노력은 실패하고 말 것이다. 그러니 접속을 막으려만 하지 말고 포용하려 노력해야 한다." 금지는 정책이 아닌 헛된 몽상에 불과하다.

이 책은 주로 소셜미디어를 영리적인 목적으로 사용하는 기업에 대한 내용을 담고 있지만, 비영리 단체나 정부/정당 조직에도 그대로 적용될 수 있다. 소셜미디어에 끌려다니는 대신 소셜미디어를 끌고 다니도록 이 책을 주의 깊게 읽어보시기 바란다.

EOB