2. Cloudant DBaaS
• DBaaS란?
Database As A Service의 약자로서, DB를 Cloud 형태로 하드웨어는 물론 설치부터
운영, 모니터링까지 하나의 서비스로 제공하는 솔루션을 의미합니다. DBaaS를
사용하는 유저는 위와 같은 고민을 할 필요 없이 단지 DB API를 이용해 Client
프로그램만 개발하면 됩니다.
• Cloudant DBaaS
Cloudant 웹사이트(http://www.cloudant.com)에서 가입할 수 있으며, 웹사이트를
통해 데이터를 조회하거나 DB를 생성할 수도 있습니다.
• Tutorial
http://cloudantkug.wordpress.com/2013/07/02/tutorialno1-user-registration/
2
3. 사용자 등록
•
Cloudant 메인 사이트(http://www.cloudant.com)의 우측 상단에 “Sign Up” 버튼을 통해서 가입 페이지에 접근할
수 있습니다.
3
5. 사용자 등록
•
“Sign Up” 페이지에 등록폼을 완성하고 “I agree, sign me up” 버튼을 클릭하면 등록은 완료 됩니다.
•
계정 등록에 입력 정보
•
Username, Password
•
First name, Last name
•
Company
•
Username
•
Email
•
Select a location for your data
•
계정 등록을 위해서는 위와 같은 정보를 입력해야 합니다. “User name”의 경우 알파벳 대소문자, 숫자, 대쉬()만을 허용합니다. “Select a location for your data”의 경우 어떤 Multitenancy 클러스터에 내 데이터를 저장할
것인가를 선택하는 단계입니다. 우리가 선택할 수 있는 클러스터는 다음과 같습니다.
•
여기에서 선택한 클러스터는 나중에 변경 가능하며, 데이터가 입력된 후에도 마이그레이션 개념으로 클러스터
변경을 지원합니다.
5
6. Cloudant 웹사이트의 주요 페이지(기능)
•
계정 등록 단계가 완료되면 “Welcome” 페이지로 이동합니다. 상단에 메뉴를 통해서 “Databases”, “Stats”, “Virtual
Hosts”, “Account” 페이지로 이동 가능합니다.
•
Welcome 페이지에서 기본적인 메뉴얼과 사용법 가이드 링크를 확인할 수 있습니다.
6
7. Databases 페이지
•
DB(일반 RDB의 테이블에 해당) 조작과 관련된 대부분의 작업을 이 페이지에서 할 수 있습니다. DB를 만들고, DB
목록을 조회할 수 있습니다. 데이터베이스 별로 검색 권한 설정, Document(Document DB에서는 레코드를
Document라고 함)를 조작할 수 있습니다. 또한 Cloudant를 사용하는 다른 계정에 데이터베이스 별로 Read,
Create, Write, Admin권한을 설정할 수 있습니다.
여기 새로운 DB명을
넣고 생성할 수 있음
7
11. REST API를 이용한 DB 액세스
• HTTP 기반의 REST API는 다양한 언어 라이브러리가 있어 쉽게 사용이 가능합니다.
• 그 중에서도 Command Line에서 쉽게 사용할 수 있는 curl이라는 유틸리티가 상당히
편리합니다. (http://curl.haxx.se/)
• curl을 이용한 Cloudant DBaaS 액세스 방법은 다음과 같습니다.
Cloudant 버전 확인: curl http://userid.cloudant.com
새로운 DB 생성: curl -X PUT http://userid:passwd@userid.cloudant.com/<db명>
전체 DB 조회: curl http://userid:passwd@userid.cloudant.com/_all_dbs
특정 DB의 전체 레코드 조회:
curl http://userid:passwd@userid.cloudant.com/<db명>/_all_docs
새로운 레코드 생성: curl -X POST http://userid:passwd@userid.cloudant.com/<db명> -H "Contenttype: application/json" -d "{"abc": 1}“
• 더 많은 내용은 다음을 참고하세요.
• https://cloudant.com/wp-content/uploads/Cloudant-API-Reference.pdf
11
12. 언어 별 라이브러리를 이용한 DB 액세스
• 오른쪽 표와 같은 다양한 언어 별
API 바인딩을 제공합니다.
• Java의 경우에는 Ektorp가 가장
많이 사용됩니다.
• 다운로드
https://github.com/helun/Ektorp
• Tutorial
http://www.ektorp.org/tutorial.html
• Maven을 사용하면 빌드하기 편리
http://mvnrepository.com/artifact/org.ekt
orp/org.ektorp
12