1.비정형데이터의 분산저장, NoSQL(Not Only SQL)의 정의

 - 관계형 데이터베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태로 수평적 확장성을 특징으로 하는 비 구조적

    데이터 저장 위한 분산 저장 시스템

 

2.NoSQL의 특징

 - 데이터베이스라 부르기를 거부

 - Key & Value로 저장(해쉬 방식 데이터 저장)

 - 분산 환경 지원

 - Call level interface 지원(DBMS에 접근하는 표준)

 - 막대한 양의 데이터를 처리할 수 있는 대용량 데이터의 빠른 인덱싱

 - 서버들의 수평적 확장(horizontal scaling)

 - 데이터의 스키마와 속성들을 동적 정의

 - 관계형이 아니므로 join 미지원, 고정된 스키마를 갖지 않음

 

3.NoSQL의 이론적 배경, CAP Theorem의 정의

 - CAP이란 분산시스템이 갖추면 좋을 세가지 특성 Consistency, Availability, Partitin Tolerance를 모두 갖춘 시스템은

   불가능하며 최대 2가지 특성만이 가능하다는 이론

 - C(Consistency) : 모든 모드가 같은 시간에 같은 데이터를 보여줘야 함

 - A(Availability) : 일부 노드가 다운되어도 다른 노드들에게 영향을 주지 않아야 함

 - P(Partition Tolerance) : 일부 메시지를 손실하더라도 시스템은 정상 동작하여야 함

 

4.수평적 확장 이슈 해결을 위한 NoSQL

 - 높은 확장성

 - 높은 Availiability

 - 높은 성능

 - 원자성

 - 일관성

 - 지속성

 - 배포의 유연함(Flexibility)

 - 모델링의 유연함(Flexibility)

 - 쿼리의 유연함(Flexibility)

 

5.NoSQL 적용 사례

 - 해외 : Google Bigtable, Amazon's Dynamo, Twitter Cassandra

 - 국내 : NHN 인증 플랫폼, Daum Cafe

 - 웹의 대용량화, 고성능화, 수평적 확장성(즉, 옆 서버 한대 더 배치해서 데이터베이스를 늘리고 싶다는 의미)을 해결하기

   위해 CAP의 범주 중 CP, AP 의 요구로 인한 NoSQL 의 활용도가 증가

'DataBase > Sql' 카테고리의 다른 글

[Oracle] update where  (0) 2012.11.12
[Sql] 행을 열로 표시  (0) 2012.04.25
[Sql] Select시 데이터 가로로 출력!  (0) 2011.11.04
[Sql] Analytic Function  (0) 2011.10.20
[Sql] 지운데이터 복구  (0) 2011.10.14

+ Recent posts