카우치베이스 서버

Couchbase 6.5의 MongoDB MQL과 N1QL 기능 비교

이 글은 릴리즈 블로그에서 강조된 MongoDB MQL 언어 기능을 간략하게 검토한 글입니다: MongoDB 4.4: 사용자 중심 엔지니어링. 준비 완료. MongoDB 4.4 릴리스에는 MQL 언어에 대한 여러 가지 기능이 추가되었습니다. 카우치베이스 6.5 출시 쿼리 서비스 및 분석 서비스 모두에서 N1QL의 상당수 기능을 올해 초에 발표했습니다. 자세히 살펴보겠습니다.

MongoDB 4.4 Couchbase 6.5
출시 GA: 2020년 7월 GA: 2020년 1월
새로운 기능은 무엇인가요? https://www.mongodb.com/collateral/mongodb-4.4-guide https://docs.couchbase.com/server/current/introduction/whats-new.html
유니온 세트 작업 데이터를 단일 데이터로 변환하는 집계 파이프라인 단계인 $UnionWith를 도입합니다.
결과 집합을 반환합니다. SQL에서 모든 집합을 통합하는 작업과 거의 동일합니다.
https://docs.mongodb.com/master/reference/operator/aggregation/unionWith/#pipe._S_unionWith
초기 릴리스부터 모든 SQL 집합 연산을 지원합니다: 유니온, 유니온 모두,
제외하고, 모두 제외하고, 교차, 모두 교차. ALL 수정자는 중복된
문서로 이동합니다. ALL 없이 작업을 사용하면 다음에서 필요한 정렬 단계를 피할 수 있습니다.
MQL 집계 파이프라인에서 사용할 수 있습니다. 이러한 집합 연산을 사용할 수 있는 곳은
SELECT 쿼리가 사용됩니다(하위 쿼리, 파생 테이블 등).
https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/union.html
https://blog.jooq.org/2015/10/06/you-probably-dont-use-sql-intersect-or-except-often-enough/
사용자 지정 집계 표현식 집계 내에서 자바스크립트 스니펫을 허용하는 $ 함수 도입
파이프라인을 사용하여 처리를 사용자 정의할 수 있습니다. 사용자 정의 집계를 만들 수 있습니다.
$accumulate, $function, $merge 및 $group을 사용합니다. 이 접근 방식은 장황합니다.
를 사용하며 모든 쿼리에 대해 다시 작성해야 합니다. SQL에서는 사용자 정의 집계가 생성되면
가 생성되면 다른 집계와 마찬가지로 재사용할 수 있습니다.
기타 개선 사항으로는 간단한 스칼라 함수가 있습니다.
https://docs.mongodb.com/master/release-notes/4.4/#custom-aggregation-expressions
어디서나 사용 가능한 SQL 함수 및 JavaScript 함수 프리뷰 릴리즈
표현식은 N1QL에서 허용됩니다. 이러한 표현식은 복잡한 쿼리의 일부가 될 수 있으며 다음과 같습니다.
다음 주요 릴리스에서 GA가 될 것으로 예상됩니다.
몽고DB에는 여전히 창 기능이 없는데, 이는 Couchbase 6.5에서 릴리스된 기능입니다.
개발자의 생산성을 크게 향상시킵니다.
하지만 카우치베이스는 맵 축소 보기를 통해 자바스크립트 기반 집계를 지원합니다.
N1QL을 통해 액세스할 수 없습니다.
카우치베이스 이벤트 함수도 자바스크립트로 작성되어 있으며
최신 애플리케이션을 위한 확장 가능한 인프라를 제공합니다.
검색 MongoDB Atlas에서만 사용할 수 있는 Lucene 기반의 전체 텍스트 $search를 소개합니다.
MongoDB 자체는 검색 기능이 제한되어 있으며 Lucene 기반이 아닙니다.
$search는 집계 파이프라인의 첫 번째 단계로만 사용할 수 있으며
는 업데이트 또는 삭제에 사용할 수 없습니다.
Couchbase 6.5에는 SEARCH() 함수와 관련 메타데이터 함수가 도입되었습니다.
심층 통합을 통해 간단한 문자열 검색부터 전체 텍스트 검색까지 지원합니다.
를 N1QL 최적화 도구에 추가합니다.
거래 컬렉션과 인덱스를 생성하는 기능을 소개합니다.
비샤딩 트랜잭션. 트랜잭션 내에서 DDL을 사용하는 경우는 아직 드뭅니다.
Java SDK용 분산 트랜잭션이 출시되어 애플리케이션을 사용할 수 있게 되었습니다.
를 사용하여 여러 문서에 대한 작업을 수행할 수 있습니다. 분산
트랜잭션은 N1QL 문에 대해 지원되지 않습니다.

리소스:

  1. 카우치베이스 문서
  2. N1QL 튜토리얼
  3. MongoDB 문서
이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 케샤브 머시

케샤브 머시는 Couchbase R&D의 부사장입니다. 이전에는 MapR, IBM, Informix, Sybase에서 근무했으며 데이터베이스 설계 및 개발 분야에서 20년 이상의 경력을 쌓았습니다. IBM Informix에서 SQL 및 NoSQL R&D 팀을 이끌었습니다. Couchbase에서 두 번의 President's Club 상을, IBM에서 두 번의 뛰어난 기술 업적상을 수상했습니다. 인도 마이소르 대학교에서 컴퓨터 과학 및 공학 학사 학위를 받았으며, 24개의 미국 특허를 보유하고 있습니다.

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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