NoSQL

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

NoSQL 데이터베이스는 전통적인 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색을 위한 매커니즘을 제공한다. 이러한 접근에 대한 동기에는 디자인의 단순화, 수평적 확장성, 세세한 통제를 포함한다. NoSQL 데이터베이스는 단순 검색 및 추가 작업을 위한 매우 최적화된 키 값 저장 공간으로, 레이턴시와 스루풋과 관련하여 상당한 성능 이익을 내는 것이 목적이다. NoSQL 데이터베이스는 빅데이터실시간 웹 애플리케이션의 상업적 이용에 널리 쓰인다. 또, NoSQL 시스템은 SQL 계열 쿼리 언어를 사용할 수 있다는 사실을 강조한다는 면에서 "Not only SQL"로 불리기도 한다.

역사[편집]

카를로 스트로찌(Carlo Strozzi)는 NoSQL이라는 용어를 1998년 표준 SQL 인터페이스를 접하지 않았던 그의 경량 오픈 소스 관계형 데이터베이스를 명명하기 위해 사용했다.[1] 스트로찌는 현재의 NoSQL 운동을 관계형 모델에서 떨어져 나온다("departs from the relational model altogether")는 데에서 NoREL로 부르는 것이 더 적절하다고 언급했다.[2]

에릭 에반스(렉스페이스의 직원)는 NoSQL이라는 용어를 라스트 FM의 Johan Oskarsson이 오픈 소스 분산 데이터베이스를 논하기 위한 이벤트를 조직하고 싶어했던 2009년 초에 다시 선보였다.[3] 고전적인 관계형 데이터베이스 시스템의 주요 특성을 보장하는 ACID 제공을 주로 시도하지 않은 수많은 비관계형, 분산 데이터 자료 공간의 등장에 따라 이 이름이 사용되었다.[4]

용어[편집]

NoSQL 데이터베이스를 분류하는 접근 방식은 분류와 하위 분류와 함께 다양하다. 다양한 접근 방식으로 인해 비관계형 데이터베이스를 포괄적으로 파악하는 데에는 어려움이 있다. 그럼에도 동의할만한 수준의 기본적인 분류는 데이터 모델에 기반을 둔다. 이 가운데 몇 가지와 이들이 가진 프로토타입은 다음과 같다:

데이터 모델에 따른 분류[편집]

스티븐 옌은 그의 블로그의 글 "NoSQL is a Horseless Carriage"에서 다음의 용어를 제안하고 있다:[5]

용어 연관 데이터베이스
KV Store Keyspace, Flare, SchemaFree, RAMCloud, Oracle NoSQL Database (OnDB)
KV Store - Eventually consistent Dynamo, Voldemort, Dynomite, SubRecord, Mo8onDb, DovetailDB
KV Store - Hierarchical GT.m, Cache
KV Store - Ordered TokyoTyrant, Lightcloud, NMDB, Luxio, MemcacheDB, Actord
KV Cache Memcached, Repcached, Coherence, Hazelcast, Infinispan, EXtremeScale, JBossCache, Velocity, Terracotta
Tuple Store Gigaspaces, Coord, Apache River
Object Database ZopeDB, DB40, Shoal
Document Store CouchDB, Cloudant, Couchbase, MongoDB, Jackrabbit, XML-Databases, ThruDB, CloudKit, Prsevere, Riak-Basho, Scalaris
Wide Columnar Store BigTable, HBase, Apache Cassandra, Hypertable, KAI, OpenNeptune, Qbase, KDI

참조[편집]

  1. Lith, Adam; Jakob Mattson (2010). Investigating storage solutions for large data: A comparison of well performing and scalable data storage solutions for real time extraction and batch insertion of data (PDF) 70. Department of Computer Science and Engineering, Chalmers University of Technology. 12 May 2011에 확인. “Carlo Strozzi first used the term NoSQL in 1998 as a name for his open source relational database that did not offer a SQL interface[...]”
  2. NoSQL Relational Database Management System: Home Page. Strozzi.it (2 October 2007). 29 March 2010에 확인.
  3. NoSQL 2009. Blog.sym-link.com (12 May 2009). 29 March 2010에 확인.
  4. Mike Chapple. The ACID Model.
  5. A Yes for a NoSQL Taxonomy. High Scalability (2009-11-05). Retrieved on 2013-09-18.

더 읽기[편집]

바깥 고리[편집]