Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

NoSQL

NoSQL은 데이터 베이스 관리 시스템의 디자인 모델 중 하나다. 이름에서 알 수 있듯이 기존에 사용하던 RDBMS(relational database management systems)의 디자인 모델의 문제점을 해결하기 위한 모델이다. 이미 널리 사용되고 있는 SQL기반의 RDBMS가 있는데도 불구하고 NoSQL이란 새로운 모델이 나온데에는 인터넷 환경의 변화가 주요 원인인다.

인터넷은 대중매체와 달리, 일방적인 수용자가 아닌 데이터를 생산할 수 있는 가능성을 열어주었다는데 기존 미디어와의 근본적인 차이가 있을 거다. 하지만 매우 오랫동안 일반 인터넷 사용자의 대다수는 일방적인 수용자 입장에서 인터넷을 사용해 왔다.

이런 류의 인터넷 환경에서 데이터를 쓰기 보다는 읽는 양이 압도적으로 많았고, 웹 서비스 튜닝도 읽는 것을 최적화 하는 방향으로 이루어졌다. 이를테면 웹 서버시의 핵심 소프트웨어인 DBMS는 일기에 매우 효과적이다. Oracle, Mysql, 기타 대부분의 SQL 서버 프로그램이 여기에 속한다. 이들은 질의언어로 SQL(:12)을 사용한다.

반면 이들 DBMS는 데이터를 쓰는데 효과적이진 않다. 그동안은 크게 문제가 없었는데, 일반 사용자가 더 이상 수용자에 머무르지 않고 정보를 생산하게 되자 읽기에 최적화된 DBMS의 문제점이 드러나게 된다.

이제 사용자는 단지 검색하고 읽기만 하지 않는다. 블로그, 위키(:12), 게시판, email 뿐만 아니라 요즘엔 SNS(:12)서비스를 이용해서 엄청난 자료를 업데이트 한다. 2010년 지금, 트위터가 하루 쏟아내는 데이터의 양은 7 테라바이트 이며, 페이스북은 10 테라바이트에 육박한다. 인터넷 기업 운영자의 80% 정도가 방대한 정보의 수집과 분석을 서비스 런칭을 위한 가장 큰 고민으로 꼽고 있다고 한다.

시대가 이래서 그런지 요즘 NoSQL 붐인 것 같다.

기타 응용

MySql

MySQL은 RDBMS이지만 NoSQL 처럼 사용할 수 있다. http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-for.html