본문 바로가기
얼리어답터 리뷰/IT정보

IBM 클라우드 심화개발과정 따라해보기 NoSQL DB 사용기

by 엔돌슨 2015. 12. 12.
반응형

 

NoSQL 쉬운 클라우드 개발지원툴

 

안녕하세요 엔돌슨 입니다. 이전 포스팅에서 IBM Cloudant 클라우드 서비스를 소개하여 드렸는데요. NoSQL으로 쉽게 데이터베이스를 작성하고 JSON의 문서를 관리하여 API로 제공하는 방법에 대해서 알아 보았습니다. 이번에는 조금 더 심화 과정으로 준비된 IBM 클라우드 개발에 대해서 알아 보려고 합니다.
 
저 또한 특별한 교육을 받은 것은 아니지만, 개발자다 보니 이와같은 클라우드 개발에 관심이 많아지게 되었습니다.

 

 

Learning Center for IBM Cloudant

https://www.youtube.com/playlist?list=PLJa_sXrJUZb-FlzLdZ6ngxODSLtxjVvfZ

 

 

위의 IBM Cloudant 유튜브를 보시면, 클라우드 개발을 쉽게 스타트업을 할 수 있는 영상이 있습니다. IBM Cloudant 를 이용하여 할 수 있는 심화개발과정이 체계적으로 잘 갖추어져 있더군요. 아직 한국어 자막이 따로 없지만, 유튜브 옵션에서 자동번역을 해두면 보는 데 문제는 없습니다.

 

 

 

IBM Cloudant 사이트입니다.

http://www-01.ibm.com/software/kr/data/cloudant/index.html

 

우선 IBM Cloudant 시작을 위해선 계정생성과 개발 준비를 해줍니다. 사실 계정만 생성되면 끝이죠.
요즘 추세에 맞게 DBaaS(NoSQL database-as-a-service)로 클라우드 개발환경을 구축할 수 있게 해주고 있으며, IBM클라우드는 50GB까지 무료로 제공됩니다. 용량도 충분하고 빠르게 프로젝트에 반영할 API 및 NoSQL 데이터베이스 생성이 편리하도록 되어있습니다.

 

 

 

IBM 클라우드 심화개발과정 따라해보기 NoSQL DB 사용기

 

 

 

 

제 IBM Cloudant 대시보드 페이지입니다. 한눈에 보시는 것처럼 데이타베이스 관리부터 계정관리, Replication으로 문서, 복사, 복제, 생성까지 할 수 있게 구성되어 있습니다.

 

 

 

가장 쉬운 데이터베이스 생성 부터 해보시겠습니다.

 

Tutorial: How to create a Database and Add Documents to Database

 

유튜브의 동영상에도 데이터베이스 생성과정을 쉽게 따라 할 수 있도록 잘 설명되어져 있습니다.

https://www.youtube.com/watch?v=zESROlotu-g&index=2&list=PLJa_sXrJUZb-FlzLdZ6ngxODSLtxjVvfZ

 

 

 

위 화면처럼 상단에 Add New Database 버튼을 눌러서 데이터베이스를 쉽게 생성할 수 있습니다.

저는 유튜브 동영상 교육과정과 동일하게 "employee_direct" 라고 데이터베이스를 생성하였습니다.

 

 

 

 

 

Cloudant 데이터베이스는 JSON포멧으로 생성됩니다. 요즘 트랜드에 맞게 NoSQL은 분산 데이터베이스입니다. 뛰어난 확장성과 가용성으로 각광받고 있죠. 실제 게임업체에서도 많이 사용하고 빅데이터와 실시간 웹 애플리케이션의 사업적인 용도로 가장 많이 사용하고 있습니다. 또 NoSQL 시스템은 SQL 계열 쿼리 언어를 사용할 수 있다는 사실을 강조하면서 "Not only SQL"이라고 불리기도 합니다.
 
아무튼 데이터베이스에 JSON포맷으로 된 문서의 컬렉션을 포함할 수 있어 편리한 수평적 확장성과 디테일한 통제가 가능합니다.

 

 

데이터베이스 생성 후, New Doc를 눌러서 문서를 생성해보죠. 문서는 당연히 앞서 이야기한 JSON 타입입니다.

 

 

 

웹 상에서 개발이 지원되며 JSON 편집기가 제공됩니다. 대쉬보드에서 그냥 개발 진행하시면 됩니다.

 

 

 

동영상에서 보여주는 JSON 키 값이 쌍의 집합이 포함되어 있다고 나와 있네요. 입력하기 귀찮으니 제가 아래에 비슷한 샘플을 보여 드리겠습니다

 

 

 

 

 

입력 샘플을 아래의 URL 에서 비슷한 JSON 샘플을 입력하시면 됩니다.

   

https://gist.githubusercontent.com/rominirani/8235702/raw/a50f7c449c41b6dc8eb87d8d393eeff62121b392/employees.json

 

단, 주의 해야 할 점은 "_id" 부분이 데이터베이스를 구별할 수 있는 식별자 입니다. 식별자도 같이 넣어 주어야 하니 JSON 구조를 조금 바꾸어 줘야 합니다. 위 캡쳐처럼 식별자는 자신이 인지할 수 있게 변경하시고, "콤마(,)"를 입력해서 아래의 샘플를 이어 주시면 됩니다. 그리고 괄호를 삭제해서 하나의 JSON 샘플로 만들어 주세요.
 
만약 오류가 없으면 라인이 깔끔하게 나올 겁니다. 저장 후 대시보드로 이동해 주세요. 

 

 

 

 

 

이렇게 추가된 문서는 자동으로 버전을 가지게 됩니다. _rev라고 된 것은 문서 수정시 마다 증가 되는 버전으로 자동 증가됩니다.
 
IBM 클라우스 교육영상을 참고해서 보니, 따라하기 쉽네요.
Learning Center for IBM Cloudant 에는 더 심화된 교육과정이 있습니다.
 
개념정리와 함께 HTTP API 의 특징에 대해서 알고 가면 좋을 것 같습니다.

 

 

 

 

 Tutorial: How to review the HTTP API

https://www.youtube.com/watch?v=HtGlyrosN8M&index=6&list=PLJa_sXrJUZb-FlzLdZ6ngxODSLtxjVvfZ

 

이번 영상은 HTTP프로토컬을 활용한 API 에 대해서 설명을 해주고 있습니다.

 

 

IBM Cloudant 를 사용하면 쉽게 API 인터페이스를 제공할 수 있다고 이야기 드렸는데요. 웹 어플리케이션 뿐 아니라 다양한 영역에서 사용할 수 있습니다.

 

 

 

 

Coudant HTTP API는 데이터베이스 - 문서를 첨부하면 계정내에 있는 데이터베이스 및 문서를 엔드 포인트에 해당되는 영역을 표시해주게 됩니다.

 

 

 

Cloudant 는 NoSQL의 데이터베이스로 어떤 SQL도 존재하지 않는다고 합니다. 그래서 더 쉬운 걸지도 모르죠.Cloudant 는 NoSQL의 데이터베이스로 어떤 SQL도 존재하지 않는다고 합니다. 그래서 더 쉬운 걸지도 모르죠.

 

 

 

앞서 말씀드린 바와 같이NoSQL 시스템은 SQL 계열 쿼리 언어를 사용할 수 있다는 사실을 강조하면서 "Not only SQL"이라고 불립니다. SQL명령 프롬프트를 사용하여 접근도 가능하죠.

 

 

 

 

HTTP 브라우저에서 데이터 엑세스하는 GET, PUT, POST, DELETE, COPY 명령이 수행되면, API를 통해서 이를 수행하게 됩니다. Cloudant 는 순수 HTTP API를 사용하는 경우에 어떤 독점된 드라이브도 필요치 않다는 것입니다.
 
다른 데이터베이스와 자바는 JDBC 드라이브가 필요한데 반해 이런 제약이 없고 지금의 모든 언어들은 HTTP로 통신하기 때문에 표준에 적합하게 작성되어 사용될 수 있는 것이죠.

 

 

 

 

 

Tutorial: How to execute Common HTTP API Commands

URL : https://www.youtube.com/watch?v=47qQMaYJVUU&index=8&list=PLJa_sXrJUZb-FlzLdZ6ngxODSLtxjVvfZ

 

이번에는 위 영상을 참고하여 HTTP API 에 대해서 알아 보도록 하겠습니다.

 

 

앞서 해보신 것처럼 HTTP API로 제공되는 문서는 고유의 ID를 지정하여 만들 수 있습니다.

 

 

이렇게 고유의 문서ID를 생성하였다면 쉽게 호출이 가능한 구조라는 것입니다.

GET / <database> / <doc_id>

 

여기서 doc_id 문서의 고유키가 되겠죠?

 

 

이렇게 생성된 문서는 GET / PUT 명령을 통해서 문서를 가져오거나 쉽게 첨부할 수 있습니다.
설명처럼 바이너리 타입도 첨부가 가능하더군요. 이미지든, 문서든 쉽게 HTTP 웹 브라우저로 첨부가 가능합니다.

 

 

 

 

데이터베이스의 권한 설정 및 인덱스설정도 가능한데, 문서를 빠르게 확장하고 수정하기에는 NoSQL DB가 참 편리하다고 생각이 들었습니다. 더 상세한 개발과정을 공부하시고자 한다면 유튜브 동영상을 참고하시면 많은 도움이 될 것 것 같습니다.

 

 

▲ Learning Center for IBM Cloudant

https://www.youtube.com/playlist?list=PLJa_sXrJUZb-FlzLdZ6ngxODSLtxjVvfZ

 

 

 

API를 운영 및 구축을 해보니 편리하게 반영할 수 있는 IBM Cloudant 가 왜 편리한지 쉽게 알아 보셨을 겁니다.
 
절차상 불편한 부분이 없어지며, 빠르게 프로젝트에 반영할 API를 생성할 수 있다는 점에서 상당히 매력적이었습니다. 또한 관리 포인트 역시 적어진다는 점에서 운영에 상당한 이점이 되지 않을까 생각합니다.

 

50GB까지 무료로 제공되니 IBM Cloudant를 우선 체험해보길 권해드립니다.

 

 

 

IBM클라우드 (클릭)

 

 

 


 

이 포스팅은 한국 IBM의 의뢰로 원고료를 받아 주관적으로 작성되었습니다.