카우치베이스 서버

카우치베이스 및 Knowi를 사용한 데이터 시각화

참고: 이 게시물은 버전 5.5 프리뷰 릴리스 기준의 Couchbase Analytics 데이터 정의 언어를 사용합니다. 최신 버전의 업데이트 및 주요 변경 사항에 대한 자세한 내용은 다음을 참조하세요. 카우치베이스 애널리틱스 서비스 변경 사항.

데이터 시각화 및 보고는 의사 결정자가 분석의 패턴과 개념을 파악하는 데 도움이 될 수 있습니다. Couchbase Analytics(현재 개발자 프리뷰 버전)는 원활한 NoETL 체험(동영상) 를 사용하여 강력한 쿼리로 데이터를 분석할 수 있습니다. Knowi 는 클라우드 기반 보고 및 시각화 도구로, Couchbase와 통합됩니다. 이러한 도구는 함께 작동하여 강력하고 쉬운 데이터 시각화를 제공할 수 있습니다.

이전에 블로그에 소개한 것처럼 신시내티 레즈(Couchbase 고객사)는 Apache NiFi를 사용하고 있습니다. 를 사용하여 기업의 데이터를 Couchbase 클러스터로 처리하고 있습니다. 그들이 Couchbase로 탐색하고 있는 많은 사용 사례 중 하나는 실시간 대시보드를 만드는 것입니다. 이 대시보드는 무엇보다도 게이트가 열리고 티켓이 스캔되기 시작한 후 야구장의 데이터 시각화를 보여줄 수 있습니다.

이 실시간 데이터 시각화는 야구장의 패턴을 보여주고, 티켓 소지자가 언제 나타나고 어디로 가는지 파악하는 데 도움이 될 수 있습니다.

이 블로그 게시물에서는 신시내티 레즈의 홈 경기가 열리는 그레이트 아메리칸 볼 파크의 데이터 시각화를 제공하기 위해 Couchbase와 Knowi를 실제로 사용한 예를 보여드리겠습니다. 이 게시물에서 보여드리는 것은 레드삭스가 사용하는 것과 정확히 일치하는 것은 아니며, 단순화된 것입니다.

Couchbase의 데이터

레드삭스는 구간, 열, 좌석 번호를 지도 그래픽의 특정 지점과 일치시키는 정교한 매핑 시스템을 갖추고 있습니다. 하지만 이 블로그 게시물에서는 Google 지도의 위도와 경도를 사용하겠습니다.

제가 작업하고 있는 데이터는 티켓 소지자의 이름, 지리적 좌표, 지리적 좌표로 구성된 단순화된 문서입니다. 유형 필드에 입력합니다. 예제 문서입니다:

일반적으로 매핑 데이터는 분리되어 있고 티켓 스캔을 통해 즉석에서 조인될 수 있을 것으로 예상합니다. 하지만 이미 그런 작업이 완료되었다고 가정해 봅시다. 하나의 문서에 필요한 모든 것이 있습니다.

위와 같은 문서가 들어 있는 '티켓'이라는 버킷을 만들었습니다. 프로덕션 환경에서는 야구 경기가 진행되는 동안 이 버킷으로 데이터가 계속 유입됩니다(아마도 NiFi를 통해). 실제로 저는 최근에 한 경기에 참석하여 주말 경기의 피크 시간대에 게이트를 통과하고 티켓을 스캔하는 동안 이 시스템을 테스트하는 데 도움을 주었습니다.

카우치베이스 애널리틱스

Knowi는 이 버킷에 직접 연결하여 리포팅을 시작할 수 있습니다. 그러나 이 상황에서는 Couchbase Analytics를 사용하는 것이 더 나을 수 있습니다. Couchbase Analytics를 사용하면 더 복잡한 쿼리에 대한 인덱스 작성에 대해 걱정할 필요가 없으며, 운영 버킷에 대한 성능 영향을 줄일 수 있습니다.

Couchbase 애널리틱스를 시작하려면 Couchbase를 설치할 때 애널리틱스 서비스를 활성화했는지 확인하세요. 애널리틱스 서비스가 '서버' 탭에 표시되어야 합니다:

Analytics service enabled on Couchbase

다음으로 '애널리틱스' 탭으로 이동합니다. 일반적인 N1QL 쿼리 워크벤치와 매우 유사한 화면이 표시됩니다.

애널리틱스 설정

시작하기 위한 간단한 세 단계가 있습니다.

먼저 분석 버킷을 만듭니다. 이 버킷은 일반 Couchbase 버킷에 해당합니다. 다음과 같은 명령을 입력하기만 하면 됩니다: 티켓 분석 버킷을 {"name":"tickets"}로 만듭니다;

다음으로, 해당 버킷 내에서 데이터 집합을 정의합니다. 해당 데이터 집합에 어떤 문서를 넣을지 지정할 수 있습니다. 어디 절을 추가합니다. 예시:

이것은 "섀도"로, Couchbase 버킷의 실시간 복사본(하위 집합)입니다.

마지막으로 명령어를 한 번 더 사용하여 섀도잉을 시작하세요: 연결 버킷 티켓분석;

이 시점에서 Couchbase 버킷 "tickets"의 티켓 스캔 문서가 Analytics 버킷 "ticketsAnalytics"로 복사되기 시작합니다.

즉시 시작됩니다. 다음과 같은 쿼리를 실행할 수 있습니다. 티켓 스캔에서 *를 선택합니다; 를 클릭하여 애널리틱스에서 데이터를 확인합니다.

페이지 오른쪽 상단의 '버킷 인사이트'에서도 이 설정의 시각적 표현을 볼 수 있습니다.

Bucket insights for Analytics

현재 애널리틱스는 아직 개발자 프리뷰 단계이며, 위 단계는 일반 릴리스(현재 올해 말 예정) 이후 변경될 수 있습니다.

Knowi 에이전트 설정(선택 사항)

14일 무료 평가판을 만들 수 있습니다. Knowi.

Knowi는 클라우드 기반이므로 아무것도 다운로드할 필요가 없습니다. 브라우저에서 바로 보고서와 시각화를 작성할 수 있습니다.

그러나 Couchbase 클러스터가 인터넷에 노출되어 있지 않거나 VPN 터널이 설정되어 있지 않은 경우에도 네트워크에서 Knowi 에이전트를 실행하여 Knowi를 사용할 수 있습니다. 이렇게 하면 Knowi가 데이터에 쉽게 액세스할 수 있습니다. 제 로컬 Couchbase 클러스터는 인터넷에 노출되어 있지 않기 때문에 Knowi 에이전트를 다운로드하기만 하면 됩니다:

Download Cloud9 Agent for Knowi

config 폴더에 데이터 소스 JSON 파일을 만들어야 합니다. 이 작업은 /example 폴더에 수많은 예제 파일이 있기 때문에 매우 쉽습니다. Couchbase의 경우 datasource_example_couchbase.json. 로컬 클러스터의 경우 이러한 내용으로 파일을 만들었습니다:

여기서는 분석 사용 권한이 있는 "matt"라는 사용자를 Couchbase에서 생성했다고 가정합니다.

에이전트에는 몇 가지 편리한 셸 스크립트와 배치 파일이 함께 제공됩니다. 서비스로 실행하거나 제가 한 것처럼 직접 실행할 수 있습니다. run.bat 를 실행하여 에이전트를 시작합니다. 이 시점에서 Knowi는 에이전트를 통해 Couchbase 클러스터와 통신할 수 있습니다.

Knowi에서 데이터 소스 설정

이제 Knowi.com UI로 돌아갑니다. 새 데이터 소스를 만듭니다. 원하는 이름을 지정할 수 있습니다. 저처럼 에이전트를 사용하는 경우에는 "localhost"를 데이터 소스로 설정합니다. 버킷 이름도 "tickets"으로 지정했습니다. 사용자 자격 증명을 입력했습니다. 애널리틱스의 경우 "데이터버스"를 지정해야 합니다. 기본적으로 이미 "기본" 데이터버스를 사용할 수 있습니다.

마지막으로 '내부 데이터 소스' 확인란을 선택합니다. 에이전트가 제대로 작동하고 있으면 드롭다운이 표시되고 에이전트를 선택할 수 있습니다. 에이전트를 사용하지 않는 경우에는 해당 확인란을 선택하지 마세요.

New Couchbase

이 시점에서 이 데이터 소스를 사용하여 1개 이상의 Knowi 데이터 피드를 만들 수 있습니다.

Knowi 데이터 피드

Knowi의 데이터 피드/데이터 집합은 쿼리와 유사합니다. 다음은 Couchbase에서 티켓 정보를 얻기 위해 만든 (매우 간단한) 데이터 피드입니다.

Knowi data feed

Knowi는 기본적으로 N1QL을 지원합니다. 데이터 피드를 만들 때 Couchbase의 N1QL 언어의 모든 기능을 사용할 수 있습니다. 제 쿼리는 데모를 위해 아주 간단한 쿼리입니다.

Knowi 위젯

마지막으로 Knowi 위젯을 만들 수 있습니다. 위젯은 개별 보고서 또는 데이터 시각화입니다. 다양한 위젯을 사용할 수 있으며 위젯을 사용자 지정하고 결합할 수도 있습니다. 여기서는 간단하게 하나의 위젯을 만들어 보겠습니다. "새 위젯+"를 클릭한 다음 이전 섹션에서 만든 데이터 집합을 선택합니다.

다음으로 위젯 옆에 있는 '설정' 톱니바퀴를 클릭합니다. 보고 및 데이터 시각화를 위한 다양한 옵션이 있습니다. 꼭 확인하시고 실험해 보세요. 저는 '지리적 히트맵'을 선택했습니다.

Geo heatmaps in Knowi

중심 위도 및 중심 경도(39.097208,-84.506530)로 그레이트 아메리칸 볼 파크의 가운데를 선택하고 줌 레벨을 높게 설정했습니다. 반경은 히트맵의 스폿을 얼마나 크게 표시할지를 나타냅니다. 저는 야구장의 좌석에 해당하므로 비교적 작은 값인 5를 입력했습니다.

여기까지입니다. 위젯을 저장합니다. 눈알 아이콘을 클릭하여 미리 보기를 확인합니다. 다음은 제 카우치베이스 버킷에 총 6개의 티켓만 있는 미리보기입니다.

Geo heatmap data visualization preview

데이터 시각화 대시보드

마지막으로 이 데이터 시각화가 포함된 대시보드를 만들어 보겠습니다. Knowi 대시보드로 이동하여 "대시보드에 위젯 추가"를 클릭하고 위젯을 선택합니다. 그런 다음 위젯의 크기를 조정하고 이동할 수 있습니다. 더 완벽한 대시보드를 위해 다른 위젯을 추가할 수 있습니다. Reds는 비주얼라이제이션 자체를 보는 것만으로는 충분하지 않습니다. 또한 어떤 섹션이 가장 붐비는지, 일정 기간 동안 얼마나 많은 티켓이 스캔되었는지 등 전반적인 추세에 대한 보고를 원합니다.

나는 NET 프로그램(여기에서 소스 코드 제공) 를 클릭하여 무작위로 티켓을 추가하기 시작했습니다. 이 데이터 시각화의 실시간 업데이트를 보고 싶었습니다. 제 예제는 완전히 정확하지 않습니다: 모든 좌석을 위도와 경도에 직접 매핑하는 데 시간을 들이고 싶지 않았기 때문입니다. 하지만 아이디어를 얻기에 충분히 근접합니다.

Realtime data visualization

(이 클립은 샘플 프로그램이 실행되는 5분 동안의 영상을 30초로 압축한 것입니다.)

분포는 무작위이며 두 개의 임의의 박스형 영역 내에 있습니다. 이 부분은 신시내티 레즈가 실제로 데이터를 더 효율적인 좌석 맵에 매핑하는 데 더 많은 전문 지식을 가지고 있는 부분이지만, 여러분이 아이디어를 얻을 수 있기를 바랍니다.

위와 같이 데이터 시각화가 실시간이 되려면 에이전트를 사용할 수 없습니다. 데이터 피드를 만들 때 '직접 쿼리' 확인란이 표시되도록 Knowi에 직접 액세스 권한을 부여해야 했습니다(그래서 저는 Microsoft Azure의 Couchbase).

이 특정 비주얼리제이션은 유틸리티 회사의 실시간 정전 지도에도 유용할 수 있습니다. 인터넷, 전력, 가스 또는 전화 정전을 지도에서 보고하는 대시보드를 만들 수 있습니다.

다음 단계는 무엇인가요?

이 게시물에서는 Knowi와 Couchbase Analytics를 사용하여 실시간 데이터 시각화 구축을 시작하는 것이 얼마나 쉬운지 살펴보았습니다.

Couchbase는 N1QL의 유연성과 메모리 우선 아키텍처의 성능을 제공하며, Knowi는 데이터 시각화 및 대시보드 기능을 제공합니다.

Knowi는 무료 평가판을 제공한다는 점을 기억하세요. 저는 이 Reds 프로젝트에서 Knowi와 짧은 시간 동안만 함께 일했지만, 그들의 지원이 도움이 되고 반응이 좋았으며 문서가 완전하고 유용하다는 것을 알았습니다.

다음 단계는 다음과 같습니다:

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

작성자

게시자 매튜 그로브스

Matthew D. Groves는 코딩을 좋아하는 사람입니다. C#, jQuery, PHP 등 무엇이든 풀 리퀘스트를 제출할 정도로 코딩을 좋아합니다. 90년대에 부모님의 피자 가게를 위해 QuickBASIC POS 앱을 만든 이후로 전문적으로 코딩을 해왔습니다. 현재 Couchbase의 선임 제품 마케팅 관리자로 일하고 있습니다. 여가 시간에는 가족과 함께 축구 경기를 관람하고 개발자 커뮤니티에 참여하며 시간을 보냅니다. 그는 .NET의 AOP, .NET의 프로 마이크로서비스, Pluralsight 저자, Microsoft MVP의 저자이기도 합니다.

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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