많은 통계 데이터 분석가와 데이터 과학자가 R 프로그래밍 언어 를 사용하여 데이터베이스 외부에서 수치를 분석합니다. 마찬가지로 데이터베이스 분석가들은 단일 소스를 유지하기 위해 가능한 한 동일한 데이터베이스에서 모든 작업을 수행하려고 노력합니다. Couchbase는 JSON 데이터 세트, 강력한 쿼리 언어, R과 같은 분석 도구 세트 간의 격차를 해소하기 위한 공통 기반을 제공합니다. 

분산된 내결함성 및 유연한 스키마는 기업이 Couchbase를 선택하는 이유 중 일부에 불과합니다. 자세히 알아보려면 다음을 참조하세요. 기업이 NoSQL을 사용하는 이유 차세대 제품을 제공하기 위해 노력하고 있습니다.

그리고 카우치베이스 SDK 는 가장 인기 있는 프로그래밍 언어를 다룹니다: Java, .NET, Node.js, Go 등을 지원합니다. 하지만 REST API를 쉽게 사용할 수 있으므로 R을 위한 특정 드라이브를 제공할 필요가 없습니다.

이 글에서는 이전 블로그의 R 프로그래밍 튜토리얼을 다시 부활시켜 최신 Couchbase 버전에서 R이 어떻게 작동하는지 살펴봅니다. 예제에서는 JSON 데이터에 대해 표 형식의 N1QL/SQL 쿼리를 실행하는 방법과 일부 데이터의 결과 위치를 매핑하는 방법을 보여줍니다. 지리공간 데이터

R이란 무엇인가요?

R은 SAS 및 SPSS와 같은 독점 제품과 유사한 오픈 소스 통계 컴퓨팅 및 그래픽 도구 세트에 대한 필요성을 충족합니다. 여기에는 특히 과학 문서에 게시할 수 있는 그래픽 플롯에 적합한 통계 분석 및 그래픽 시각화가 포함됩니다.

통계 분석에 있어 R이 Python보다 낫다고 할 수 있을까요? 이는 논쟁의 여지가 있지만, 많은 옹호자가 있습니다. 실제로 많은 개발자가 가장 많이 사용하는 분석 환경일 수 있습니다. 절대 사용. In 하나의 글로벌 R 프로그래밍 구인 프로젝트에 따르면 R 프로그래밍은 Python, SQL, Java, Amazon ML에 이어 5위를 차지했습니다. 통계 데이터 분석 툴셋의 경우 C/C++, Tableau, Hadoop, 심지어 SAS보다 약간 높았습니다.

이를 통해 생성된 에코시스템은 강력한 분석, 시계열 분석, 시각화 기능 등을 추가하는 수만 개의 패키지를 제공합니다. 솔루션 구축을 위한 여러 가지 IDE가 존재하며, 이 게시물에서는 다음과 같은 것을 사용합니다. R 스튜디오 (이 글을 쓰면서 처음으로 쉽게 사용했습니다).

카우치베이스 설정

기본 Couchbase 서버 설치에는 이 튜토리얼에 필요한 모든 것이 포함되어 있습니다. 단일 노드에 설치하는 것이 좋으며, 이상적으로는 R Studio와 함께 사용 중인 PC에 설치하는 것이 좋습니다. localhost. Couchbase 7.x 베타 버전을 사용하고 있습니다.

설치가 완료되면 새 버킷이 있는 여행 샘플 데이터 세트 를 클릭하고 해당 버킷에 액세스할 수 있는 새 사용자를 만듭니다.

R Studio 설정

다음, R 설치 를 클릭한 다음 R Studio 데스크톱 (무료 버전)을 모든 기본 옵션과 함께 설치합니다. 설치가 완료되면 R Studio를 시작하고 도구 -> 패키지 설치 를 클릭하고 이 네 가지를 설치합니다: HTTR, JSONLITE, GGPLOT2, 리플렛.

또는 R 코딩 콘솔에서 다음 코드를 실행할 수 있습니다:

R Studio가 사라지고 여러 가지 기본 종속성을 설치합니다. 실행되는 동안 다음 단계를 계속 진행할 수 있습니다.

카우치베이스에서 N1QL 쿼리 테스트하기

R 프로그래밍 코드를 시작하기 전에 쿼리 탭을 사용하여 쿼리를 테스트해 보겠습니다. 카우치베이스 웹 콘솔.

이전에 JSON 작업을 해본 적이 있다면 익숙한 구문을 사용하여 Couchbase의 문서에서 쿼리하는 것이 얼마나 간단한지 알 수 있습니다.

결과는 샘플 데이터베이스에 있는 상위 20개 항공사와 각 항공사의 항공편 수를 보여줍니다.

R 코딩 N1QL 쿼리

콘솔의 스크립트 상단에 있는 라이브러리 요구 사항을 설정하여 R 프로젝트를 설정합니다:

쿼리를 작성하고 데이터 응답을 처리하기 위해 몇 가지 변수를 생성합니다.

먼저 URL, 포트, 이전에 생성한 사용자 아이디와 비밀번호를 포함하여 Couchbase에 대한 연결 정보가 제공됩니다:

그런 다음 쿼리를 자체 변수로도 인코딩합니다. 필요한 이스케이프 큰따옴표(\")에 유의하세요.

다음은 HTTP 요청을 설정하는 것입니다:

그런 다음 요청에서 실제 응답을 수신하고 데이터를 저장할 변수에 할당합니다:

 

Couchbase R Programming SQL Query output

그거예요! 

카우치베이스에서 쿼리 결과 시각화하기

이제 데이터 변수를 입력하면 쿼리 결과를 확인할 수 있습니다:

R-Studio는 ggplot 확장 및 몇 가지 설정을 통해 변수의 데이터를 빠르게 볼 수 있는 간단한 방법입니다:

Couchbase R Programming SQL Query chart

이제 쿼리 또는 ggplot 코드를 조정하고 다른 접근 방식을 실험해 볼 수 있습니다.

R 코딩을 사용하여 카우치베이스에서 지리공간 데이터 매핑하기

다른 일부 패키지의 성능은 놀랍습니다. 다음 예제에서는 R 코딩을 사용하여 리플렛 웹 매핑 라이브러리

반려동물 동반이 가능한 호텔을 나열하도록 쿼리를 변경해 보겠습니다. 호텔 데이터에는 지리적 위도 및 경도 개체("geo")가 포함되어 있으므로 쉽게 지도 의 결과를 표시합니다.

몇 가지 간단한 필터와 함께 이름, 위도, 경도를 포함하도록 쿼리를 조정하세요:

Couchbase 웹 콘솔에서 테스트하면 37개의 결과를 얻을 수 있습니다. 그런 다음 이전과 마찬가지로 쿼리를 변수에 넣습니다:

결과는 다음과 비슷하게 표시됩니다:

Couchbase R Programming SQL Query output

지도를 만들기 위해 리플렛 패키지를 사용하고 지도에서 마커 심볼을 찾는 데 사용할 필드를 식별하는 몇 가지 설정을 제공합니다.

R Studio는 코드 편집, 대화형 콘솔, 맵을 포함한 내장 뷰어 구성 요소(이전 차트에서 ggplot이 했던 것처럼)를 사용할 수 있는 풍부한 정보를 제공하는 훌륭한 IDE입니다. 

Couchbase R Programming SQL Query Mapping in Leaflet web map

물론 그에 따라 창 창을 확장할 수도 있습니다:

Couchbase R Programming with Map and Leaflet Web Map

결론

강력한 타사 패키지 세트가 포함된 Couchbase와 R의 유연성은 훌륭한 조합입니다. 애플리케이션 개발자는 데이터를 중앙 데이터베이스에 남겨두고 장애 조치, 분산 처리, 전체 텍스트 검색 및 SQL 분석을 활용할 수 있습니다. 

한편, 동일한 데이터베이스를 여러 개의 오프라인 복사본을 만들지 않고도 데이터에 액세스하기 위해 사용하기 쉬운 API가 필요한 분석가에게 서비스를 제공할 수 있습니다.

이 포괄적인 데이터 플랫폼 접근 방식은 아키텍처를 간소화하는 동시에 안정성과 확장성을 높여야 하는 모든 규모의 기업들에게 지속적으로 인기를 끌고 있습니다.

추가 읽기

작성자

게시자 타일러 미첼 - 선임 제품 마케팅 매니저

카우치베이스에서 선임 제품 마케팅 매니저로 일하면서 제품에 대한 지식을 대중에게 알리는 동시에 가치 있는 콘텐츠로 현장 팀을 지원하고 있습니다. 경력 절반을 GIS 분야에서 일한 그는 지리공간에 대한 개인적인 열정을 가지고 있습니다. 지금은 AI와 벡터 검색을 가장 중요하게 생각합니다.

댓글 하나

  1. 유용한 정보를 제공해 주셔서 감사합니다. 백분율 기호는 어떻게 보내나요(예: 다음과 같이)?


    여기서 meta(d).id LIKE '%something%'

    %를 포함하는 쿼리는 모두 문이 없다는 이유로 실패합니다. 와 이중 %%로 이스케이프해도 문제가 해결되지 않는 것 같습니다. 이것이 R의 문제이며 이를 해결할 방법이 없나요?

    1. Content-Type="application/x-www-form-urlencoded"이므로 본문/쿼리는 URL 인코딩되어야 합니다.

댓글 남기기