-
NoSQL
What is NoSQL?
NoSQL은 쉽게 말하자면 비 관계형 데이터베이스이다. SQL문을 사용하지 않아 구조에 제약이 없고 데이터들이 서로 관계가 없다. 대신 다른 구조의 데이터 모델을 사용하는데, Key-Value, Document, Graph 등이 있다.
Why use?
NoSQL은 초고용량 데이터 처리 등 성능에 특화된 목적을 위해, 비관계형 데이터 저장소에, 비구조적인 데이터를 저장하기 위한 분산 저장 시스템이다. 한마디로 SQL처럼 구조를 딱 정해놓고 관계되어있는 데이터들이 고용량이면 처리가 느리기 때문에, 비관계적 - 비구조적인 데이터로 처리 성능을 높여 사용하는 것이다
종류
1) Key-Value DB
Key와 Value의 쌍으로 데이터가 저장되는 유형으로 Riak, Vodemort, Tokyo등의 제품이 있다
2) Wide Columnar DB
Big Table DB라고도 하며, Column Family 데이터 모델을 사용하고 있고, HBase, Cassandra, Hypertable이 이에 해당된다
3) Document DB
JSON, XML과 같은 Collection 데이터 모델 구조를 채택하고 있다. Mongo DB, Cough DB가 이 종류에 해당된다.
4) Graph DB
Nodes, Relationship, Key-Value 데이터 모델을 채용하고 있다. Neo4J 등의 제품이 있다.
MongoDB
몽고 DB란?
NoSQL 중 하나로 도큐먼트 저장 형식을 가진 데이터베이스 이다. 각 종 값들을 JSON형태로 저장하고 실제로 많이 쓰이고 있는 NoSQL이다
설치
나는 맥북을 사용하기 때문에 brew를 통해 다운받았다.
먼저 brew를 다운받자. (MAC OS에는 기본적으로 ruby가 설치되어 있다)ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
다음 brew로 mongoDB를 설치하면 된다
brew install mongodb
환경설정
먼저 DB를 저장할 폴더를 만들자
터미널에 아래의 코드를 입력하면 된다mkdir -p /data/db
다음 이 폴더에 파일의 소유자 권한을 줘야한다
sudo chown $USER /data/db
How to use
DB서버 실행
터미널에
mongod
를 입력하면 DB 서버가 돌아간다위처럼 코드가 아주 길게 나오고 프로세스가 종료되지 않을 것이다
이러면 DB 서버가 잘 돌아가고 있다는 뜻이다위의 PORT 번호는 나중에 DB 연결할 때 사용해야 하니 알아두자
DB 접속
터미널에
mongo
라고 입력하면 DB에 접속할 수 있다위 처럼 입력할 수 있게 커서가 변경되면 접속 성공한 것이다