분류

Couchbase Server 4.1 소개

Couchbase가 지원할 수 있는 문서 데이터베이스 사용 사례의 유형을 크게 확장한 획기적인 4.0 릴리스를 기반으로 하는 Couchbase Server 4.1은 쿼리 기능과 성능을 대폭 개선하여 개발자와 기업 모두에게 도움이 될 것입니다.

 

Couchbase Server 4.0이 출시된 지 3개월 만에 출시되는 4.1에는 확장성과 쿼리 성능을 향상시킬 수 있는 200개 이상의 개선 사항이 포함되어 있다는 것은 엔지니어링 팀의 노력의 결과입니다. 4.1 릴리스에서는 다음과 같은 기능을 신속하게 개선하고자 했습니다. N1QL이미 많은 고객들이 N1QL을 사용하여 Couchbase에서 새로운 사용 사례를 구축하고 있습니다.

4.1 릴리스의 주요 특징은 다음과 같습니다.

 

N1QL: 배치 및 OLTP 애플리케이션을 위한 N1QL의 완벽한 SQL CRUD 지원

다음과 같은 일반적인 SQL 문 삽입, 업데이트, 삭제, MERGE 그리고 UPSERT 은 이제 Couchbase Server 4.1에서 완전히 지원됩니다. 이제 SQL로 테이블을 조작하는 것과 같은 방식으로 N1QL로 JSON 문서를 조작하고 엔터프라이즈 웹, 모바일 및 IoT 애플리케이션의 모든 쿼리 요구 사항을 지원할 수 있습니다.

N1QL INSERT 문은 싱글톤 및 다중 문서 삽입을 모두 허용합니다. 업데이트 및 삭제는 특정 기준에 따라 문서 집합을 조작할 수 있습니다. 이 두 문은 모두 사용 가능한 인덱스를 사용하여 문서를 효율적으로 식별하고 업데이트합니다. UPSERT 및 MERGE 문은 주어진 기준에 따라 두 문서 집합을 병합합니다. 이러한 모든 기존 SQL 문은 JSON 문서를 지원하도록 조정되었습니다.

SQL 문은 Couchbase SDK, REST API 및 Simba의 JDBC 및 ODBC 드라이버에서 완벽하게 지원됩니다.

 

커버링 인덱스

정의에 따르면 커버링 인덱스는 특정 쿼리에 필요한 최소한의 모든 필드를 포함하는 인덱스입니다. 이것이 애플리케이션에 의미하는 바는 커버링 인덱스가 쿼리를 더 빠르게 실행하는 데 도움이 된다는 것입니다. 표준 인덱스를 사용하면 쿼리 실행 흐름이 처음에 인덱스 서비스에서 데이터를 스캔하지만, 쿼리를 완료하기 위해 데이터 서비스를 스캔하는 데 추가 시간을 소비해야 합니다. 커버링 인덱스를 사용하면 데이터 액세스를 위해 해당 커버링 인덱스의 스캔만 필요합니다. 그 결과 쿼리 대기 시간이 단축되고 애플리케이션의 성능이 빨라집니다.

N1QL 쿼리는 사용 가능한 인덱스를 사용해 쿼리를 효율적으로 실행합니다. 사용 사례에 따라 쿼리 지연 시간과 처리량이 2~3배 이상 개선되었습니다. 쿼리가 선택한 인덱스의 주요 속성만 참조하면 되는 경우, 쿼리에 대한 답을 얻기 위해 전체 문서를 가져오는 것을 피할 수 있기 때문입니다. 그러면 쿼리는 더 적은 리소스를 사용하고 더 빠르게 실행됩니다. 또한, N1QL 쿼리 엔진은 인덱스 키가 ORDER BY 절의 키 속성과 일치할 때 데이터 정렬을 피하기 위해 인덱스 순서를 활용합니다.

N1QL 최적화 도구는 쿼리에 대한 답변에 인덱스만 사용할 수 있는지 자동으로 인식합니다. 커버링 인덱스를 사용하면 일반적으로 많은 수의 행을 처리하는 쿼리에서 성능이 크게 향상됩니다. 예를 들어, 다음과 같이 집계를 수행하는 쿼리의 경우

CREATE INDEX idxstatecountry ON 맥주 샘플(주, 국가) GSI 사용

SELECT 국가, 최대(state)

FROM 맥주 샘플 사용 인덱스(idxstatecountry)

WHERE 상태는 'C%'

국가별 그룹

 

ORDER BY를 정렬에 사용하는 경우 인덱스가 이미 정렬되어 있기 때문에 커버링 인덱스도 도움이 될 수 있으며, 쿼리 엔진은 정렬된 커버링 인덱스를 직접 사용하여 결과를 생성할 수 있습니다.

 

준비된 명세서

준비된 문을 사용하면 반복적인 쿼리 구문 분석 및 준비를 피함으로써 동일하거나 유사한 쿼리를 높은 효율로 여러 번 실행할 수 있습니다. 많은 애플리케이션에서 매개변수만 달리하여 미리 정의된 쿼리를 반복적으로 실행해야 합니다. 이러한 반복 쿼리를 애드혹 문으로 수행하려면 매번 쿼리 구문 분석, 계획 및 실행이 필요합니다. 실행 계획이 고정되어 있고 쿼리가 실행될 때마다 특정 변수만 대체되는 준비된 문 템플릿을 사용하면 이러한 자주 반복되는 쿼리의 실행 계획을 구문 분석하고 컴파일하는 데 필요한 오버헤드를 제거할 수 있습니다. 그 결과 지연 시간이 단축되고 CPU 주기가 줄어들어 애플리케이션의 성능이 빨라집니다.

이미 여러 고객이 이전에 맵 축소 및 보기에 의존하던 쿼리를 N1QL로 대체하고, 이전에 Couchbase가 지원하던 것보다 더 복잡한 쿼리를 필요로 하는 새로운 애플리케이션을 구축하는 것을 보았습니다.

 

추가 지원 플랫폼

카우치베이스 서버 4.1은 Windows 10 및 OSX 엘 캐피탄 플랫폼 모두에서 실행되도록 인증되었습니다.

 

지금 시작하기

4.1 GA가 출시되었으며, 시작하는 데 도움이 되는 몇 가지 리소스를 소개합니다.  

 

개발자 프리뷰 비트를 사용해 주시고, 지속적으로 테스트해 주신 멋진 커뮤니티 여러분께 감사드립니다. 피드백 제공특히 N1QL에 대해 자세히 알아보세요. 4.1을 사용해 보시고 언제나처럼 피드백을 보내주시기 바랍니다.

Couchbase 4.1로 애플리케이션을 구축해 보세요!

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

작성자

게시자 돈 핀토, 수석 제품 관리자, Couchbase

돈 핀토는 Couchbase의 수석 제품 관리자로 현재 Couchbase Server의 기능을 발전시키는 데 주력하고 있습니다. 데이터 기술에 대한 열정이 대단한 그는 과거에 기술 블로그와 백서 등 Couchbase Server에 관한 여러 기사를 저술한 바 있습니다. Couchbase에 입사하기 전에는 IBM에서 수년간 근무하며 DB2 정보 관리 그룹에서 소프트웨어 개발자의 역할을 수행했고, 가장 최근에는 Microsoft의 SQL Server 팀에서 프로그램 관리자로 근무했습니다. Don은 캐나다 토론토 대학교에서 컴퓨터 공학 석사 학위와 컴퓨터 공학 학사 학위를 받았습니다.

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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