본문 바로가기

MongoDB MongoDB는 관계형 데이터베이스가 아닌 문서(document) 지향 데이터베이스다. 문서 지향 데이터베이스에서는 행(row) 대신 문서(document)의 개념을 사용한다. 문서와 배열의 개념은 MongoDB가 복잡한 계층 관계를 하나의 레코드로 표현하기에 용이하도록 만들어 주었다. 이러한 장점은 개발자들이 MongoDB를 더 편리하고 적합한 모델로 주목하게 만들었으며, 꾸준한 release가 이뤄지고 있어 지속적인 발전이 기대되고 있다. 10gen에서(현재는 사명이 MongoDB로 변경됨) PaaS의 구성 요소로 처음 개발한 이후 지금은 다양한 서비스의 백엔드 소프트웨어로 채택되기에 이르렀다.MongoDB Release별 특징MongoDB는 일정 주기별로 신규 버전을 발표하고 있으며, 초기의 1.x.. 더보기
apache Hbase HBase8)는 구글 Bigtable9)의 오픈소스 버전으로 보면 된다. 내부적으로 쓰이는 용어만 다를 뿐 시스템 아키텍처와 데이터 모델, 사용자 인터페이스는 거의 유사하다. Bigtable 특성을 그대로 이어받아 컬럼 기반의 다차원 분산 데이터 스토어로 구성된다. 2007년 아파치 프로젝트로 등록된 이후 2009년부터 활발한 개발됐으며, 현재(2015년 1월 10일)는 0.94.1 정식 버전이 출시돼 서비스에 적용이 가능한 수준까지 발전했다. 위에서 설명한 범주 중 CP를 만족시키며, Bigtable 모델링을 지원하고 마스터-슬레이브 시스템 구조를 따라간다. HBase 홈페이지에서도 말하듯이 HBase는 실시간 랜덤읽기/쓰기 작업이 빅데이터를 대상으로 필요할 때 사용된다. 하둡을 기반 스토리지로 사용하.. 더보기
nosql 범주 키밸류(KeyValue)가장 기초적이면서도 다른 데이터 모델의 기본이 되는 모델이다. 키밸류 모델은 특정 값을 조회용 고유 키와 매핑해 정해진 스키마 없이 저장되는 방식이다. HashMap처럼 키 값은 모두 고유한 값이어서 특정 키를 대상으로 랜덤액세스 할 때 유용하며, 정해진 데이터 모델이 없어 분산 시스템 또는 데이터베이스에 자주 등장한다. 다만 키밸류 간 연속성이 없어 영역 스캔이나 조회 시 성능이 불안정할 수 있다. SimpleDB, Dynamo, Memcached, Coherence, Riak, Redis 순차적 키밸류(Ordered KeyValue)KeyValue 모델에 데이터 간 연속성을 추가해 영역 스캔에 힘을 더하였다. 디스크에 키밸류 쌍을 순차적으로 저장한다. Tokyo Cabinet,.. 더보기
nosql 등장배경 NoSQLNot-Only-SQL이라고도 표현되는 NoSQL은 2009년 이후 Last.fm과 Facebook, Twitter, Google Analytics 등에서 데이터의 폭발적인 증가로 빅데이터 분산 처리 및 저장 기술과 함께 발달된 분산 데이터베이스 기술이다. 다양한 빅데이터 처리기술 가운데 NoSQL은 비관계형(non-relational) 데이터 저장소(data store) 역할을 한다. 관계형 데이터베이스(RDB, Relational Database)와 같이 데이터베이스를 구축하지만 사용되는 용도가 다르므로 NoSQL 적용을 고려하고 있다면 RDB와 NoSQL의 정확한 용도를 이해하고 접근할 필요가 있다. NoSQL을 수용함으로써 기대할 수 있는 효과는 HashMap처럼 키밸류(KeyValue).. 더보기