카우치베이스 애널리틱스

NoSQL 시대의 분석 탐색

NoSQL 데이터베이스 시스템은 10년 이상 확고한 입지를 다져오며 OLTP 데이터베이스 영역에서 상당한 시장 점유율을 확보하고 있습니다. 확장성 및 가용성과 같은 핵심 요소와 함께 유연한 스키마 설계 및 향상된 성능을 통해 민첩한 개발을 강력하게 지원한다는 점이 OLTP 사용 사례에 NoSQL 데이터베이스가 빠르게 채택된 원인으로 꼽힙니다.

최신 애플리케이션 개발자를 위한 애자일 개발 관행의 초석은 문서 모델이 제공하는 유연성에 있으며, 이를 통해 진화하는 비즈니스 요구사항에 신속하게 적응할 수 있습니다. 이를 통해 개발자는 데이터베이스 관리자에 대한 의존성에서 효과적으로 벗어날 수 있으며, 병목 현상과 엔터프라이즈 데이터베이스 변경 기간을 준수해야 할 필요성을 없앨 수 있습니다.

JSON 스키마가 있는 샘플 라이브러리 애플리케이션을 예로 들어 보겠습니다.

라이브러리 애플리케이션에 책의 장르를 도입하는 것은 애플리케이션 개발자에게는 간단한 작업입니다. 여기에는 다음과 같은 새 배열 필드를 추가하는 간단한 조정이 수반됩니다. 장르 를 문서에 추가할 수 있습니다. 하나의 책이 여러 장르에 속할 수 있다는 점을 고려할 때, 이 유연한 접근 방식은 책 분류의 역동적인 특성을 손쉽게 수용합니다.

데이터 수명 주기가 OLTP 애플리케이션으로 끝날까요? 분명한 대답은 '아니오'입니다.

많은 OLTP 애플리케이션은 실시간 분석, 데이터 마트, 데이터 웨어하우스 또는 데이터 레이크와 같은 다운스트림 분석 시스템으로 원활하게 흘러들어갑니다. 그러나 전 세계 대부분의 분석 데이터베이스 시스템은 관계형 데이터베이스 모델을 기반으로 구축되어 저장된 데이터에 고정된 표 형식의 관계형 형식을 기대하기 때문에 상당한 문제가 발생합니다. 

각 문서가 고유한 스키마를 가질 수 있고 문서가 중첩된 문서나 배열을 캡슐화할 수 있는 문서 모델을 갖춘 유연한 스키마를 갖춘 업스트림 OLTP NoSQL 데이터베이스 시스템에서는 이러한 다양한 데이터를 관계형 세계로 다시 변환하는 데 상당한 ETL(추출, 변환, 로드) 과제가 발생합니다. 하지만 이 문제는 ETL 문제에만 국한되지 않습니다. 

OLTP 애플리케이션에서 스키마 및 문서 모델 지원의 유연성은 개발자가 더 이상 데이터베이스 관리자(DBA)와 데이터베이스 변경 사항을 조율할 필요가 없어 애플리케이션 스키마를 빠르고 동적으로 진화시킬 수 있다는 것을 의미합니다. 반면, 본질적으로 관계형인 다운스트림 시스템은 스키마의 지속적인 진화를 따라잡는 데 어려움을 겪습니다. 이 문제를 설명하기 위해 라이브러리 애플리케이션의 예를 다시 살펴보겠습니다.

이 라이브러리 애플리케이션에 기본 관계형 분석 데이터베이스가 있다고 가정하면 스키마는 다음과 같이 보일 것입니다.

예약 테이블

book_id title 작성자
1 위대한 개츠비 F. 스콧 피츠제럴드

게시자 표

게시자_ID 이름
1 Scribner 1925
2 빈티지 도서 1995

도서_출판사 테이블

book_id 게시자_ID
1 1
1 2

간단한 추가 사항을 전달해야 하는 경우 장르 필드에 있는 문서를 다운스트림 분석 시스템으로 전송하는 과정에는 다음이 포함됩니다.

2개의 새로운 테이블을 소개합니다: 장르 그리고 도서_장르.

장르 표

장르_ID 이름
1 소설
2 클래식

Book_장르 표

book_id 장르_ID
1 1
1 2

또한 관계형 분석 시스템에 데이터를 공급하는 ETL 애플리케이션은 관계형 분석 시스템에서 장르 배열을 생성하고 결과 정보를 모든 문서의 해당 테이블에 채웁니다.

위에 제공된 예시를 통해, 실시간 분석 애플리케이션을 구축하고 업스트림 OLTP NoSQL 데이터베이스의 동적 변경 사항과 동기화하는 것이 관계형 분석 시스템에 어려움을 초래한다는 것을 알 수 있습니다. 이러한 어려움에도 불구하고, 특히 업스트림 OLTP 시스템이 NoSQL 문서 지향적인 성격으로 기울어져 있는데도 기업들이 관계형 분석 시스템을 계속 구축하는 이유는 무엇일까요? 이에 대해 더 자세히 알아보기 위해 분석용으로 설계된 데이터베이스 시스템을 뒷받침하는 기본 원칙을 살펴보겠습니다.

분석 쿼리에는 복잡한 조인, 집계 및 여러 계층의 필터링이 포함된 광범위한 데이터 집합을 처리해야 하는 경우가 많습니다. 이러한 작업 중 상당수는 서버 네트워크에서 병렬로 실행하면 상당히 신속하게 처리할 수 있습니다. 이를 위해서는 분석용으로 설계된 데이터베이스 시스템이 견고한 대규모 병렬 처리 기능을 통해 여러 물리적 서버에 쿼리 계획을 분산하여 쿼리 실행 속도를 향상시킬 수 있습니다.

분석 쿼리는 일반적으로 전체 데이터 집합에서 특정 열의 하위 집합을 검색하는 데 중점을 둡니다. 따라서 열 중심 데이터베이스 는 I/O 작업을 최적화하기 때문에 분석 사용 사례에서 선호됩니다. 이러한 데이터베이스는 쿼리와 관련된 열만 선택적으로 가져옴으로써 디스크에서 모든 열 정보를 검색할 필요성을 최소화하여 쿼리 성능을 더욱 효율적으로 향상시킵니다.

분석 쿼리는 본질적으로 복잡하며 여러 가지 잠재적인 실행 계획을 산출할 수 있습니다. 분석을 위한 데이터베이스 시스템의 영역에서는 이러한 시스템이 규칙 기반 계획을 넘어서는 것이 가장 중요합니다. 비용 기반 쿼리 최적화 도구. 이 최적화 도구는 다양한 비용 요소를 고려하여 가장 효율적인 쿼리 계획을 식별하고 복잡한 분석 쿼리를 최적으로 실행하는 데 중요한 역할을 합니다.

분석 데이터베이스는 수평적 확장성을 위해 설계되어 기존 데이터베이스 클러스터에 컴퓨팅 리소스를 원활하게 추가할 수 있습니다. 이러한 확장성은 쿼리 런타임을 줄이고 추가 쿼리를 수용하는 데 도움이 됩니다. 특히 컴퓨팅 리소스의 신속한 추가 및 제거가 가능한 클라우드 환경에서는 다음을 강조하는 분석 데이터베이스 아키텍처를 채택하는 것이 필수적입니다. 스토리지-컴퓨팅 분리. 이 설계는 데이터베이스 클러스터의 신속한 확장 또는 축소를 용이하게 하여 다양한 워크로드에 대한 적응성을 보장합니다.

역사적으로 NoSQL 문서 지향 데이터베이스는 분석 데이터베이스 시스템에 필요한 위의 네 가지 필수 원칙을 충족하지 못했습니다. 따라서 기업들은 업스트림 OLTP 데이터베이스가 NoSQL 접근 방식을 채택한 경우에도 분석 시스템에 관계형 데이터베이스를 계속 사용했습니다. 이러한 결정은 앞서 설명한 한계에 따른 것이었습니다.

Couchbase Analytics to the rescue!

Couchbase Analytics stands as a NoSQL Document-oriented, Storage-Compute Separated, Massively Parallel Columnar Database Cloud Service equipped with an integrated Cost-Based Optimizer. Addressing all the crucial principles of a high-performance analytical database, Couchbase Analytics preserves the beloved Flexible Document-Oriented data model. Empowering enterprises to construct real-time analytical systems, it significantly reduces the ETL effort and time required for ingesting data from upstream NoSQL OLTP databases. Moreover, it ensures that analytical applications stay synchronized with the most recent business data arriving from upstream transactional systems.

Learn more about how Couchbase Analytics addresses your needs:

 

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

작성자

게시자 산토시 헤그데

엔지니어링 디렉터 - 핵심 R&D 카우치베이스

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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