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 의 활용도가 증가
[출처] 9주차_20110626_NoSQL (40억을 벌때까지) |작성자 정찬희
'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 |