리눅스마스터1급 : MongoDB(NoSQL)란?
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 1,937 조회
- 0 추천
- 목록
본문
리눅스마스터1급 : MongoDB(NoSQL)란?
위키피디아에 나와있는 자료에 의하면 NoSQL은 Not-Only SQL이다.
NoSQL은 1998년 카를로 스트로지(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 |
NoSQL중 SNS로 가장 유명한 페이스북과 트위터에서 선택한 MongoDB에 대해 알아본다.
MongoDB는 데이터의 기본 단위는 문서이다.
이 문서는 관계형 데이터베이스의 행과 유사하지만, 훨씬 다양한 자료구조를 표현할 수 있다.
컬렉션은 스키마가 없는 테이블로 생각할 수 있다.
단일 인스턴스는 여러 독립적인 데이터베이서를 호스팅할 수 있고, 각 데이터베이스는 자체적인 컬렉션들과 권한을 가진다.
인스턴스 관리와 데이터 조작에 유용한, 단순하지만 강력한 자바스크립트 쉘을 제공한다.
모든 문서는 문서 컬렉션 내에서 고유한 특수 키 “_id”를 가진다.
NoSQL의 대표적인 MongoDB를 설치하고 기본 운영 및 웹서비스와 연동하는 부분을 알아보자.
관련자료
-
이전
-
다음