CouchDB 5

[Cloudant] View 생성 - Map 함수

Design Documents에서 New View를 선택한다. View가 저장되는 문서의 id의 앞은 _design/으로 시작한다 그러므로 그 다음에 위치할 id와 해당 view를 의미하는 index name을 입력한다. 그리고 Map function에서 어떠한 문서를 인덱스에 추가할지를 javascript로 구현한다. 위와 같은 문서 형식이 있다고 가정하고 문서의 타입이 student인 문서만 검색하는 뷰는 아래와 같이 작성 할 수있다. 위 View 함수는 간단한 예제이다. 우상단의 API 버튼을 누르면 해당 뷰를 Rest방식으로 호출 할 수 있는 URL을 확인 할 수 있다. 뷰를 호출은 GET방식 호출이기 때문에 간단하게 웹 브라우저로 호출 할 수 있다. URL은 https://{cloudant계정}..

[Cloudant] 문서 조회

웹 UI로 문서를 읽는 것은 어렵지 않다. 메뉴에서 Databases를 선택한 후 조회하고자 하는 문서의 데이터베이스를 선택한다. 데이터베이스를 선택한 후에 오른쪽에서 조회하고자 하는 문서를 더블 클릭하거나 문서의 우상단의 팬 모양을 클릭한다. 조회와 동시에 수정도 가능한 페이지가 열린다. 다음은 Java 라이브러리를 이용한 조회이다. 한번에 여러개의 id를 사용하여 조회가 가능하므로 List 형태로 반환이 된다. 하나의 문서를 반환 하고 싶은 경우에는 문자열 하나만 keys 메서드를 통하여 설정 후 문서 반환을 요청하면 된다. 여러개의 문서를 반환 하고 싶은 경우에는 문자열 배열을 통하여 여러개의 id를 keys 메서드를 통하여 설정 후 문서 반환을 요청하면 된다.

[Cloudant] 문서 생성

생성된 데이터 베이스에 문서를 추가해 보도록 하겠다. 먼저 Cloudant의 Dashborad를 통하여 만드는 방법이다. 데이터베이스를 선택한 후 All Documents에서 메뉴의 New Doc을 선택한다. 문서를 추가하는 페이지로 이동이 되는데 문서의 고유 id가 할당되어 있다. 별도의 id를 사용하고 싶은 경우에는 _id 항목을 수정하여 저장해도 된다. JSON 형태에 맞추어서 저장하고 싶은 데이터를 입력하고 Save Changes를 선택한다. 문서가 저장이 되면 위 화면에서 저장된 문서를 확인 할 수 있다. 저장된 문서를 다시 확인해 보면 _rev 항목이 추가 되었는데 revision으로 해당 문서가 동시에 수정되거나 하는 경우에 충돌을 관리해주는 항목으로 하나의 문서에서 항상 존재해야 하는 항목..

[Cloudant] 데이터베이스 생성 및 삭제

Cloudant의 데이터베이스를 만드는 방법은 여러가지가 있지만 크게 두가지를 방법을 알아보도록 하겠다. 하나는 웹 브라우저로 웹 UI에 접속하여 생성하는 방법과 자바를 이용하여 생성하는 방법이다. 먼저 Cloudant의 Dashborad를 통하여 만드는 방법이다. Databases 메뉴를 선택한 다음에 우상단에 Create Database를 선택한다. 새로 생성할 데이터베이스의 이름을 입력하고 Create 버튼을 누른다. 데이터베이스의 이름은 알파벳 소문자와 숫자 그리고 몇가지의 특수문자(_, $, (, ), +, -, /)가 가능하다. 데이터베이스가 생성되면 생성된 데이터베이스가 선택한 페이지로 전환 된다. 데이터베이스를 삭제하려면 데이터베이스 이름 옆 메뉴를 선택하여 Delete를 선택 한다. De..

[Cloudant] 예제 데이터 베이스 복제

Cloudant의 특징으로는 JSON 형식의 데이터 저장, 맵리듀스, 풀텍스트 검색을 지원하며 Apache의 CouchDB와 매우 흡사하다. Cloudant는 https://cloudant.com/에서 간단하게 회원 가입을 하여 이용할 수 있으며 사용량에 따라 과금이 이루어 지지만 가격 정책에 따른 월 사용량이 $50 이하이면 과금되지 않는다. 아마존 AWS와 같은 경우에는 가입을 할때 과금 청구를 위한 신용카드를 등록하게 되어 있지만 Cloudant는 가입시 등록하지 않아도 된다. 이러한 Cloudant를 공부하려고 한다. 공부하기 위해서 https://docs.cloudant.com/try.html에서 Cloudant Query의 예제로 사용되는 데이터베이스를 복제하려고 한다. 데이터베이스를 복제하기..