NoSQL 데이터베이스 시장의 혁신을 주도하는 뛰어난 기능을 갖춘 Couchbase Server 6.5 GA의 출시를 발표하게 되어 기쁘게 생각합니다. NoSQL 세계에서 가장 많이 요구되는 관계형 기능을 다시 한 번 개척하게 되어 기쁩니다. 이러한 기능은 개발자의 민첩성을 향상하고, 총소유비용을 절감하며, 관리 효율성을 높이고, 엔터프라이즈급 보안과 성능을 제공하는 것을 목표로 합니다. 개발자와 DevOps 담당자는 이번 릴리스에서 많은 것을 얻을 수 있습니다.

이 블로그에서 새로운 기능에 대한 간략한 개요를 읽고 바로 시작해보세요!

탁월한 민첩성과 유연성 

이번 릴리스를 통해 Couchbase는 애플리케이션 개발자들이 가장 많이 찾는 분산 ACID 트랜잭션, 윈도우 기능과 같은 고급 쿼리 기능, 인덱스 어드바이저, 비용 기반 최적화 도구, 이벤트 개선, SDK의 주요 업데이트 등 다양한 관계형 기능을 제공합니다! 이번 업데이트의 요약을 읽어보세요.

분산형 산 거래

애플리케이션 개발자는 분산형 ACID 트랜잭션을 통해 여러 노드에 분산된 여러 문서를 안정적으로 수정하기 위해 Couchbase의 전부 아니면 전무 시맨틱에 의존하여 애플리케이션 로직을 간소화할 수 있습니다. 복제본은 트랜잭션 커밋과 즉시 일치하는 반면, 인덱스 및 데이터센터 간 복제(XDCR)는 결국 트랜잭션 커밋과 일치합니다. 동시 읽기에는 읽기 커밋 격리가 제공됩니다. 내구성은 세 가지 수준에서 제공됩니다. 대다수 노드에 복제, 대다수 노드에 복제하고 기본 디스크에 지속, 또는 대다수 노드에 디스크에 지속..

카우치베이스 트랜잭션은 단일 장애 지점이나 성능 병목 현상이 없는 동시에 규모에 맞는 ACID 보장을 제공하도록 설계되었습니다. 

자세히 읽어보세요: 

SDK 3.0

새로운 플랫폼

SDK 3.0은 개발자가 네이티브 Scala를 사용하여 문서를 가져오고, 쿼리를 실행하고, 분석 및 전체 텍스트 검색을 수행할 수 있는 새로운 Scala SDK를 제공합니다. 또한 비동기 프로그래밍을 간소화하기 위해 Reactor를 지원합니다. Scala SDK는 개발자에게 익숙한 다양한 인기 Scala JSON 라이브러리를 지원하며 유연성을 극대화합니다.

간소화된 비동기 프로그래밍

간소화된 비동기 프로그래밍은 주요 언어의 최신 기술을 활용합니다:

  • Node.js SDK - 코드를 동기식으로 보이게 하여 비동기 프로그래밍을 크게 간소화하고 콜백 관련 문제를 방지하는 JavaScript ES6의 Promises를 지원합니다.
  • Java SDK - Java 8 기반 애플리케이션을 위한 강력하고 효율적인 리액티브 프로그래밍 모델을 제공하기 위해 Reactor를 지원합니다. 반응형 애플리케이션 구축을 위한 표준인 리액티브 스트림을 기반으로 구축되었습니다.
  • Scala SDK - 비동기 프로그래밍을 간소화하기 위해 Reactor를 지원합니다. 
  • Python SDK - Python 3에서 비동기 IO를 지원하여 Python의 비동기 코드를 간소화하고 콜백이 없기 때문에 동기 코드만큼 가독성을 높입니다. 또한 새로운 Python 유형 주석 표준을 지원하여 SDK를 사용하는 애플리케이션의 검색 가능성과 안정성을 개선합니다.

이제 Couchbase .NET SDK 3.0은 .NET 표준 2.0 및 2.1 API 사양을 모두 지원합니다. 즉, .NET SDK는 .NET Framework 4.6 이상 및 .NET Core에서 작동하므로 기업에서 Windows, macOS 및 Linux에서 이식 가능한 .NET 애플리케이션을 작성할 수 있습니다.

최신 기능은 형식적으로 과부하 기반 인터페이스를 더 작고 간결한 인터페이스로 통합하고 개선하는 동시에 SDK 간 호환성을 유지하고 개선하여 SDK API의 사용성을 크게 향상시킵니다.

향상된 HA 및 통합 가시성

어려움을 겪고 있는 리소스에 부하가 걸리지 않도록 하여 시스템 가용성을 개선하고 연쇄적인 장애를 방지하기 위해 회로 차단기 패턴을 지원하도록 구현했습니다. 또한 회로 차단기는 잠재적인 시스템 문제가 발생했을 때 조기 경고를 제공합니다. 서킷 브레이커는 Java SDK에서 지원되며, 곧 .NET 및 Python SDK에서도 구현될 예정입니다.

곧 모든 SDK에서 OpenTelemetry를 지원하여 강력하고 휴대 가능한 방식으로 Couchbase 애플리케이션에서 중요한 텔레메트리 데이터를 쉽게 얻을 수 있게 될 것입니다. OpenTelemetry는 CNCF 샌드박스 프로젝트이며, OpenTracing 및 OpenCensus 프로젝트의 다음 주요 버전입니다.

자세히 읽어보세요:

쿼리 개선 사항

Couchbase Server 6.5에서는 애플리케이션 구축을 위한 포괄적인 쿼리 개발 도구 키트에 대한 SQL 개발자의 요구를 충족하기 위해 N1QL에 여러 가지 새로운 기능이 추가되었습니다. 그 중 일부는 아래에 간략하게 설명되어 있습니다.

창 기능

이제 카우치베이스에 RDBMS ANSI 표준에 해당하는 창 함수가 도입되어 N1QL을 사용해 재무 및 통계 보고와 같은 복잡한 쿼리를 간소화할 수 있습니다. 이 기능은 쿼리 및 분석 서비스 모두에 적용되며, 쿼리 서비스는 SMP 기술에서 실행되고 분석 서비스는 MPP 아키텍처에서 실행됩니다.

공통 테이블 표현식(CTE)

개발자가 SQL 문을 더 큰 쿼리의 컨텍스트에서 소스 테이블로 참조할 수 있는 임시 명명된 결과 집합으로 분리할 수 있는 또 다른 ANSI CTE로 복잡한 쿼리의 관리성을 향상시킬 수 있습니다. 

쿼리 및 검색 통합

Couchbase의 강력한 전체 텍스트 검색 기능이 이제 N1QL과 완전히 통합되었습니다. 이 기능은 여러 필드와 모든 순서에 걸쳐 퍼지 및 비정확 텍스트 검색으로 N1QL 검색 기능을 확장합니다. 따라서 개발자는 별도의 SQL과 검색 쿼리의 결과를 처리하고 결합하기 위해 복잡한 코드를 작성할 필요가 없습니다.

비용 기반 최적화 도구(개발자 프리뷰)

Couchbase는 쿼리 조정을 위해 통계 데이터를 기반으로 액세스 패턴을 도출하는 잘 알려진 비용 기반 최적화 도구를 NoSQL 세계에 제공하고 있습니다. 이 기능은 개발자가 규칙 기반 최적화 도구를 사용하여 쿼리를 조정하는 데 소요되는 시간을 없애고 최적의 실행 계획을 선택할 수 있도록 도와줍니다. 

인덱스 어드바이저(개발자 프리뷰)

인덱스 어드바이저는 쿼리 튜닝을 최적화하고 쿼리 성능을 개선하기 위해 인덱스 제안을 제공하는 Couchbase 툴링 포트폴리오에 추가된 또 하나의 유용한 기능입니다. 실행 중인 워크로드를 모니터링하고 분석하여 응답 시간을 개선하기 위한 적절한 인덱스를 제안합니다. 

사용자 정의 함수(개발자 프리뷰)

관계형 세계에서 가장 사랑받는 저장 프로시저가 N1QL을 통해 사용자 정의 함수로 돌아왔습니다. JavaScript 닌자는 자신의 기술을 사용하여 함수를 중앙에서 정의하고 여러 애플리케이션이나 마이크로서비스에서 이를 활용할 수 있습니다. 이를 통해 복잡한 로직과 애플리케이션 성능을 더 잘 관리할 수 있습니다. 

자세히 읽어보세요:

애널리틱스 개선 사항

분석의 스캔 일관성

Analytics의 스캔 일관성을 통해 리밸런싱 및 장애 조치와 같은 클러스터 작업은 인사이트를 얻고 비즈니스 의사 결정을 내리는 데 사용되는 비즈니스 크리티컬 보고서 및 대시보드에 영향을 미치지 않습니다.

자세히 읽어보세요:

창 기능

창 기능은 애널리틱스 서비스에서도 사용할 수 있습니다. 구문과 의미는 두 서비스 간에 이식 가능하지만, 쿼리 서비스는 SMP 모드에서 실행되는 반면 분석 서비스는 MPP 아키텍처에서 실행됩니다.

자세히 읽어보세요:

스토리지 압축

다음을 사용하여 스토리지 압축 snappy 를 사용하면 분석 서비스의 디스크 공간을 줄여 스토리지 비용을 절감할 수 있습니다. 압축은 데이터 세트별로 또는 새로 생성된 모든 데이터 세트에 대해 전역적으로 활성화할 수 있습니다. 자세한 내용은 다음을 참조하세요. 데이터 정의 언어(DDL).

이벤트 개선 사항

이제 카우치베이스 함수는 변이율이 낮을 때 사용자가 다른 API로 이벤트를 전파할 수 있는 네이티브 cURL을 지원합니다. 소스 버킷은 함수 내부에서 업데이트할 수 있어 개발자가 인라인 데이터 강화 기능이 필요한 애플리케이션을 작성할 수 있습니다. 또한, 하위 문서 변경과 같은 다른 버킷 작업도 함수 내에서 수행할 수 있습니다. '이전 버전에서'를 피드 경계로 활용함으로써, Couchbase 함수는 단 한 번의 변경도 없이 배포 취소, 편집, 재배포가 가능하여 연속성이 유지됩니다.

자세히 읽어보세요:

규모에 관계없이 탁월한 성능

클러스터당 더 많은 버킷

Couchbase의 버킷은 물리적, 논리적, 액세스 격리를 제공합니다. 6.5에서는 단일 클러스터에 최대 30개의 버킷을 생성할 수 있는 기능을 제공합니다. 이로써 리소스 활용도가 개선되어 멀티테넌시 및 마이크로서비스 기반 애플리케이션을 지원할 수 있는 기회가 강화될 것입니다. 

자세히 읽어보세요:

컬렉션(개발자 프리뷰)

관계형에서 NoSQL로 원활하게 마이그레이션하기 위한 단계로, 관계형 데이터베이스에서 테이블이 하는 것처럼 애플리케이션이 유사한 문서를 함께 보관하여 데이터를 구조화할 수 있도록 컬렉션을 도입했습니다. 또한, 관련 컬렉션을 단일 범위로 함께 보관할 수 있습니다. 컬렉션과 범위를 사용하면 애플리케이션 개발자는 Oracle 및 SQL Server와 같은 관계형 시스템에서 Couchbase로 스키마와 데이터를 훨씬 더 쉽게 마이그레이션할 수 있을 뿐만 아니라 SQL 쿼리를 Couchbase N1QL로 변환할 수 있습니다. 컬렉션과 범위를 개별적으로 액세스 제어할 수 있으므로 여러 마이크로서비스 및/또는 애플리케이션이 하나의 Couchbase 데이터베이스(버킷)를 공유할 수 있습니다. 

자세히 읽어보세요:

XDCR의 고급 필터링

XDCR의 고급 필터링은 N1QL과 유사한 구문으로 키, 값, Xattr과 같은 문서 속성을 기반으로 필터를 구축할 수 있는 기능을 제공합니다. 또한 지속적인 복제를 위해 필터를 동적으로 수정할 수 있는 유연성을 제공하여 사용자가 복제 중 언제든 비즈니스 요구와 관련된 데이터만 복제할 수 있도록 합니다.

자세히 읽어보세요:

XDCR의 서비스 품질

XDCR의 서비스 품질 기능을 사용하면 관리자가 초기 복제보다 진행 중인 복제 스트림의 우선순위를 지정하여 중요도에 따라 복제가 서비스되도록 할 수 있습니다. 할당된 우선순위에 따라 모든 복제 스트림의 서비스 품질이 결정되며 효율적인 리소스 활용이 가능합니다.

자세히 읽어보세요:

관리하기 가장 쉬운 플랫폼

강력한 리밸런싱 작업  

이제 리밸런싱이 훨씬 더 강력하고 복원력이 향상되어 Couchbase 관리자가 클러스터 리밸런싱 관리를 자동화할 수 있습니다. 일부 개선 사항에는 장애 발생 후 리밸런싱 자동 재시작, 리밸런싱 중 자동 페일오버, 리밸런싱 진행 상황 모니터링 강화 등이 있습니다.

자세히 읽어보세요:

노드 간 암호화

Couchbase Server는 엄격한 보안 및 규정 준수 요건을 충족하기 위해 보안 기능을 지속적으로 확장하고 있습니다. 노드 간 암호화는 서버에 배포된 클러스터 서비스 간에 전송 중인 데이터를 암호화하여 보안 계층을 추가합니다. 이를 통해 잠재적인 공격자가 민감한 클러스터 내 트래픽을 가로채는 것을 방지할 수 있습니다. 

자세히 읽어보세요:

LDAP 그룹 지원 

그룹 지원을 통해 LDAP 도메인의 기존 조직 그룹을 활용하여 Couchbase Server 액세스를 제어할 수 있습니다. 또한 로컬 도메인 사용자를 위해 사용자 그룹을 구성하여 액세스하는 Couchbase 리소스를 더 잘 관리하고 제어할 수도 있습니다. 그룹은 실제 개발 팀, 사업부 또는 부서에 매핑할 수 있습니다. 

자세히 읽어보세요:

TLS 암호 구성 

보안이 그 어느 때보다 중요해지면서 서버를 강화하고 오래되거나 취약한 암호 제품군을 제거하는 것이 많은 조직에서 주요 우선 순위가 되고 있습니다. 카우치베이스 서버는 서비스 전반에 걸쳐 TLS 암호 모음 및 설정을 수정하는 일관된 접근 방식을 제공하며, 이는 서버 업그레이드 및 재시작 시에도 유지됩니다. 

자세히 읽어보세요:

백업 및 복구

성능, 스토리지, 확장성 측면에서 백업 및 복구가 크게 개선되었습니다. 스토리지 포맷을 수정하고, 스토리지 엔진을 교체하고, 서버에 압축을 도입하여 성능이 크게 향상되고 스토리지 요구량이 감소했습니다. 전체 및 증분 백업, 복원, 병합, 목록 등 모든 백업 작업이 이전 버전보다 빨라졌습니다. 또한 새로운 정보 명령과 일관성 측정 기능(개발자 미리 보기)이 도입되었습니다.

자세히 읽어보세요:

고급 UI 통계

문제 해결에 도움이 되는 고유한 서비스별 통계가 UI에서 제공됩니다. 이러한 통계는 새로운 차트 프레임워크로 업데이트되어 사용자가 시간 범위, 표시 크기, 여러 노드에 걸친 집계, 편집, 끌어서 놓기 등의 기능을 통해 완전히 사용자 지정할 수 있습니다.

자세히 읽어보세요:

리소스

6.5의 기능이 마음에 드셨는지, 앞으로 비즈니스에 어떤 도움이 될지 여러분의 의견을 듣고 싶습니다. 댓글을 통해 의견을 공유해 주시거나 포럼

작성자

게시자 Anil Kumar, 제품 관리 이사, Couchbase 클라우드 네이티브 데이터베이스

Anil Kumar는 Couchbase의 제품 관리 이사입니다. Anil은 19년 이상 엔터프라이즈 소프트웨어 및 클라우드 서비스를 비롯한 다양한 영역에서 소프트웨어 제품을 구축하는 데 경력을 쌓아왔습니다. 그는 고객, 파트너, 개발자, 분석가들과 함께 제품 전략과 비전을 전파하는 등 Couchbase Server, Couchbase Cloud, Kubernetes 제품군을 책임지는 실무형 제품 리더입니다. Couchbase에 입사하기 전에는 Microsoft 레드몬드에서 수년간 근무했습니다. Anil은 캐나다 토론토 대학교에서 컴퓨터 공학 석사 학위를, 인도 비스베바라야 공과대학교에서 정보 기술 학사 학위를 받았습니다.

댓글 남기기