Post
EN

NoSQL 정의

(Not Only SQL, Non-Relational Operator)

용도.

  1. 대용량 웹 서비스를 위하여 만들어진 데이터 저장소

  2. 관계형 데이터 모델을 지양하며 대량의 분산된 데이터를 저장하고 조회하는 데 특화된 저장소

  3. 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소.

탄생 배경.

성공한 글로벌 웹 서비스가 2000년대 중반부터 다수 등장하고, 글로벌 웹 서비스들은 기존의 관계형 데이터베이스를 사용하여 처리할 수 없을 만큼의 데이터를 생산하기에 이르렀다.

일반적으로 관계형 데이터베이스는 저장된 데이터의 양이 많아질수록 읽기/쓰기 성능의 저하가 일어난다. 특히 쓰기 성능의 저하가 심한데, 이는 대부분의 관계형 데이터베이스가 채택하고 있는 인덱스 처리 방법은 B트리의 한계에서 기인한다. 또한 중앙 집중식 데이터 관리 패턴에 해당되기 때문에 하드웨어 성능에 따라 전체 시스템 성능이 결정된다.

성공한 글로벌 서비스 업체들은 더 이상 관계형 데이터베이스만으로는 서비스 트래픽을 감당하기 어렵다고 판단했다. 특히 구글 빅테이블, 아마존의 다이나모 같은 논문 및 자료는 데이터를 실시간으로 분산 처리하는 개념을 세상에 알려주었다.

이 개념들은 토대로 실시간 분산 처리를 위한 오픈소스 솔루션들이 속속 개발되었고, 이와 같은 노력의 결과물이 NoSQL이다.

NoSQL은 분산 환경에서 대량의 데이터를 빠르게 처리하기 위해서 한두 가지 단점을 가진채로 개발되었다.

NoSQL은 전통적인 데이터베이스 중심의 애플리케이션 개발에서 서비스 중심의 개발이라는 패러다임 전환이 일어났다.

대량의 데이터를 빠르게 처리하기 위해서 메모리에 임시 저장하고 응답하는 등의 방법을 사용한다.

또한 동적인 스케일 아웃을 지원하기도 하며, 가용성을 위하여 데이터 복제등의 방법으로 관계형 데이터베이스가 제공하지 못하는 성능과 특징을 제공한다.

NoSQL은 매우 자유도가 높은 솔루션으로, 스키마 없이 데이터를 저장하고 조회할 수 있으며 실시간으로 시스템의 확장과 축소를 지원하기도 한다. 또한 시스템 정지 없이 저장소 소프트웨어 업그래이드를 수행할 수도 있다.

하지만 NoSQL을 적용하고자 할때에는 각각 NoSQL 솔루션들의 특성이 다르기 때문에 해당 NoSQL의 설계 사상과 내부구조를 파악하는 작업이 선행되어야 한다.

이 내용은 한빛 미디어 이것이 레디스다 책을 보고 정리했습니다.

http://book.naver.com/bookdb/book_detail.nhn?bid=7334741

이것이 레디스다

이 책은 레디스에 대한 기본 기능부터 고급 설정 방법 및 운영 시 고려사항과 몇 가지 응용사례까지 깊이 있게 다루고 있다. 독자의 이해를 돕고자 기본 개념도 차근차근 설명했으며가능한 한 많은 그림을 사용했다. 전통적인 RDBMS와 자료구조 그리고 자바에 대한 사전 지식이 있다면 책 내용을 익히는 데 도움이 되고 데이터베이스 관리자, 개발자와 클라우드 컴퓨팅 분야의 학자, 개발자 등을 대상으로 하고 있다.

This article is licensed under CC BY 4.0 by the author.