요즘 IT 분야의 화두는 머신러닝, 딥러닝 등의 인공지능 분야이지만, 한 2년 전만 해도 빅데이터가 가장 화두였습니다. 이러한 빅데이터를 처리하는 기술로 NoSQL을 사용하게 됩니다.
“Non Relational Operation Database SQL” 의 줄임말로써 “관계형 데이터베이스가 아닌 SQL”입니다.
일반적인 관계형 데이터베이스에서는 데이터의 중복을 제거하고 무결성을 보장하기 위해서 정규화를 하게 되는데 이러한 정규화가 과도한 JOIN으로 인해 성능 저하가 있을 수 있습니다.
하지만 NoSQL은 아래의 그림 처럼 중첩데이터 형태를 띔으로써 불필요한 JOIN 을 최소화시킵니다.
장점
1) 불필요한 Join의 최소화
2) 유연성있는 서버 구조 제공
3) 비정형 데이터 구조로 설계비용 감소
4) Read/Write가 빠르며 빅데이터 처리가 가능
5) 저렴한 비용으로 분산처리 및 병렬처리 가능
NoSQL은 크게 4종류의 모델이 있고 대표적인 데이터베이스입니다.
1) KEY-VALUE - Redis , Memcached
2) COLUMN - Hbase, Casandra
3) DOCUMENT - MongoDB,
4) GRAPH - GraphDB
Json 타입의 Document 방식의 NoSQL.
데이터 자료형, find 함수, 쿼리 연산자
*False