NoSQL 소개

DB/Common 2012. 5. 18. 09:55


NoSQL 은 관계형 데이터베이스 관리 시스템 (RDBMS) 이외의 데이터베이스 관리 시스템 을 의미하며, 관계형 데이터베이스 의 오랜 역사를 타파하는 것으로서 넓은 의미에서의 관계 모델 이외에 속한 데이터베이스의 발전을 촉진 시키고자하는 운동으로 있다. 관계 모델이 아닌 데이터 저장소의 특징은 고정된스키마 에 의존 적이지 않다는 관계 모델의 결합 작업을 사용하지 않는다 (경우에 따라서는 간단하게 이러한 기능이 없을뿐), 수평 확장성 을 보장 하기 쉬운 것이 많다 트랜잭션을 사용할 수없는 것이 많아 등을들 수있다. 학술 논문이나 공식적인 문서에서는 이러한 데이터베이스를 구조화된 스토리지 ( 영어 :structured storage )라고 부르는 경우가 많다 [1] [2] [3] [4] .

업계에서 유명한 구현으로 구글 의 BigTable , 아마존 의 Amazon DynamoDB 등이있다. 오픈 소스 구현도 많이 존재하고 Apache HBase , Apache Cassandra 등이있다.

목차

  [ 숨기기 ] 

역사 편집 ]

NoSQL라는 용어는 1998 년, SQL 인터페이스를 가지지 않는 경량 관계 데이터베이스의 오픈 소스 소프트웨어의 이름으로 처음 사용되었다. 그 저자 Carlo Strozzi은 NoSQL 운동에 대해 "관계 모델 전체와 구별을 분명히하는 것이기 때문에"NoREL "라고 불리는 것이었다"고 주장하고있다 [5] . 이 용어는 Last.fm의 Johan Oskarsson의 요청에 의해 2009 년 초에 개최된 오픈 소스 분산 데이터베이스에 대한 회의에서 Rackspace 영어 ) ​​직원 Eric Evans에 의해 다시 도입된 [6] . 이 이름은 MySQL , MS SQL , PostgreSQL 등 관계 데이터베이스 시스템에서 널리 사용되었던 명명법을 참조 붙인 것이며, ACID 보증을 제공하지 비 관계형 분산 데이터 저장소의 발흥을 표현 의도가 담겨 있었다.

NoSQL 운동이 보급됨에 따라 그 이름이 가지는 부정적인 인상 (SQL는 불필요하다 등)이 문제가 논의가 일어나고있다. Eric Evans는 NoSQL를 Not only SQL 의 바쿠로니무 으로 이해하는 것이 바람직하다고하고있다 [7] .

아키텍처 편집 ]

현대적인 관계 데이터베이스는 작은 최상의 트랜잭션 또는 거대하지만 쓰기를 거의 수반하지 않는 거래에 최적화된 설계되고 있기 때문에, 최근 필요로오고있는 대규모 데이터를 기반으로 ( 영어 : data-intensive ) 응용 사례에서는 성능이 열화 [8] . 이러한 응용의 예로는 검색을위한 문서의 인덱싱 트래픽이 높은 웹사이트 서버 , 스트리밍 데이터 배포 등이 있으며, Digg의 green badge [9] , Facebook의받은 편지함 검색, eBay 시스템 전체 등이 그 실례이다.

NoSQL 아키텍처에서는 결과 일관성 만을 보장하는 등 일관성 보장을 약하게 설계하고 트랜잭션을 하나의 데이터 항목에 한한다는 제한을하는 경우가 많다. 보조적인 미들웨어 레이어를 추가하여 완전한 ACID 보증을 제공하고있는 경우도있다 [10] .

일부 NoSQL 시스템은 분산 아키텍처 를 채용하고있다. 이러한 시스템은 많은 경우 분산 해시 테이블 을 사용하여 데이터를 여러 서버에 중복성을 갖게하면서 배치한다. 이렇게하면 서버를 추가하는 것만으로 시스템을 쉽게 확장할시킬 수 있으며, 장애에 대한 내성도 강해진다 [11] .

분류 편집 ]

NoSQL에는 중요한 것들은 다음과 같다.

오픈 소스 프로젝트 목록 편집 ]

참고 문헌 편집 ]

  1. Hamilton, James ( 2009 년 11 월 3 일 ) " Perspectives : One Size Does Not Fit All " 2009 년 11 월 13 일 보기.
  2. Lakshman, Avinash; Malik, Prashant. Cassandra - A Decentralized Structured Storage System . Cornell University 2009 년 11 월 13 일 보기. .
  3. Chang, Fay; Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. Bigtable : A Distributed Storage System for Structured Data . Google 2009 년 11 월 13 일 보기. .
  4. Kellerman, Jim " HBase : structured storage of sparse data for Hadoop " 2009 년 11 월 13 일 보기.
  5. NoSQL Relational Database Management System : Home Page "Strozzi.it ( 2007 년 10 월 2 일 ) 2010 년 3 월 29 일 보기.
  6. NOSQL 2009 "Blog.sym-link.com ( 2009 년 5 월 12 일 ) 2010 년 3 월 29 일 보기.
  7. NoSQL : What 's in a name? "Eric Evans 's Weblog ( 2009 년 10 월 30 일 ) 2010 년 5 월 31 일 보기.
  8. Agrawal, Rakesh et al (2008) "The Claremont report on database research" SIGMOD Record ( ACM ) 37 (3) : 9 - 19. doi :http://doi.acm.org/10.1145/1462571.1462573 . ISSN  0163-5808 .
  9. Looking to the future with Cassandra | Digg About "About.digg.com ( 2009 년 9 월 9 일 ) 2010 년 3 월 29 일 보기.
  10. ^ 예 : CloudTPS : Scalable Transactions for Web Applications in the Cloud "Globule.org. 2010 년 3 월 29 일 보기.
  11. Cassandra : Structured Storage System over a P2P Network PDF ) " 2010 년 3 월 29 일 보기.

관련 항목 편집 ]





'DB > Common' 카테고리의 다른 글

dbms - join  (0) 2012.07.06
sql - 서브(하위) 쿼리  (0) 2012.06.20
SQL 구문 기본 작성 가이드  (0) 2012.05.08
DBCP 소개/설정 및 validationQuery 이슈  (0) 2012.04.30
CREATE SCHEMA  (0) 2012.04.12
Posted by linuxism
,