분류

Microsoft Excel에서 Couchbase ODBC 드라이버 사용

약 한 달 전입니다, Simba Technologies는 개발자 프리뷰를 출시했다고 발표했습니다. 의 ODBC 및 JDBC 드라이버를 지원합니다. 작년에 저희는 Simba Technologies는 다음과 같은 ODBC 및 JDBC 드라이버를 빌드했습니다. 를 사용할 수 있습니다. 이러한 드라이버를 사용하면 Microsoft Excel 및 Tableau와 같은 도구를 사용하는 데이터 분석가가 Couchbase Server의 데이터에 빠르게 액세스할 수 있습니다.

이 드라이버는 정확히 어떻게 사용하나요? Mac 및 Windows용 Microsoft Excel에서 ODBC 드라이버를 사용하여 데이터를 쿼리하는 방법을 구체적으로 살펴보겠습니다.

전제 조건

  • 카우치베이스 서버 4.0+
  • Microsoft Excel 2011+
  • 데이터가 담긴 버킷

Mac OS X에서 사용

먼저 Mac OS용 최신 Simba ODBC 드라이버 DMG 파일을 다운로드하여 설치하세요. 이 문서에서는 Mac용 버전 1.0.0.0002를 사용하겠습니다.

최신 버전의 Mac OS를 사용하는 경우 방금 설치한 드라이버를 구성하려면 다른 소프트웨어를 다운로드해야 합니다.  ODBC 관리자 Mac용은 설치된 드라이버를 감지하고 Microsoft Excel을 통해 연결할 서버와 포트를 구성할 수 있습니다.

버킷 인덱스 만들기

Excel을 통해 Couchbase Server에 연결하기 전에 먼저 N1QL 쿼리를 실행할 수 있도록 버킷 인덱스를 만들어야 합니다. Couchbase Server가 실행 중인 상태에서 Mac 터미널에서 다음 명령을 실행합니다:

위와 같이 하면 Couchbase 쿼리 클라이언트가 시작됩니다. 이 예제에서는 단일 기본 인덱스를 만들겠습니다. CBQ가 실행 중인 상태에서 다음을 입력합니다:

이제 버킷이 N1QL을 사용할 준비가 되었습니다!

Microsoft Excel과 연결

ODBC 관리자를 시작하고 시스템 DNS 또는 사용자 DNS 탭으로 이동합니다. 기본적으로 필요에 따라 무엇이든 사용할 수 있습니다.

ODBC Manager - Mac

준비가 완료되면 추가 버튼을 클릭하면 Simba Technologies 드라이버가 목록에 표시되어 선택할 수 있습니다.

ODBC Manager Simba Couchbase - Mac

데이터 원본에 이름을 지정하고 매우 중요한 두 개의 키 값 쌍을 추가합니다:

물론 호스트는 Couchbase Server가 상주하는 실제 호스트와 일치해야 합니다. 위의 예제에서는 Couchbase Server가 로컬 컴퓨터에서 실행되고 있을 것입니다.

새 Microsoft Excel 스프레드시트를 만들고 데이터베이스 에서 데이터 탭을 클릭합니다. 다음 작업을 수행하여 동일한 작업을 수행할 수 있습니다. 데이터 -> 외부 데이터 가져오기 -> 새 데이터베이스 쿼리 를 클릭합니다.

ODBC Excel Add Database - Mac

이 작업이 완료되면 ODBC 관리자 소프트웨어에서 보았던 것과 비슷한 창이 나타납니다. 어떤 이유로 이전에 만든 드라이버 항목이 표시되지 않는다면 다시 만들어 보세요. 드라이버 항목에서 테스트 버튼을 클릭하면 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다. 이 사용자 이름과 비밀번호는 Couchbase 서버에 연결할 때 사용하는 것과 동일한 사용자 이름과 비밀번호입니다.

ODBC Excel Simba Login - Mac

테스트에 성공하면 계속해서 확인 버튼을 눌러 데이터에 연결하고 분석을 시작합니다.

연결되면 Couchbase 서버에 있는 버킷 목록이 표시됩니다. 이제 데이터를 쿼리할 수 있는 두 가지 옵션이 있습니다.

N1QL 쿼리를 사용하여 쿼리하기

를 클릭합니다. SQL 보기 탭을 클릭하고 원하는 쿼리를 입력합니다. 반환하려는 데이터가 많을수록 실행하는 데 시간이 더 오래 걸린다는 점에 유의하세요. 예를 들어 여행 샘플 버킷이 설치되어 있고 적절한 인덱싱이 구성된 경우 다음 쿼리를 입력합니다:

30개의 문서가 존재하면 반환됩니다.

ODBC Excel Query - Mac

를 클릭합니다. 테스트 버튼을 클릭한 다음 데이터 반환 쿼리가 완료되면

Microsoft Excel 빌더를 사용하여 쿼리하기

다음과 같이 가정합니다. 여행 샘플 버킷이 설치되어 있고 적절한 인덱싱이 구성되어 있으면 여행 샘플 버킷을 클릭하고 표 추가.

ODBC Excel Query Builder - Mac

필드가 추가되면 필드를 살펴본 후 데이터 반환 준비되면

Microsoft Windows에서 사용

먼저 Microsoft Windows용 최신 Simba ODBC 드라이버 MSI 파일을 다운로드하여 설치합니다.

버킷 인덱스 만들기

Excel을 통해 Couchbase Server에 연결하기 전에 먼저 N1QL 쿼리를 실행할 수 있도록 버킷 인덱스를 만들어야 합니다. Couchbase Server가 실행 중인 상태에서 Windows 명령 프롬프트에서 다음 명령을 실행합니다:

위와 같이 하면 Couchbase 쿼리 클라이언트가 시작됩니다. 이 예제에서는 단일 기본 인덱스를 만들겠습니다. CBQ가 실행 중인 상태에서 다음을 입력합니다:

이제 버킷이 N1QL을 사용할 준비가 되었습니다!

새 Microsoft Excel 스프레드시트를 만들고 다른 출처에서 에서 데이터 탭을 클릭합니다. 데이터 소스를 아직 추가하지 않은 경우 이 옵션을 선택하면 네 가지 항목을 입력해야 합니다.

ODBC Excel Create Datasource - Windows

  1. 다음과 같이 연결 이름을 지정합니다. 심바 카우치베이스
  2. 를 선택하고 Simba Couchbase ODBC 드라이버
  3. 카우치베이스 서버가 로컬에서 실행 중인 경우, 다음을 사용합니다. 127.0.0.1 그렇지 않으면 원격으로 실행 중인 서버의 IP를 입력합니다. 다른 모든 항목은 기본값을 그대로 사용해도 됩니다.
  4. 연결 테스트에 성공한 경우 데이터 소스의 기본 테이블을 선택합니다.

이 시점에서 쿼리 작성 마법사를 계속 진행하거나 취소를 클릭하여 직접 작업을 수행할 수 있습니다.

마법사로 쿼리하기

마법사가 시작되면 먼저 쿼리에 원하는 열을 추가하거나 모든 열을 추가한 다음 다음.

ODBC Excel All Columns - Windows

마법사의 다음 화면에서 쿼리 로직을 추가할 수 있습니다. 모든 행을 반환하려면 기본값을 그대로 두고 다음.

ODBC Excel Filter Data - Windows

마법사의 다음 화면에서 기본적으로 데이터를 정렬하는 방법을 선택할 수 있습니다. 기본값을 선택하고 다음 를 입력하거나 정렬을 지정할 수 있습니다.

ODBC Excel Sort Data - Windows

선택 Microsoft Excel로 데이터 반환 를 클릭하고 완료.

ODBC Excel Return Data - Windows

입력한 기준에 따라 모든 데이터가 스프레드시트로 가져옵니다.

N1QL 쿼리를 사용하여 쿼리하기

를 클릭합니다. SQL 버튼을 클릭하고 원하는 쿼리를 입력합니다. 반환하려는 데이터가 많을수록 실행하는 데 시간이 더 오래 걸린다는 점에 유의하세요. 예를 들어 여행 샘플 버킷이 설치되어 있고 적절한 인덱싱이 구성된 경우 다음 쿼리를 입력합니다:

30개의 문서가 존재하면 반환됩니다.

ODBC Excel Query Data - Windows

클릭 파일 -> Microsoft Excel로 데이터 반환 쿼리가 완료되면 스프레드시트로 데이터를 반환합니다.

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

작성자

게시자 닉 라보이

닉 라보이는 최신 웹 및 모바일 개발 기술을 옹호하는 사람입니다. 그는 Java, JavaScript, Golang 및 Angular, NativeScript, Apache Cordova와 같은 다양한 프레임워크에 대한 경험이 있습니다. Nic은 웹 및 모바일 개발을 보다 쉽게 이해할 수 있도록 자신의 개발 경험에 대해 글을 쓰고 있습니다.

댓글 하나

  1. 훌륭한 튜토리얼을 제공해 주셔서 감사합니다, Nic! 한 가지 수정 사항: Couchbase가 실행되는 호스트 이름을 지정할 때 \'host\' 키 대신 \'server\' 키를 사용해야 합니다. 다른 키와 사용 가능한 값은 드라이버와 함께 제공되는 드라이버 설치 가이드에 나와 있습니다. 감사합니다!

    1. 피드백을 보내주셔서 감사합니다!

      찾은 드라이버 설치 가이드를 공유해 주시겠어요? 이 특정 드라이버에 대한 가이드는 보지 못했지만 제가 놓쳤을 수도 있습니다.

      최고,

      1. 이 가이드는 드라이버와 함께 \'/opt/simba/couchbaseodbc/Simba ODBC 드라이버 for Couchbase 설치 가이드.pdf\'에 설치됩니다. Simba의 블로그에 언급된 다운로드 위치에서 별도로 다운로드할 수도 있습니다:

        1. 제 가정은 그것이 Mac OS 경로라고 가정합니다. 내 Mac에서는 경로가 존재하지 않습니다. 제 옵션은 다음과 같습니다:

          /옵트/심바/카우치베이스odbc/ErrorMessages/
          /opt/simba/couchbaseodbc/Setup
          /opt/simba/couchbaseodbc/Tools
          /opt/simba/couchbaseodbc/lib

          PDF 파일로 이동하지 않는 것 같습니다. 어떤 버전의 드라이버를 설치하셨나요? 또한 블로그 게시물과 관련하여 링크가 끊어졌는지 잘 모르겠습니다. 제가 찾은 블로그 게시물에서 가이드로 연결되는 링크를 찾을 수 없었습니다.

          모든 피드백에 감사드립니다. 향후 독자들에게 큰 도움이 될 것이므로 대단히 감사합니다 :-)

          최고,

          1. 예, PDF 파일의 전체 Mac OS X 경로입니다. 가이드는 \'/opt/simba/couchbaseodbc/\' 디렉토리(최상위 레벨)에 있어야 합니다. 저는 Simba의 블로그에 언급된 드라이버의 최신 버전(v.1.0.0.0004)을 사용했습니다. 가이드는 이 링크에서도 확인할 수 있습니다: https://simba.app.box.com/s/fm...

  2. Excel에서 테이블/버킷 대신 카우치베이스 뷰를 쿼리할 수 있는지 궁금합니다. 가능하다면 방법을 알려주시겠어요? 고마워요

    1. 시한 비이코글루 8월 11, 2015에서 9:03 오후

      ODBC/JDBC 드라이버를 통해서만 N1QL 기반 쿼리를 실행할 수 있으며, N1QL은 N1QL CREATE INDEX 문을 통해 생성된 뷰에 액세스할 수 있습니다. 그러나 현재로서는 뷰 API를 통해 생성된 맵 축소 뷰를 ODBC/JDBC로 쿼리할 수 없습니다.
      고마워요

      1. 빠른 답변 감사합니다. N1QL CREATE INDEX를 사용하여 수행하는 방법에 대한 예가 있나요?

        1. 시한 비이코글루 8월 12, 2015에서 5:26 오전

          뷰를 사용하여 bucket_name(...)에 인덱스 index_name을 생성합니다;

          1. 이 문장을 실제로 어디에 작성해야 하나요? 보기를 만들 때 다음과 같은 Couchase로 이동합니다. https://localhsot:8091 - 보기를 클릭한 다음 개발 보기 만들기를 클릭합니다. Couchbase에서 N1QL을 어디에서 작성할 수 있나요? 고마워요

          2. 시한 비이코글루 8월 12, 2015에서 3:59 오후

            도움이 될 만한 몇 가지 링크가 있습니다;
            - 명령줄을 통해 이 작업을 수행하려면 CBQ라는 도구를 사용할 수 있습니다: https://docs.couchbase.com/4.0/...

            - 인덱스 생성 구문 : https://docs.couchbase.com/4.0/...

            다음 버전에서는 N1QL 쿼리를 위한 더 많은 그래픽 도구를 추가할 예정입니다.

            고마워요
            -cihan

          3. 여전히 약간 혼란스럽습니다. CBQ를 통해 인덱스 만들기를 사용할 때 뷰를 만드는 건가요? 아니면 이미 만든 뷰를 쿼리하는 건가요?

            CBQ에서 인덱스가 생성되면 Excel에서 인덱스에 액세스하려면 어떻게 해야 하나요?

            정말 처음 접하는 일이라 죄송합니다.

          4. 확실히 해두자면

            CBQ에서 다음을 실행하나요?

            인덱스 생성 맥주-샘플-유형-인덱스 켜기 맥주 샘플(유형) GSI 사용;

            그렇다면 Excel에서 다음과 같이 액세스하나요?
            SELECT * FROM system:indexes WHERE name=\"beer-sample-type-index\";

            다시 한 번 감사드립니다.

          5. 이제 알 것 같습니다. 인덱스는 SQL Server 인덱스와 마찬가지로 성능과 관련이 있습니다. "N1QL CREATE INDEX를 통해 생성된 뷰"라고 하셨을 때 혼란스러웠습니다.

            하지만 이런 식으로 쿼리할 수 없기 때문에 실제로는 그런 뷰가 아닙니다:
            SELECT * FROM \"beer-sample-type-index\"

            그렇다면, 제가 뷰를 사용하는 이유는 json 파일이 매우 복잡하고 노드가 많기 때문에 이를 평평하게 만들고 뷰로 저장해야 Excel에서 쉽게 쿼리할 수 있기 때문에 INDEX가 도움이 될 것 같지 않습니다.

            제 말이 맞나요? 감사합니다

          6. 시한 비이코글루 8월 14, 2015에서 4:55 오후

            요약하자면, cbq는 모든 N1QL 문을 전달할 수 있는 명령줄 도구입니다. CREATE INDEX 또는 SELECT는 모두 cbq 명령줄 도구를 통해 작동합니다. 엑셀을 통해서도 이 모든 기능을 사용할 수 있지만, 이를 위해서는 별도의 ODBC 드라이버를 다운로드해야 합니다.

            평탄화는 N1QL 문을 통해 수행할 수 있습니다(예: unnest 참조). 따라서 항목을 엑셀에 노출하기 전에 항목을 평탄화하는 데 도움이 되는 문을 작성할 수 있습니다.

            Simba는 ODBC 드라이버를 소유하고 있습니다. 이 게시물에서 ODBC 드라이버 플랫화 기능에 대한 의견을 Simba 직원에게 요청할 것입니다.

          7. 트레버 맥파일 8월 17, 2015에서 3:49 오후

            Cihan이 말했듯이 N1QL은 (관리 콘솔을 통해 생성된) 뷰 유형을 쿼리할 수 없습니다. 따라서 ODBC 드라이버도 이러한 뷰에 액세스할 수 없습니다. 베타 버전의 드라이버에서는 UNNEST 작업을 사용하여 N1QL 쿼리를 실행하여 원하는 것과 같은 결과 집합을 얻을 수 있습니다.

            중첩을 해제하지 않으면 드라이버가 결과를 수신할 때 이 작업을 시도합니다. 예를 들어 SELECT * FROM 맥주 샘플 어디 유형=\'brewery\'를 입력하면 드라이버에서 평활화로 인해 여러 열이 표시됩니다: \"geo|accuracy\", \"geo|lat\", \"geo|lon\" 및 \"address[0]\". 여기에는 주소 열이 하나만 있지만 일부 문서에는 주소 배열에 두 개의 항목이 있는 것을 볼 수 있습니다. 이는 결과 구조가 가장 먼저 보이는 문서를 기반으로 하기 때문입니다. 따라서 직접 N1QL 쿼리를 실행하려는 경우 미리 UNNEST하는 것이 좋습니다.

            하지만 상황은 점점 나아지고 있습니다. 곧 출시될 ODBC 드라이버 정식 버전에는 문서의 여러 부분을 나타내는 가상 테이블로 데이터의 정규화된 보기를 표시하는 기능이 추가될 예정입니다. 그런 다음 표준 SQL을 사용하여 다양한 SQL 지원 도구에서 데이터를 쿼리할 수 있습니다. 맥주 샘플을 예로 계속 사용하면 맥주, 양조장, 양조장_주소라는 세 개의 테이블이 생깁니다. 위에서 언급한 세 개의 지역 열은 맥주 테이블의 일부로 유지되지만, 주소 속성은 맥주 테이블의 연결된 키 열과 조인할 수 있는 키 열이 있는 자체 테이블을 갖게 됩니다.

            그리고 맥주 샘플의 주소 배열과 같은 단순한 문자열 배열에만 국한되지 않습니다. travel-sample에서는 일정 개체의 세 부분인 날, 항공편, 기타에 대한 열이 있는 route_schedule 테이블을 얻습니다. 그리고 다시 각 테이블의 키 열을 통해 경로 테이블에 조인할 수 있습니다.

            이 정규화 과정도 사용자 정의할 수 있습니다. 브루어리 테이블에 주소[0] 및 주소[1] 열을 포함하지 않으려는 경우, 브루어리 테이블의 정의를 편집하여 해당 열을 추가할 수 있습니다.

  3. Mac에서 오픈 오피스를 성공적으로 사용한 사람이 있나요? odbc 연결과 오픈 오피스 데이터베이스를 사용하여 연결은 정상적으로 만들 수 있지만 쿼리 실행이 중단되고 충돌이 발생합니다.

    1. 쿼리를 더 작은 결과 집합으로 제한하면 어떻게 되나요?

  4. Cdata Software는 Microsoft Excel에서 직접 라이브 Couchbase NoSQL 데이터베이스에 연결할 수 있는 강력한 도구인 Couchbase Excel 애드인(Add-In)을 개발했습니다. Excel을 사용하여 Couchbase를 읽고, 쓰고, 업데이트할 수 있습니다. 대량 가져오기/내보내기/업데이트, 데이터 정리 및 중복 제거, Excel 기반 데이터 분석 등에 적합합니다!

    https://www.cdata.com/drivers/couchbase/excel/

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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