이번 주에는 커뮤니티 글쓰기 블로그 게시물의 출처는 닉 캐든헤드
Nick 소프트웨어 엔지니어 출신인 그는 지난 15년간 자신의 기술 전문성을 바탕으로 주요 고객사에 전문 컨설팅 서비스를 제공해 왔습니다. 현재 다음에서 수석 컨설턴트로 일하고 있습니다. 제9회 BIT 컨설팅Nick은 전문 서비스를 포함한 영업 사전 및 사후 지원을 제공하여 영업팀의 신규 계정 개발과 기존 고객 및 파트너 육성을 지원하는 업무를 담당합니다.
Nick의 전문 분야는 미들웨어 통합, 비즈니스 규칙 관리 및 비즈니스 인텔리전스(BI)이며, 특히 프레젠테이션과 데모, 개념 증명 및 파일럿 제공, 기술 지원을 중심으로 합니다. 그는 전략적 관계 구축을 즐기며 폭넓은 기술 지식을 활용하여 고객이 투자를 최대한 활용할 수 있도록 지원합니다. 한동안 저는 카우치베이스와 함께 일해 왔습니다. NoSQL 데이터베이스 솔루션과 지금까지의 여정은 흥미로웠습니다.
사실 저는 데이터베이스 전문가가 아니기 때문에 데이터베이스를 설계, 구축, 유지보수하는 일을 전업으로 해본 적은 별로 없습니다. 하지만 기본은 알고 있습니다. 이 직책을 맡으면서 다음과 같은 '사고방식'을 가질 수 있었습니다. NoSQL 데이터베이스 구조 없음, 트랜잭션 없음, 데이터 비정규화 등과 같은 개념은 SQL 및 관계형 데이터베이스의 구조화된 세계 패러다임과 크게 충돌하지 않고도 사용할 수 있습니다.
영업 엔지니어링 활동을 지원하는 동안 카우치베이스 개념 증명(POC) 참여에는 항상 데이터를 수집해야 하는 요구 사항이 있습니다. 카우치베이스 버킷 (버킷을 관계형 데이터베이스라고 생각하세요)를 사용하여 Couchbase의 기능을 시연하고 강조했습니다. 일반적으로 데이터 수집을 위해서는 Couchbase로 데이터를 수집하기 위해 몇 가지 코드를 작성해야 합니다. 카우치베이스는 개발자가 애플리케이션에서 카우치베이스를 사용할 수 있도록 하기 위해 꽤 많은 SDK(Java, .Net, Node JS 등)를 제공합니다.
그래서 이런 생각이 들었습니다. 왜 항상 코드를 작성하는 대신 Couchbase에 데이터를 수집하는 표준 방법이나 도구가 없을까요? 오해하지 마세요. 코드를 작성하는 것이 잘못된 것은 아닙니다!
그러던 중 스트림셋을 발견했습니다.
스트림세트 는 스트리밍 및 배치 데이터를 빅데이터 저장소로 수집하기 위한 오픈 소스 플랫폼입니다. 원본에서 목적지까지의 데이터 흐름을 처리하기 위한 데이터 '파이프'를 구성하고, 런타임 데이터 흐름 메트릭을 모니터링하며, 데이터 드리프트 처리를 자동화하는 그래픽 웹 기반 콘솔이 특징입니다.
데이터 파이프는 웹 기반 콘솔에서 드래그 앤 드롭 프로세스를 통해 구성됩니다. 파이프는 원본(소스)에 연결하고 데이터를 대상(타깃)으로 수집합니다. 원본과 대상 사이에는 필드 마스킹, 필드 평가, 데이터베이스 또는 Salesforce.com과 같은 외부 클라우드 서비스에서 데이터 조회, 필드에 대한 표현식을 수행하여 데이터 라우팅, JavaScript, Groovy 등을 사용하여 데이터 평가/조작 등을 위한 데이터 변환 단계인 프로세서 단계가 있습니다.
그림 1: 카우치베이스 버킷으로 데이터를 수집하는 스트림셋 파이프라인
따라서 스트림셋은 제 데이터 수집 요구에 맞는 훌륭한 옵션입니다. 오픈 소스이며 즉시 다운로드할 수 있습니다. 데이터베이스부터 플랫 파일, 로그, HTTP 서비스, Hadoop, MongoDB와 같은 빅데이터 플랫폼, Salesforce.com과 같은 클라우드 플랫폼에 이르기까지 데이터 수집을 위한 수많은 기술이 지원됩니다. 하지만 한 가지 문제가 있었습니다. 스트림셋에 사용할 수 있는 기술 데이터 커넥터 목록에 Couchbase가 없다는 것이었습니다. 문제 없습니다! 저는 Couchbase용 데이터 커넥터를 직접 작성하기로 했습니다.
스트림셋의 통합 기능을 확장하기 위해 오픈 커뮤니티에서 사용할 수 있는 데이터 커넥터 Java 기반 API와 온라인 문서 및 가이드를 활용하여 Couchbase용 데이터 커넥터를 매우 빠르게 구현할 수 있었습니다. 커넥터의 초기 빌드는 매우 간단합니다. 단지 JSON 데이터를 카우치베이스 버킷을 사용할 수 있습니다. 시간이 지나면 커넥터가 확장되어 카우치베이스 버킷을 쿼리하고 수집 기능 등이 개선될 예정입니다. 지금은 이 정도면 충분합니다.
스트림셋의 또 다른 장점 중 하나는 데이터 파이프라인 분석입니다. 스트림셋 콘솔의 분석 기능을 통해 사용자는 원본에서 목적지까지 데이터가 어떻게 흘러가는지에 대한 인사이트를 얻을 수 있습니다. Streamsets 콘솔의 표준 시각화는 데이터 파이프라인의 성능에 대한 자세한 분석을 제공합니다. 파이프라인 분석을 통해 데이터가 Couchbase 버킷으로 어떻게 수집되고 있는지 매우 빠르게 알 수 있었고, 데이터 파이프라인의 모든 단계에서 발생한 오류를 강조 표시해 주었습니다. 따라서 스트림셋에서 데이터 파이프라인을 사용하면 코드를 많이 작성하거나 전혀 작성하지 않고도 데이터를 매우 빠르게 Couchbase로 수집할 수 있습니다.
데이터 커넥터는 개방되어 있으며 다음에서 찾을 수 있습니다. Git 허브 링크: