강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

리눅스마스터1급 : MongoDB(NoSQL)란?

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: MongoDB(NoSQL)?

 

 

 

위키피디아에 나와있는 자료에 의하면 NoSQLNot-Only SQL이다.

 

 

 

NoSQL1998년 카를로 스트로지(Carlo Strozzi)에 의해 처음 사용된 용어로 SQL 인터페이스를 제공하지 않는 경량 관계형 데이터베이스를 의미한다.

 

 

 

 

NoSQL은 관계형 데이터 모델이 아닌 키-값 또는 키-값을 응용한 데이터 모델인 칼람, 문서, 그래프 모델이다.

 

 

 

NoSQL이 추구하는 방향은 안정적이고 고가의 하드웨어가 아닌 다수의 값싼 하드웨어를 이용할 수 있는 빠른 DB이다.

 

 

 

기본적으로 데이터는 분산된 노드에 파티션, 복제돼 저장 된다.

 

 

 

NoSQL은 데이터의 정합성에 대한 요구 사항보다는 단절내성에 대한 요구 사항이 더 중요함을 고려하여 설계 구현된다.

 

 

 

2단계 커밋 수준의 트랜잭션보다는 정족수 기반의 트랜젝션을 선호한다는 특징이 있다.

 

 

 

 

 

현재 NoSQL 제품은 아주 많이 나와 있으며, 그 모델에 따라 다음과 같이 분류할 수 있다.

 

 

 

 

 

모델

제 품 명

-

memcached, Dynamo, Volemort, Tokyo Cabinet, Redis

컬럼

Google Bigtable, Cloudata, Hbase, Hypertable, Cassandra

문서

MongoDB, CouchDB

그래프

neo4j, FlockDB, InfiniteGraph

 

 

 

NoSQLSNS로 가장 유명한 페이스북과 트위터에서 선택한 MongoDB에 대해 알아본다.

 

 

 

 

MongoDB는 데이터의 기본 단위는 문서이다.

 

 

 

이 문서는 관계형 데이터베이스의 행과 유사하지만, 훨씬 다양한 자료구조를 표현할 수 있다.

 

 

 

컬렉션은 스키마가 없는 테이블로 생각할 수 있다.

 

 

 

단일 인스턴스는 여러 독립적인 데이터베이서를 호스팅할 수 있고, 각 데이터베이스는 자체적인 컬렉션들과 권한을 가진다.

 

 

 

인스턴스 관리와 데이터 조작에 유용한, 단순하지만 강력한 자바스크립트 쉘을 제공한다.

 

 

 

모든 문서는 문서 컬렉션 내에서 고유한 특수 키 “_id”를 가진다.

 

 

 

NoSQL의 대표적인 MongoDB를 설치하고 기본 운영 및 웹서비스와 연동하는 부분을 알아보자.

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  100 명