최근 NoSQL에서 많이 사용하는 카산드라(Cassandra)의 데이터 모델과 칼럼 패밀리 등 개념에 대해서 정리해 보려고 한다. 카산드라 개요 카산드라는 구글 BigData의 컬럼 기반 모델과 아마존 Dynamo의 분산 모델을 기반으로 페이스북에서 만든 데이터베이스이다. JVM 기반으로 동작하며 분산 환경으로 고가용성과 확장성을 가지고 있다. 또한 칼럼 패밀리 기반으로 대용량 트랜잭션을 처리하는데도 용이하여 페이스북, 트위터 등 SNS에서 주로 사용한다. 카산드라 데이터 모델 카산드라는 Key-Value 형태의 NoSQL로서 칼럼 패밀리 형태의 데이터 모델을 활용한다. 참고로 카산드라와 함께 많이 사용하는 몽고디비는 도큐먼트 데이터 모델을 사용하고 있다. 칼럼 패밀리 (Column Family) 칼럼 ..
MongoDB에 대한 개요는 이전에 한번 정리한 적이 있었는데요. 이번에는 MongoDB를 설치하고 기본적인 명령어들을 한번 사용해 보려고 합니다. MongoDB 설치설치를 위해서는 http://www.mongodb.org/downloads 에서 OS에 따라 파일을 다운로드 하면 됩니다. 버전이 여러가지가 있는데요. 2.2와 같이 짝수로 된 버전이 안정적인 버전이므로 참고해서 다운로드 하시기 바랍니다. 압축을 풀면 설치는 간단하게 끝난다고 보면 됩니다. 다만 데이터베이스에 사용할 폴더를 설정해야 하는데요. 기본적으로 사용하는 폴더가 /data/db 입니다. 저는 간단하게 테스트용으로 사용해서 다른 곳에 폴더를 생성하고 데몬 실행시 다음과 같이 했네요. > ./mongodb -dbpath ~/Dev/mon..
NoSQL과 관련하여 살펴보고 있는데요. 오늘은 10gen에서 개발한 몽고디비(MongoDB)에 대해서 간략하게 정리해 보려고 합니다. 보통 NoSQL이라고 하는 데이터베이스는 스키마가 없이 Key-Value 쌍으로 언제든지 데이터를 저장한다는 특징을 가지고 있습니다. MongoDB도 역시 스키마 없는 Document Data Model을 기반으로 하고 있습니다. 제가 Google App Engine을 사용할 때 Big Table이라는 구글의 NoSQL을 써봤는데요. 간단한 기능을 개발할 때 DB 스키마를 만들지 않고 문서를 원하는대로 생성하고 저장하는 구조가 상당히 효율적이었던 기억이 나네요. 아래 내용은 MongoDB in Action 책의 내용을 기반으로 작성했습니다. MongoDB 개요MongoD..