NoSQL과 NewSQL NoSQL: 분산 아키텍처의 확장성, 스키마 없는 데이터 관리가 특징이며, 기존 SQL과 다르다. NewSQL: 분산 아키텍처의 확장성하거나, .... 종래의 관계형DB에서 관계 속성이 지니는 구속적인 개념에서 벗어남. 예를 들어, 스키마 제약으로 인한 필드 값의 제한적이 사용이 예로 들 수 있다. 일관성보다는 가용성과 확장성에 중점을 둔 정장 방식을 취함. 오픈 소스 중에서 얼랭(Erlang)으로 제작된 CouchDB와 MongoDB가 있다. 얼랭은, 상업적 함수 기반 언어로, 속도가 빠르고, 언어 자체적으로 분산을 지원한다. 따라서 별도의 쓰래드 모델을 사용하지 않는다. MongoDB의 특징 은 다음과 같습니다. 0. 문서기반이다. 1. 빠르고 사용하기 쉽다. 2. RDBMS의 범위쿼리, 보조색인, 정렬 같은 관계형 연산 기능과 MapReduce같은 집계연산 기능을 동시에 지원한다. 3. 다양한 언어를 지원한다.(C, java, 파이썬... 등 약 10여개의 언어에 맞는 드라이버 제공) 4. C++로 작성되었다. 5. 수평적 무한확장 가능하다. 6. 데이터는 bson형태로 저장된다.(binary json) 7. 구조적이지 않다.(RDBMS처럼 데어터를 분석해서 모델링을 상세하게 할 필요가 없음, 스키마가 없음) 구조적/개발자적 관점으로 보면 다음과 같습니다. 1. 객체 형태의 컬렉션 기반 저장소 2. 동적 쿼리 지원 3. 내부 객체를 지원하는 Full index 지원 4. 쿼리 프로파일링 5. 복제, fail-over 지원 6. 비디오파일 과 같은 바이너리 데이터의 효과적인 저장소 7. 클라우드 기반의 자동화된 공유 MongoDB도 여타의 NoSQL 처럼 테이블, 로우, 컬럼등이 존재하지 않습니다. 저장의 최소단위는 Document 이며 이는 RDBMS의 로우와 비슷하다고 보면됩니다. 각 D...