블로그 이미지
평범하게 살고 싶은 월급쟁이 기술적인 토론 환영합니다.같이 이야기 하고 싶으시면 부담 말고 연락주세요:이메일-bwcho75골뱅이지메일 닷컴. 조대협


Archive»


소셜 시스템이라고 이름은 지었는데,

정의는 Google,FaceBook,Twitter들과 같이 B2C 서비스를 지향하면서 대용량 서비스를 제공하는 웹서비스 시스템을 정의한다.

이 시스템들은 기존의 J2EE나 APM (Apache PHP MySQL) 다음 세대의 기술셋을 사용하는데

특징적으로

- 오픈 소스를 많이 이용한다.

- NoSQL을 이용한 대용량 데이타 저장 구조

- 분산 처리 아키텍쳐

등등이다.

 

J2EE 시대에 Servlet/JSP + EJB + JDBC가 필수 기술이었고

J2EE 다음 시대인 오픈 소스 과도기에는 Spring + IBatis (or Hibernate) + Struts 가 필수 기술이었다면

다음은 무엇일까?

 

나름 여러 문건이나 트랜드들을 조사해본 결과

1. NoSQL

- 대용량 데이타 처리에는 Cassandra나 HBase가 주류

- MongoDB는 NoSQL과 RDB의 중간적 특성으로 Rich Data Handling의 경우 사용

2. DataGrid

- memcached와 같은 메모리 캐쉬로 요즘은 Redis가 대세

3. MessageQ

- RabbitMQ

4. Distributed File System

- Gluster가 대세

- 경우에 따라서 SWIFT등의 Object Storage등 사용

5. 분산 처리 프레임웍

- Hadoop

정리해보자면, MongoDB,Cassandra,HBase,Redis,RabbitMQ,Gluster,Hadoop 정도 알면 소셜 시스템에 대한 기반 기술들은 어느정도 습득했다고 생각해도 되지 않을까? 물론 프로그래밍 언어와 미들웨어는 별도고.. ^^;

 

여기에 양념으로 AWS, ZooKeeper등은 알고 있어야 한다.

 

본인은 구글 클라우드의 직원이며, 이 블로그에 있는 모든 글은 회사와 관계 없는 개인의 의견임을 알립니다.

댓글을 달아 주세요

  1. Kwangshin 2012.06.07 15:49  댓글주소  수정/삭제  댓글쓰기

    안녕하세요!

    가끔씩 와서 좋은 글 잘 읽고 있습니다. 요즘 제가 고민하고 있는 부분들이었는데 이렇게 글로 딱! 정리하여 주시니 좀 큰 그림이 보이는 것 같습니다. NoSQL에 대한 개념과 MongoDB, Cassandra... 그리고 예전에 Spring에서 인수한 (예전에 로드존슨의 인터뷰에서 봤던 것 같은데 확실하지는 않은...) RabbitMQ, 분산 파일 시스템과 분산처리 프레임웍 Hadoop...

    IT를 직업으로 하면 단점이자 *장점*이 끊임없이 배울것들이 나오는 것 같습니다.

    그럼 계속 좋은 글과 소식 전해주세요! 감사합니다!