본문 바로가기

쉽게 풀어본 IT 기술

NoSQL은 Not only SQL?

NoSQL(Not only SQL)은 기존 방식의 관계형 DB가 아니라 대량 데이터를 위한 고속처리를 위한 DB이다.

왜 NoSQL인가 기존 DB는 데이터 베이스 모델링할 때 관계를 맺고 그 관계 구조 상에서 데이터가 저장이 되고, SQL은 이를 조회하기 위한 문장인데, 이 문장은 이 관계를 기본으로 SQL문이 만들어진다. 이런식의 관계지향은 아니다. NoSQL은 기존 방식의 SQL을 사용하지 않는다. 매우 직관적이며 자료 그대로를 넣는다. 기존 DB가 관계를 나누고 사용할 때는 조합해서 사용했다면 NoSQL은 사용하고자 하는 값을 위주로 저장을 그대로 해둔다. 그리고 그대로 꺼내서 사용한다. 기존에 DB의 많은 예제로 학생 테이블, 과목 인덱스 테이블, 과목 점수 테이블 등이 있어서 저장을 할 때 정규화를 하다보면 테이블은 각각 분리가 된다. 사용할 때는 join을 해서 사용을 한다. NoSQL은 어플리케이션에서 사용할 데이터 관점으로 저장을 해둔다. 저장되는 데이터량은 많아진다. 대신에 고속처리에 적합하다. NoSQL DB는 자료형태를 그대로 저장할 수 있는 장점도 있다. 예를 들면 json과 같은 형태의 일종의 문서를 그대로 저장하는 것을 지원한다.

NoSQL형태의 DB는 여러가지가 있다. 대표적으로 MongoDB, HBase, Casandra 같은 것들이 있다. 이 종류 별도로 사용 목적이 약간씩 다르다. 이러한 NoSQL는 로그 수준의 내용들을 DB에 쌓고, 이용할 수 있다. MongoDB의 경우 특징은 기존 SQL이 아닌 JavaScript 문법과 같은 명령어를 통해서 다룰 수가 있다.


 책처럼 전체를 보기를 원하시면 아래 링크를 클릭하시고 북마크 하셔서 보시면 편리합니다. 

https://wikidocs.net/22363