다음 제품의 정식 출시(GA)를 발표하게 되어 기쁘게 생각합니다. 카우치베이스 셸(cbsh)를 기반으로 구축된 강력한 명령줄 도구입니다. nushell 카우치베이스와 더 쉽고 효율적으로 상호 작용할 수 있도록 설계되었습니다. Couchbase 셸은 강력한 벡터 검색 기능 애플리케이션이 다음을 기반으로 의미적으로 유사한 항목을 검색할 수 있도록 하여 GenAI 애플리케이션을 구동하는 데 사용할 수 있습니다. 벡터 임베딩 다차원 공간에서 항목을 표현할 수 있습니다. 이번 릴리스에서 cbsh는 다음을 소개합니다. 벡터 검색 를 지원하여 사용자가 명령줄에서 바로 벡터 인덱스를 생성하고 벡터 검색(예: 유사도 검색)을 수행할 수 있습니다. 이를 통해 사용자는 간단한 명령줄 인터페이스에서 모델 매개변수 테스트 및 수정, 임시 벡터 쿼리, 스크립팅 등 다양한 사용 사례를 수행할 수 있습니다.
카우치베이스 셸이란 무엇인가요?
Couchbase Shell은 다음과 같이 작업하는 개발자와 관리자를 위한 오픈 소스 CLI 도구입니다. 카우치베이스 카펠라 및 Couchbase Server를 지원합니다. 사용자는 쉽게 확장할 수 있고 구문 강조 표시, 지능형 자동 완성, 상황에 맞는 도움말, 오류 메시지 등의 최신 기능을 갖춘 간단한 명령줄 도구를 통해 신속하게 모니터링, 쿼리, 데이터 로드, 데이터 내보내기, 전체 벡터 검색을 수행할 수 있습니다.
이 도구는 카우치베이스로 사용할 수 있습니다. 커뮤니티 지원 프로젝트.
Linux, Mac, Windows와 호환(방문 설치 문서에서 전체 목록을 확인하세요.)
주요 기능
-
- 명령 파이프라인, 구문 강조 표시 및 자동 완성기
- 연결 관리
- 데이터 로드
- 데이터 내보내기
- 벡터 검색
- 키-값(KV) 운영 지원
- SQL++를 사용하여 데이터 쿼리
다음은 카우치베이스 셸의 뛰어난 기능 중 일부입니다.
명령 파이프라인, 구문 강조 표시 및 자동 완성기
간단히 말해서, 파이프라인 는 Linux 파이프(|)와 유사하게 많은 명령의 조합을 허용합니다. Cbsh는 클러스터와 상호 작용할 수 있는 사용자 정의 Couchbase 명령을 추가하여 이를 기반으로 구축됩니다. 또한 셸에 따라 구문 강조 표시를 활성화하고 자동 완성을 제안합니다. 예를 들어, 다음은 기본 nushell 명령을 사용하여 로컬 JSON 파일을 연 다음 테이블로 포맷합니다:
선택한 셸에 따라 구문 강조 표시가 다를 수 있습니다.
1 2 3 4 5 6 7 8 9 |
> 열기 사용자.json | wrap 콘텐츠 | 삽입 id {$in.콘텐츠.id} ╭─────────┬─────────────────────────────╮ │ │ ╭────────────┬────────────╮ │ │ 콘텐츠 │ │ id │ 20397 │ │ │ │ │ 사용자 이름 │ Charlie │ │ │ │ ╰────────────┴────────────╯ │ │ id │ 20397 │ ╰─────────┴─────────────────────────────╯ |
한 번 다음과 같은 방식으로 포맷됩니다. 결과를 사용자 정의 CBSH로 파이프할 수 있습니다. 문서 업서트 명령 을 사용하여 Couchbase 클러스터에 JSON을 삽입합니다. 문서를 열고 포맷한 다음 업서트하는 전체 파이프라인은 다음과 같습니다:
1 |
> 열기 사용자.json | wrap 콘텐츠 | 삽입 id {$in.콘텐츠.id} | doc 업서트 |
연결 관리
카우치베이스 셸로 간소화 연결 관리를 사용하여 최소한의 노력으로 Couchbase에 대한 연결을 설정하고 관리할 수 있습니다. 사용자는 두 가지 옵션으로 Couchbase에 연결할 수 있습니다:
명령 인라인 연결 관리(CLI 인수)
CLI 인수를 통해 Couchbase Shell에 연결하는 것은 간단하며 명령줄에서 Couchbase 클러스터로 빠르게 작업을 시작할 수 있습니다. 제공해야 하는 기본 인수는 클러스터 연결 문자열, 사용자 이름, 비밀번호입니다. 또한 상호 작용하려는 버킷, 특정 범위 및 컬렉션, 필요한 경우 인증 메커니즘과 같은 다른 매개변수를 지정할 수도 있습니다.
기본 연결 예시
To 카우치베이스 클러스터에 연결를 클릭한 후 다음 명령을 사용할 수 있습니다:
1 |
> ./cbsh --사용자 이름 관리자 --connstr 127.0.0.1 -p 비밀번호 --비활성화-tls |
특정 버킷에 연결하기
Couchbase 클러스터의 버킷에 연결하려면 다음 명령을 사용할 수 있습니다:
1 |
> ./cbsh --사용자 이름 관리자 --connstr 127.0.0.1 -p 비밀번호 --비활성화-tls -버킷 mybucket -컬렉션 내 컬렉션 |
구성 파일을 통한 연결
처음 실행하는 경우 ./cbsh 을 선택하면 구성 파일을 만들 것인지 묻는 메시지가 표시됩니다. "예"를 선택하면 셸에서 기본 클러스터에 대한 정보를 제공하는 일련의 프롬프트가 표시됩니다. "아니요"를 선택하면 "관리자" 사용자 아이디와 "비밀번호"의 비밀번호를 사용하여 localhost에서 실행 중인 로컬 클러스터에 연결을 시도합니다. 구성 파일은 구성 에 배치하고 .cbsh 닷 파일을 홈 디렉터리 또는 셸이 실행되는 디렉터리에 저장하세요. 자세한 내용은 문서 웹 사이트.
아래 구성 예는 두 개의 서로 다른 클러스터를 정의하는 방법을 보여줍니다. 하나는 Capella에서, 다른 하나는 로컬 Couchbase 클러스터에서. 선택적으로, 사용자는 나중에 벡터 검색 섹션에서 설명할 대규모 언어 모델(LLM) 구성을 추가할 수도 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
버전 = 1 [[클러스터]] 식별자 = "카펠라" connstr = "couchbases://uri.cloud.couchbase.com" 사용자-디스플레이-이름 = "비샬 디만" 사용자 이름 = "vishal" 비밀번호 = "비밀번호" # 데이터베이스 액세스 자격 증명의 비밀번호로 바꿉니다. [[클러스터]] 식별자 = "local" connstr = "couchbase://127.0.0.1" 기본값-버킷 = "travel-sample" 사용자 이름 = "vishal" 비밀번호 = "비밀번호" 데이터-시간 초과 = "5s" 연결-시간 초과 = "1m 15초" 검색-시간 초과 = "1m 15초" 분석-시간 초과 = "1m 15초" 관리-시간 초과 = "1m 15초" 트랜잭션-시간 초과 = "1m 15초" tls-활성화 = false [[llm]] 식별자 = "OpenAI-small" 공급자 = "OpenAI" embed_model = "텍스트 임베딩-3-소형" 채팅_모델 = "GPT-4O-MINI" api_key = "model_key" #[llm] #provider = "Gemini" #api_key = "gogetyourown" |
데이터 로드
데이터 로드 를 Couchbase 셸을 사용하여 Couchbase에 추가하는 간단한 프로세스를 통해 데이터를 로드하는 옵션으로 데이터베이스를 빠르게 채울 수 있습니다:
-
- 단일 문서 JSON 파일
- 여러 문서 JSON 파일
- CSV 파일
- nushell에서 지원하는 구조화된 텍스트를 출력하는 모든 CLI 호출
사용자는 다음을 사용할 수 있습니다. 열기 또는 에서 명령을 사용하여 먼저 Couchbase 셸에 데이터를 로드한 다음 다음을 사용하여 Couchbase 서버로 전송할 수 있습니다. 문서 가져오기 또는 문서 업서트 명령어를 사용합니다.
다음 설명서를 참조하세요. 코드 샘플 그리고 데이터 레시피 로드.
데이터 내보내기
Couchbase 셸을 사용하여 Couchbase에서 데이터를 내보내는 것은 데이터를 백업하거나, 환경 간에 데이터를 이동하거나, 단순히 분석을 위해 데이터를 추출할 수 있는 강력한 방법입니다. cbsh 도구는 간단한 명령을 통해 Couchbase 클러스터에서 직접 데이터를 JSON 파일로 내보낼 수 있으므로 데이터베이스 환경 외부에서 데이터를 쉽게 처리할 수 있습니다. 내보내기 대상은 다음과 같습니다. 열기 그리고 에서는 다음과 같습니다. 저장 그리고 에. 두 명령을 모두 사용하여 셸에서 표 형식의 데이터를 가져와 필요한 대상 형식의 파일에 저장할 수 있습니다.
다음 설명서를 참조하세요. 코드 샘플 그리고 데이터 레시피 내보내기.
벡터 검색
이번 릴리스의 주요 기능은 다음과 같은 지원입니다. 벡터 검색. 이 기능을 사용하면 명령줄(CLI) 인터페이스에서 주어진 문서 코퍼스에 대해 유사성 검색을 수행할 수 있습니다. 이 기능은 모델을 테스트하고 명령줄을 통해 임시 벡터 검색을 쉽게 수행할 때 매우 유용합니다.
카우치베이스의 벡터 검색은 텍스트, 이미지 또는 기타 데이터 유형을 벡터로 변환하는 AI/ML 모델의 통합을 통해 이루어집니다. 이러한 벡터를 비교하여 유사한 항목을 찾을 수 있으므로 기존의 키워드 기반 접근 방식에 비해 더욱 관련성 높은 검색 환경을 제공합니다.
사용자가 벡터 검색을 시작하려면 먼저 사용할 대규모 언어 모델(LLM)을 정의해야 합니다. 현재 cbsh는 다음과 같은 LLM을 지원합니다:
-
- OpenAI
- 쌍둥이자리(Google)
- 베드락(AWS)
방문하기 LLM 문서 구성 샘플을 확인하세요.
일반적으로 벡터 검색은 3단계 프로세스로 진행됩니다:
1 - 컬렉션의 필드에 대한 임베딩 생성
이 작업은 일반적으로 문서를 만들거나 업데이트할 때 수행하거나 이미 기존 데이터 세트가 있는 경우 일괄 작업으로 수행합니다. cbsh를 사용하면 이 작업은 벡터 인리치-독 명령을 사용합니다. 예를 들어 다음 예제에는 3개의 부품이 파이프로 연결되어 있습니다:
-
- 랜드마크 컬렉션의 문서를 쿼리합니다.
- 보내기 콘텐츠 필드를 이전 파트의 결과 집합 을 LLM에 전송하여 벡터 임베딩을 생성합니다. 이 단계에서는 지정된 필드가 LLM의 엔드포인트로 전송되고 응답이 캡처됩니다. 구성 파일에 LLM 정의가 구성되어 있어야 합니다. 실험하려는 모델이 여러 개 있는 경우 구성 파일에 여러 개의 LLM을 정의한 다음 cb-env LLM <identifier> 명령을 실행합니다. 모든 LLM은 기본 차원 수를 반환하지만 다음을 사용하여 재정의할 수 있습니다. -치수 옵션을 사용할 수 있습니다. 이 명령은 기본적으로 fieldVector라는 필드에 벡터를 저장합니다. 콘텐츠 벡터 이 예제에서는 필드 이름이 콘텐츠. 벡터 필드의 기본 이름을 재정의할 수 있습니다. -vectorField 옵션을 선택합니다.
- 벡터 임베딩을 데이터베이스에 다시 삽입하여 저장합니다.
이 명령은 지정된 필드(콘텐츠)를 구성 파일에 정의된 LLM으로 전송하여 벡터 임베딩을 생성하고 반환합니다. 반환된 벡터 임베딩은 파이핑된 문서에 ID와 콘텐츠 필드가 있다고 가정하여 문서에 저장됩니다. 그렇지 않은 경우 사용자가 사용자 지정 ID 및 콘텐츠 필드를 지정할 수 있습니다.
이 명령은 기본 버킷이 다음과 같이 설정되어 있다고 가정합니다. 여행 샘플.
1 2 3 4 5 6 7 8 9 10 |
> 쿼리 'SELECT * FROM `travel-sample.inventory.landmark`' | 벡터 풍부하게-doc --차원 1024 콘텐츠 | doc 업서트 --버킷 "travel-sample" --범위 "인벤토리" --컬렉션 "랜드마크" 배치 크기 제한된 에 2047 임베딩 배치 1/3 임베딩 배치 2/3 임베딩 배치 3/3 ╭───┬───────────┬─────────┬────────┬──────────┬─────────╮ │ # │ 처리 │ 성공 │ 실패 │ 클러스터 │ 실패 │ 클러스터 │ ├───┼───────────┼─────────┼────────┼──────────┼─────────┤ │ 0 │ 4495 │ 4495 │ 0 │ │ 아카펠라 │ ╰───┴───────────┴─────────┴────────┴──────────┴─────────╯ |
2 - 저장된 임베딩에 대한 벡터 인덱스 만들기
이 단계는 항상 1단계 이후에 실행됩니다. cbsh를 사용하는 경우에는 create-index 명령 다음 명령은 다음과 같은 이름의 새 벡터 인덱스를 생성합니다. 랜드마크-콘텐츠벡터-인덱스 를 치수가 1024인 벡터 위에 놓습니다. 여기서 지정한 차원은 1단계의 차원 값과 일치해야 합니다. LLM의 기본 치수 값을 사용하는 경우 LLM 설명서에서 이 숫자를 확인하거나 1단계에서 생성된 벡터 요소의 수를 계산하면 됩니다:
1 |
> 벡터 create-색인 --버킷 "travel-sample" --범위 "인벤토리" --컬렉션 "랜드마크" 랜드마크-콘텐츠 벡터-색인 콘텐츠 벡터 1024 |
3 - 검색 키워드에 대한 벡터 임베딩 생성
3단계: 다음을 사용하여 검색 키워드에 대한 벡터 임베딩을 생성합니다. 벡터 인리치 텍스트 명령을 사용하여 벡터 인덱스에 대해 벡터 검색을 수행하고 벡터 검색 명령을 사용합니다:
1 2 3 4 5 6 7 8 9 |
> "신체 활동" | 벡터 풍부하게-텍스트 --차원 1024 | 벡터 검색 랜드마크-콘텐츠 벡터-색인 콘텐츠 벡터 임베딩 배치 1/1 ╭───┬────────────────┬────────────┬─────────────────────╮ │ # │ ID │ 점수 │ 클러스터 │ ├───┼────────────────┼────────────┼─────────────────────┤ │ 0 │ 랜드마크_11956 │ 0.92583716 │ 아카펠라 cbshtesting │ │ 1 │ 랜드마크_37999 │ 0.81547827 │ 아카펠라 cbshtesting │ │ 2 │ 랜드마크_22054 │ 0.81547827 │ 아카펠라 cbshtesting │ ╰───┴────────────────┴────────────┴─────────────────────╯ |
마지막으로, 벡터 검색 결과를 문서 또는 하위 문서로 파이프할 수 있습니다. get 를 클릭해 검색된 문서의 내용을 검색할 수 있습니다. 또한 관련 필드만 인쇄하여 출력물을 더 예쁘게 만들 수 있습니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
> "신체 활동" | 벡터 풍부하게-텍스트 --차원 1024 | 벡터 검색 랜드마크-콘텐츠 벡터-색인 콘텐츠 벡터 | 하위 문서 get --컬렉션 랜드마크 [title, 이름, 전화, 이메일, 시간, 주소, 콘텐츠] | 선택 id 콘텐츠 임베딩 배치 1/1 ╭───┬────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ # │ 아이디 │ 콘텐츠 │ ├───┼────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 0 │ 랜드마크_11956 │ ╭─────────┬─────────────────────────────────────────────────────────────────────────╮ │ │ │ │ │ title │ 런던/혼처치 │ │ │ │ │ │ 이름 │ 혼처치 스포츠 센터 │ │ │ │ │ │ 전화 │ │ │ │ │ │ │ 이메일 │ │ │ │ │ │ │ 시간 │ │ │ │ │ │ │ 주소 │ 혼처치 도로, 혼처치, RM11 1JU │ │ │ │ │ │ 콘텐츠 │ 당신 can 찾기 여러 활동 같은 수영, 스쿼시, 크리켓 그리고 체육관. │ │ │ │ │ ╰─────────┴─────────────────────────────────────────────────────────────────────────╯ │ │ 1 │ 랜드마크_22054 │ ╭─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ │ │ │ │ title │ 펨브룩셔 │ │ │ │ │ │ 이름 │ 셀틱 퀘스트 코스테어링 │ │ │ │ │ │ 전화 │ +44 1348 881530 │ │ │ │ │ │ 이메일 │ 정보@켈틱퀘스트코스티어링.com │ │ │ │ │ │ 시간 │ 열기 모두 년, 오전 9시 30분 & 오후 2시 매일 (예약 는 필수) │ │ │ │ │ │ 주소 │ │ │ │ │ │ │ 콘텐츠 │ 물-기반 모험 활동 그 can 포함 절벽 점프, 모험 수영, 스크램블 등반 그리고 더 보기. │ │ │ │ │ ╰─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │ │ 2 │ 랜드마크_37999 │ ╭─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ │ │ │ │ title │ Abereiddy │ │ │ │ │ │ 이름 │ 셀틱 퀘스트 코스테어링 │ │ │ │ │ │ 전화 │ +44 1348 881530 │ │ │ │ │ │ 이메일 │ 정보@켈틱퀘스트코스티어링.com │ │ │ │ │ │ 시간 │ 열기 모두 년, 오전 9시 30분 & 오후 2시 매일 (예약 는 필수) │ │ │ │ │ │ 주소 │ │ │ │ │ │ │ 콘텐츠 │ 물-기반 모험 활동 그 can 포함 절벽 점프, 모험 수영, 스크램블 등반 그리고 더 보기. │ │ │ │ │ ╰─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │ ╰───┴────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ |
키-값(KV) 운영 지원
카우치베이스 셸은 기본적으로 다음을 수행하도록 지원합니다. 키 값 연산. 키-값 연산은 CouchBase의 고유한 기능으로, CouchBase에 저장된 문서에 대해 매우 빠른 CRUD 연산을 제공합니다.
cbsh 명령으로 KV 서비스를 통해 문서 읽기
다음을 사용하여 문서를 검색할 수 있습니다. 문서 가져오기:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
> doc get --컬렉션 항공사 항공사_10 ╭───┬────────────┬──────────────────────────────┬─────────────────────┬───────┬─────────╮ │ # │ ID │ 콘텐츠 │ CAS │ 오류 │ 클러스터 │ ├───┼────────────┼──────────────────────────────┼─────────────────────┼───────┼─────────┤ │ 0 │ 항공사_10 │ ╭──────────┬───────────────╮ │ 1722951864428789760 │ │ 아카펠라 │ │ │ │ │ id │ 10 │ │ │ │ │ │ │ │ │ 유형 │ 항공사 │ │ │ │ │ │ │ │ │ 이름 │ 40-마일 Air │ │ │ │ │ │ │ │ │ iATA │ Q5 │ │ │ │ │ │ │ │ │ icao │ MLA │ │ │ │ │ │ │ │ │ 콜사인 │ MILE-AIR │ │ │ │ │ │ │ │ │ 국가 │ United 상태 │ │ │ │ │ │ │ │ ╰──────────┴───────────────╯ │ │ │ │ ╰───┴────────────┴──────────────────────────────┴─────────────────────┴───────┴─────────╯ |
실제 콘텐츠와 메타데이터를 구분하기 위해 콘텐츠는 콘텐츠 필드에 중첩됩니다. 모든 내용을 최상위 레벨에 표시하려면 flatten 명령으로 파이프하면 됩니다:
1 2 3 4 5 6 |
> doc get --컬렉션 항공사 airline_10 | 평평하게 ╭───┬────────────┬────────────┬─────────┬─────────────┬──────┬──────┬──────────┬───────────────┬─────────────────────┬───────┬─────────╮ │ # │ ID │ 콘텐츠_ID │ 유형 │ 이름 │ IATA │ IICAO │ 콜사인 │ 국가 │ CAS │ 오류 │ 클러스터 │ ├───┼────────────┼────────────┼─────────┼─────────────┼──────┼──────┼──────────┼───────────────┼─────────────────────┼───────┼─────────┤ │ 0 │ 항공사_10 │ 10 │ 항공사 │ 40-마일 Air │ Q5 │ MLA │ MILE-AIR │ United 상태 │ 1722951864428789760 │ │ 아카펠라 │ ╰───┴────────────┴────────────┴─────────┴─────────────┴──────┴──────┴──────────┴───────────────┴─────────────────────┴───────┴─────────╯ |
그리고 아래와 같은 명령을 사용하여 여러 문서를 가져올 수 있습니다:
1 2 3 4 5 6 7 8 |
> [airline_10 airline_10748 airline_137] | wrap id | doc get | 평평하게 ╭───┬───────────────┬────────────┬─────────┬─────────────┬──────┬──────┬──────────┬───────────────┬─────────────────────┬───────┬─────────╮ │ # │ ID │ 콘텐츠_ID │ 유형 │ 이름 │ IATA │ IICAO │ 콜사인 │ 국가 │ CAS │ 오류 │ 클러스터 │ ├───┼───────────────┼────────────┼─────────┼─────────────┼──────┼──────┼──────────┼───────────────┼─────────────────────┼───────┼─────────┤ │ 0 │ 항공사_10 │ 10 │ 항공사 │ 40-마일 Air │ Q5 │ MLA │ MILE-AIR │ United 상태 │ 1722951864428789760 │ │ 아카펠라 │ │ 1 │ 항공사_10748 │ 10748 │ 항공사 │ Locair │ ZQ │ LOC │ LOCAIR │ United 상태 │ 1722951863465607168 │ │ 아카펠라 │ │ 2 │ 항공사_137 │ 137 │ 항공사 │ Air 프랑스 │ AF │ AFR │ 에어프랑스 │ 프랑스 │ 1722951862822764544 │ │ 아카펠라 │ ╰───┴───────────────┴────────────┴─────────┴─────────────┴──────┴──────┴──────────┴───────────────┴─────────────────────┴───────┴─────────╯ |
KV 서비스를 통해 문서를 작성하는 cbsh 명령어
문서를 다음과 같이 변경할 수 있습니다. 문서 삽입, 문서 업서트 그리고 문서 바꾸기.
이 세 가지 명령은 모두 비슷한 인수를 받습니다. 하나의 문서만 변경하려는 경우 ID와 콘텐츠를 인수로 전달하는 것이 가장 간단한 방법입니다:
1 2 3 4 5 6 |
> doc 업서트 my-doc {"hello": "world"} ╭───┬───────────┬─────────┬────────┬──────────┬─────────╮ │ # │ 처리 │ 성공 │ 실패 │ 클러스터 │ 실패 │ 클러스터 │ ├───┼───────────┼─────────┼────────┼──────────┼─────────┤ │ 0 │ 1 │ 1 │ 0 │ │ 아카펠라 │ ╰───┴───────────┴─────────┴────────┴──────────┴─────────╯ |
문서를 제거할 수 있는 도구는 다음과 같습니다. 문서 제거.
1 2 3 4 5 6 |
> doc 제거 my-doc ╭───┬───────────┬─────────┬────────┬──────────┬─────────╮ │ # │ 처리 │ 성공 │ 실패 │ 클러스터 │ 실패 │ 클러스터 │ ├───┼───────────┼─────────┼────────┼──────────┼─────────┤ │ 0 │ 1 │ 1 │ 0 │ │ 아카펠라 │ ╰───┴───────────┴─────────┴────────┴──────────┴─────────╯ |
다음과 같은 더 많은 KV 작업을 수행할 수 있습니다. 하위 문서 가져오기. KV 운영에 대한 자세한 내용은 문서를 참조하세요.
SQL++를 사용하여 데이터 쿼리
실행 중 SQL++ 쿼리 를 사용하여 카우치베이스 셸 는 이 도구의 가장 강력한 기능 중 하나로, 유연하고 효율적인 방식으로 카우치베이스 데이터와 상호 작용할 수 있게 해줍니다. JSON 데이터를 위해 설계된 SQL의 확장인 SQL++를 사용하면 조인, 집계 및 하위 쿼리를 포함한 복잡한 쿼리를 명령줄에서 직접 cbsh를 사용하여 수행할 수 있습니다.
예를 들어, 여행 샘플 데이터에서 '프랑스'에서 운항 중인 항공사 수를 확인할 수 있습니다:
1 2 3 4 5 6 |
> 쿼리 "select count(*) as french_airlines_count from airline where country='France'" ╭───┬───────────────────────┬─────────╮ │ # │ french_airlines_count │ cluster │ ├───┼───────────────────────┼─────────┤ │ 0 │ 21 │ 아카펠라 │ ╰───┴───────────────────────┴─────────╯ |
SQL++는 사용자가 다음을 사용할 수 있으므로 더욱 강력합니다. 명명된 매개변수 를 사용하여 쿼리 명령 결과 집합을 다른 명령으로 리디렉션하고 파이핑(|)을 사용하여 쿼리 명령 결과 집합을 다른 명령으로 리디렉션할 수도 있습니다. 저희의 문서 에서 자세한 내용을 확인하세요.
시작하기
cbsh를 시작하는 데 도움이 될 수 있도록 자세한 시작 가이드를 준비했습니다. 문서 웹사이트를 방문하세요. 다음은 시작하는 방법에 대한 간략한 개요입니다:
-
- cbsh 받기: 운영 체제용 cbsh를 다음에서 다운로드하세요. 카우치베이스 셸 웹사이트.
- 클러스터에 연결: 권장 방법은 다음에서 지정한 대로 설정 파일을 만드는 것입니다. 구성 파일 문서.
- CRUD 작업을 수행합니다, 쿼리 실행또는 벡터 검색의 강력한 기능을 활용하세요. 빠르게 시작할 수 있도록 문서에서 기존의 레시피 를 클릭해 일반적인 사용 사례를 살펴보세요.
커뮤니티 및 오픈 소스 지원
저희는 커뮤니티와 오픈소스 개발의 힘을 믿습니다. 카우치베이스 cbsh 는 오픈 소스입니다.를 통해 의견을 제시하고 피드백을 제공하며 대화에 참여해 주시기 바랍니다. 참여하기 카우치베이스 포럼 또는 카우치베이스 디스코드.
추가 읽기
자세한 내용은 문서 웹 사이트. 특히 연결 자격 증명과 관련하여 지원되는 다양한 명령어와 구성, 원하는 결과를 얻기 위한 파이핑 명령어 예제에 대해 자세히 설명합니다.
-
- 카우치베이스 셸 다운로드 및 설치 - cbsh
- 지원되는 운영 체제 문서 웹 사이트에 나열되어 있습니다.
행복한 명령 셸!
카우치베이스 팀