회사 게시판에 적었던 글.
내 생각이라 적은 부분도 사실 관련 글들 읽으며 거기 나온 키워드들 서로 연결해보는 정도지 제대로 이해못한 내용 대부분이지만 그냥 이런 연관 그림 그려보는 것도 나름 재미있는 짓이라 …
*****
우리랑은 좀 먼 기술들이라 여기지만 어제 누구랑 얘기하다보니 이 주제들 재미있어하는 분들 있을 수 있겠다 싶어 좀 지난 기사이지만 소개드립니다.
원문 : 10 Must-Know Topics for Software Architects in 2009
이 글 쓴 Dion Hinchcliffe 는 Web 2.0 관련 전문가로 Web 2.0 관련 글들에 삽입된 이미지들 잘 살펴보면 이 사람 이름 수시로 볼 수 있을겁니다. 각설하고 원문 중 10개 토픽만 발췌해봤습니다.
- Cloud Computing
- Non-relational databases
- Next-generation distributed computing
- Web-Oriented Architecture (WOA)
- Mashups
- Open Supply Chains via APIs
- Dynamic Languages
- Social computing
- Crowdsourcing and peer production architectures
- New Application Models
이미 알고 있던 것도 있고 좀 생소한 토픽도 있을텐데 저도 잘 모르지만 ‘Non-relational databases(이하 N-R DB)’을 중심으로 조금만 얘기해보도록 하겠습니다.
RDBMS 이전에도 N-R DB 있었으니 이것도 Next-generation N-R DB라고 했어야지 않나 싶은데 아무튼 여기서 언급한 것은 요즘 ‘document-oriented DB’, ‘분산 DB’ 등으로 알려진 기술입니다. N-R DB 구현 방식으로 현재 가장 대표적이며 일반적인 것이 Key/Value 저장 방식인데 자바의 Hashmap, 루비나 파이썬의 Dictionary 등을 연상해보면 될겁니다. 좀 더 고급 개발자라면 저는 잘 모르지만 B-Tree 등의 알고리즘과 연관지어 상상해봐도 될 듯 하고요.
좀 이해하기 쉽게 Key/Value 방식의 DB 어떻게 작동될 수 있을런지 (과격할 정도로)단순하게 얘기하자면 RDBMS 는 데이타를 레코드라는 구조적인 형태로 다루는 것에 비해 N-R DB 는 일련의 데이타를 Key/Value 로 잘게 찢어 다루므로 잘게 찢어놓은 놈들을 적당한 기준에 따라 네트웍으로 연결된 컴퓨터들로 분산시켜서 연산하게끔 한 뒤 그 결과를 효과적으로 다시 하나의 컴퓨터로 끌어모아 사용자에게 보여주는 (구글이 공개해서 유명해진) MapReduce 라는 Next-generation distributed computing 의 대표적인 알고리즘과 아주 궁합이 잘 맞게 되겠죠. (위 소개 문서 보면 Hadoop 이라는 기술이 언급되어 있는데 이게 MapReduce 기술을 이용한 분산 컴퓨팅 관련된 오픈소스며 이 기술 위에서 돌아가는 N-R DB 로 HBase 란 것도 있습니다 )
이와 같이 그림 그려보면 위 토픽 중 1, 2, 3 은 서로 아주 밀접한 관계에 있음을 알 수 있죠. 즉, 각각의 개념을 이해하는데 서로 다른 토픽의 지식이 많은 도움이 될 수 있을 것이므로 관련 주제들 혹 공부해볼 량이면 그런 점들 고려해보시면 좋을 듯 싶네요. 사실 좀 더 나아간다면 N-R DB 중 많은 제품(가령 CouchDB 나 Amazon 의 Simple DB 등)이 데이타 처리 결과를 RESTful 한 방식으로 사용 가능하게끔 설계되어 있다하므로 4의 WOA 와도 연결되는 부분있으며 RDBMS 의 데이타 저장 방식에 비해 Key/Value 방식이 Semantic Web 의 핵심 개념과 훨씬 잘 어울린다 하므로 10번의 ‘New Application Models’ 과도 한 다리 걸칠 수 있을겁니다.
그냥 토픽들 보며 꼬리에 꼬리를 무는 상상해보는 정도가 제 즐거움의 끝이고 더 깊이 들어갈 엄두는 나지 않는군요 ㅎ. 더 상세한 내용들 알고 싶으신 분들은 원문 글 중 링크걸린 글들까지 좀 더 섭렵해보시기 바랍니다. 특히 N-R DB 관련해서는 원문 중에도 소개한 기사(Is the Relational Database Doomed?) 참조하시고 그리고 덤으로 좀 된 거지만 Hadoop 관련 간단한 슬라이드 하나 덧붙입니다.
Like this:
Be the first to like this post.