카우치베이스 모바일에 익숙해지기: 명령줄을 통한 카우치베이스 서버

The Couchbase Mobile Stack

소개

이 게시물은 시리즈 중 세 번째 게시물로 카우치베이스 모바일 스택으로 이동합니다. 첫 번째 및 두 번째 게시물을 찾을 수 있습니다. 여기 그리고 여기를 각각 지원합니다. 여기에는 다음과 같은 설치가 포함됩니다. 카우치베이스 서버 그리고 몇 가지 흥미로운 카우치베이스 웹 콘솔. 이 글에서는 명령줄에서 Couchbase Server로 작업하는 방법에 대해 설명합니다.

배경

전체 스택에 익숙해지려면 개발 머신에 모든 것을 설치하고 실행하는 것이 좋습니다. 이 시리즈 게시물에서는 각 컴포넌트를 시작하는 단계를 안내해 드리겠습니다. 그 과정에서 약간의 추가 탐색을 하는 방법도 보여드리겠습니다.

최소한의 구성만 하겠습니다. 이 글은 프로덕션 환경에 필요한 사항을 설명하기 위한 것이 아닙니다. NoSQL의 몇 가지 기본 사항에 익숙하고, Couchbase에 대해 어느 정도 이해하고 있으며, Java, Android 또는 iOS 등의 앱 빌드 방법을 알고 있다고 가정합니다. NoSQL 데이터베이스 또는 Couchbase에 대해 자세히 알아보려면 다음에서 많은 리소스를 찾을 수 있습니다. 카우치베이스 사이트.

카우치베이스는 오픈소스입니다. 여기서 사용하는 모든 기능은 무료로 사용해 볼 수 있습니다. 도움이 필요하면 게시물 끝부분에서 더 많은 리소스를 참조하세요.

명령줄

카우치베이스 서버에는 꽤 많은 명령줄 도구가 있습니다. 또한 광범위한 REST API도 있습니다. 몇 가지 흥미로운 점을 살펴 보겠습니다.

명령줄 유틸리티

Mac의 경우 일반적으로 /Applications/Couchbase Server.app/Contents/Resources/couchbase-core/bin에서 명령줄 도구를 찾을 수 있습니다.

Linux 및 Windows용 명령 위치는 여기에서 확인할 수 있습니다: http://developer.couchbase.com/documentation/server/current/cli/cli-intro.html

couchbase-cli: 명령줄 클러스터 관리 도구

이 도구는 단일 노드 또는 전체 클러스터에서 작동할 수 있습니다. 버킷 조작부터 데이터 센터 간 복제에 이르기까지 모든 명령을 지원합니다. 다음은 몇 가지 예시입니다.

서버 목록

다음 명령은 클러스터에 있는 서버의 간단한 목록을 반환합니다.

출력

예상대로 로컬에서 하나의 활성 서버가 실행되고 있음을 보여줍니다.

(참고: 간결성을 위해 앞으로 클러스터, 사용자 이름 및 비밀번호 옵션은 생략하겠습니다. 하지만 실제 명령에는 이 옵션이 필요합니다.)

로그 수집

로깅을 켤 수 있습니다. 지원을 위해 데이터를 자동으로 업로드하는 옵션이 있습니다.

출력

다음으로 상태를 확인합니다.

출력

그리고 로깅을 중지합니다.

출력

로그 파일은 방대합니다. 여기 샘플에는 많은 파일과 1메가바이트가 넘는 정보가 포함되어 있습니다. 모두 텍스트로 되어 있습니다. CB 서버 설치에 대한 지원이 필요한 경우 이 데이터를 얻는 방법을 알아두는 것이 좋습니다.

cbq: N1QL용 명령줄 셸

또 다른 도구는 N1QL 쿼리를 실행하기 위한 대화형 셸인 cbq입니다.

이 경우 명령은 입력을 요청하는 메시지를 반복해서 표시합니다. 옵션 없이 실행하여 시작하세요.

몇 가지 알림과 명령 프롬프트가 즉시 표시됩니다.

기본 인덱스 만들기

쿼리를 실행하려면 최소한 기본 인덱스가 필요합니다. 맥주 샘플 데이터의 일부 버전에는 기본 인덱스가 제공되기도 하고 제공되지 않는 경우도 있습니다.

출력

쿼리 실행

다음은 매우 간단한 쿼리의 예입니다.

출력

스타일 설명에 '임페리얼'이 포함된 모든 맥주를 가져왔습니다.

맥주 샘플 주위의 뒷면 틱을 확인하세요. 이는 이름에 대시가 들어가기 때문에 필요합니다.

SQL을 안다면 N1QL이 익숙할 것입니다. N1QL은 SQL의 상위 집합입니다. JSON 데이터는 관계형 데이터처럼 평평하지 않은 경우가 많습니다. N1QL에는 배열 언롤링과 같은 작업을 수행할 수 있는 확장 기능이 있습니다. N1QL에 대해 자세히 알아보세요. 여기.

N1QL을 더 깊이 이해하려면 다음과 같은 훌륭한 기능을 사용해 보는 것이 좋습니다. 대화형 튜토리얼.

cbq의 고급 기능에 대한 Nic Raboy의 유용한 포스팅을 확인할 수 있습니다. 여기.

REST API

카우치베이스 서버에는 다음과 같은 광범위한 기능이 있습니다. REST 엔드포인트. 대부분은 배포 관리와 관련이 있습니다.

컬을 사용한 예시를 보여드리겠습니다. 컬을 대체할 수 있는 정말 좋은 도구가 있습니다, httpie. 사용하기가 조금 더 쉽고 컬러화된 출력을 생성합니다. 컬이 더 일반적으로 사용되기 때문에 여기서는 사용하지 않겠습니다.

다른 엔드포인트가 무엇을 생성하는지 보는 것도 흥미롭지만, 여기서는 쿼리에 초점을 맞추려고 합니다.

쿼리 보기

이전 게시물에서 카우치베이스 웹 콘솔에서 뷰에 대해 살펴봤습니다. 보기는 정보를 검색하는 데 사용할 수 있는 정적 인덱스를 만듭니다. 여러 가지 옵션으로 응답을 제어할 수 있습니다. 보기의 가치는 대부분 맵/환원 함수를 정의하는 방식에서 비롯되지만, 이러한 옵션은 보기를 사용하여 데이터를 쿼리하는 기능을 더욱 향상시킵니다. 특히 키별 필터링이 유용합니다. 살펴보겠습니다.

다음과 같은 형식의 URI를 사용하여 보기에 액세스합니다.

맥주 샘플의 경우 다음과 같이 모든 양조장 및 맥주 정보를 얻을 수 있습니다.

이는 많은 정보를 출력합니다. 다음은 출력의 짧은 샘플입니다.

주요 정보를 확인할 수 있습니다. 이를 사용하여 결과 범위를 좁힐 수 있습니다. 다음은 단일 키를 사용하는 예제입니다.

그리고 그 결과.

g 플래그를 추가한 것을 주목하세요. 기본적으로 Curl은 특정 유형의 패턴 일치(글로빙)를 허용합니다. 이는 특수 문자 {}와 []를 사용하여 작동합니다. JSON에서 키를 지정하려면 이러한 문자가 필요합니다. 가장 쉬운 방법은 글로빙을 해제하는 것입니다. 매개변수 주위를 작은따옴표로 묶는 것도 잊지 마세요.

이 예는 하나의 키로 필터링한 예입니다. 다음은 한 번에 두 개 이상 일치하는 결과를 얻는 방법을 보여주는 예제입니다.

출력이 정렬되지 않은 것을 확인할 수 있습니다.

뷰 디버깅(또는 뷰에서 무슨 일이 일어나고 있는지 이해하는 것)에 사용하는 것 외에도 셸 스크립트와 이런 종류의 쿼리를 사용하여 멋진 것들을 작성하는 것을 보았습니다.

N1QL 쿼리

명령줄에서도 N1QL 쿼리를 실행할 수 있는 것으로 밝혀졌습니다. 다음은 맥주 샘플 버킷에서 모든 것을 가져오는 간단한 예제입니다.

출력에는 일부 통계와 전체 문서가 포함됩니다. (통계는 Mac의 경우 stderr로 출력됩니다).

The N1QL command must have certain characters encoded to work properly. In this case, you can probably guess that %20 is the encoding for a single space. You can read more about that on this 스택 오버플로 게시물.

다음 단계

지금까지 카우치베이스 서버를 살펴보는 데 많은 시간을 할애했습니다. 다음으로 모바일에 대해 자세히 살펴보겠습니다. 동기화 게이트웨이. 거의 동일한 형식을 따를 것입니다. 하지만 동기화 게이트웨이의 경우에는 REST API를 사용하여 할 수 있는 일이 훨씬 더 많다는 것을 알게 될 것입니다. 여기에는 일반적인 문제를 진단하는 데 도움이 되는 몇 가지 요령이 포함될 것입니다. 그 후에는 Couchbase Lite를 살펴본 다음 전체 스택을 통해 엔드투엔드로 이동하는 데이터를 살펴보면서 모든 내용을 마무리하겠습니다. 계속 지켜봐 주세요.

[buttongroup][button style="btn-link btn-lg" icon="fa fa-arrow-left" align="left" iconcolor="#dd3333″ type="link" target="false" title="이전: Couchbase 웹 콘솔" link="https://www.couchbase.com/blog/com편한-카우치베이스-모바일-카우치베이스-웹 콘솔/" linkrel=""][button style="btn-link btn-lg" icon="fa fa-arrow-right" align="left" iconcolor="#dd3333″ type="link" target="false" title="다음: 동기화 게이트웨이 설치하기" link="https://www.couchbase.com/blog/getting-comfortable-couchbase-mobile-installing-sync-gateway/" linkrel=""][/buttongroup]

포스트 스크립트

더 많은 리소스를 확인하세요. 개발자 포털 트위터에서 팔로우하세요 카우치베이스 개발.

질문에 대한 답변을 게시할 수 있습니다. 포럼. 그리고 다음에도 적극적으로 참여합니다. 스택 오버플로.

다음 주소에서 저를 개인적으로 팔로우할 수 있습니다. 호드그릴리

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 호드 그릴리, 개발자 옹호자, 카우치베이스

호드 그레이리는 실리콘밸리에 거주하는 카우치베이스의 개발자 옹호자입니다. 그는 소프트웨어 엔지니어 및 엔지니어링 관리자로서 20년 이상의 경력을 보유하고 있습니다. 그는 전산 물리학 및 화학, 컴퓨터 및 네트워크 보안, 금융, 모바일 등 다양한 소프트웨어 분야에서 일해 왔습니다. 2016년 카우치베이스에 합류하기 전에는 삼성에서 모바일 개발자 관계를 이끌었습니다. 컬럼비아 대학교에서 화학 물리학 박사 학위를 받았습니다.

댓글 하나

  1. [...] 이전: 카우치베이스 서버 설치하기 다음: 명령줄을 통한 카우치베이스 서버 [...]

  2. [...] 이전: 명령줄을 통한 카우치베이스 서버 다음: 명령줄을 통한 동기화 게이트웨이 [...]

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.