쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Amazon Neptune 엔진 버전 1.3.2.1(2024-06-20)

포커스 모드
Amazon Neptune 엔진 버전 1.3.2.1(2024-06-20) - Amazon Neptune

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

2024-06-20부터 엔진 버전 1.3.2.1이 정식으로 배포되고 있습니다. 모든 리전에서 새 릴리스를 사용할 수 있게 되려면 며칠이 걸립니다.

참고

엔진 릴리스 1.3.0.0에서는 사용자 지정 파라미터 그룹과 사용자 지정 클러스터 파라미터 그룹을 위한 새로운 형식을 도입했습니다. 따라서 1.3.0.0 이전 엔진 버전에서 엔진 버전 1.3.0.0 이상으로 업그레이드하는 경우 파라미터 그룹 패밀리를 사용하여 기존 사용자 지정 파라미터 그룹과 사용자 지정 클러스터 파라미터 그룹을 모두 다시 생성해야 합니다neptune1.3. 이전 릴리스에서는 파라미터 그룹 패밀리 neptune1 또는 neptune1.2을 사용했으며, 이러한 파라미터 그룹은 릴리스 1.3.0.0 이상에서는 작동하지 않습니다. 마찬가지로 엔진 버전 1.4.0.0 이상에는 1.4.0.0 클러스터 파라미터 그룹을 사용해야 합니다. 자세한 내용은 Amazon Neptune 파라미터 그룹 섹션을 참조하세요.

주의

엔진 릴리스 1.3.2.1에는 알아야 할 몇 가지 잠재적 문제가 도입되었습니다. 자세한 내용은의 아래 섹션을 참조릴리스 1.3.2.1의 문제 완화하세요.

이 엔진 릴리스에서 결함 수정

openCypher 수정 사항
  • SKIP 및를 파라미터LIMIT로 사용하는 내부 WITH 절이 포함된 파라미터화된 쿼리에 대한 쿼리 계획 캐시 기능에서 버그가 감지되었습니다. SKIP/LIMIT 값이 제대로 파라미터화되지 않아서 파라미터 값이 다른 동일한 캐시된 쿼리 계획을 후속 실행해도 첫 번째 실행과 동일한 결과가 반환됩니다. 이 문제는 수정되었습니다.

    # insert some nodes UNWIND range(1, 10) as i CREATE (s {name: i}) RETURN s # sample query MATCH (p) WITH p ORDER BY p.name SKIP $s LIMIT $l RETURN p.name as res # first time executing with {"s": 2, "l": 1} { "results" : [ { "res" : 3 } ] } # second time executing with {"s": 2, "l": 10} # due to bug, produces { "results" : [ { "res" : 3 } ] } # with fix, produces correct results: { "results" : [ { "res" : 3 }, { "res" : 4 }, { "res" : 5 }, { "res" : 6 }, { "res" : 7 }, { "res" : 8 }, { "res" : 9 }, { "res" : 10 } ] }%
  • 전달된 파라미터가 데이터베이스에 아직 없는 InternalFailureException 경우 파라미터화된 변형 쿼리가를 발생시키는 버그를 수정했습니다.

  • 쿼리 리소스 정리 중에 레이스 조건에 도달한 후 파라미터화된 Bolt 쿼리가 멈춘 버그를 수정했습니다.

1.3.2.0에서 이월된 1.3.2.1의 변경 사항

엔진 릴리스 1.3.2.0에서 이월된 개선 사항

일반적인 개선 사항
  • 암호 제품군 TLS_AES_128_GCM_SHA256 및 TLS_AES_256_GCM_SHA384를 포함한 TLS 버전 1.3을 지원합니다. TLS 1.3은 옵션입니다. TLS 1.2는 여전히 최솟값입니다.

  • dateime 형식에 대한 openCypher 확장 지원은이 버전의 lab_mode에 있습니다. 테스트하는 것이 좋습니다.

Gremlin 개선 사항
  • TinkerPop 3.7.x 업그레이드

    • Gremlin 언어의 대규모 확장을 제공합니다.

      • 문자열, 목록 및 날짜를 처리하는 새로운 단계입니다.

      • mergeV() 단계 내에서 카디널리티를 지정하는 새로운 구문입니다.

      • union() 이제를 시작 단계로 사용할 수 있습니다.

      • 3.7.x의 변경 사항에 대한 자세한 내용은 TinkerPop 업그레이드 설명서를 참조하세요.

    • Java용 클라이언트 Gremlin 언어 드라이버를 업그레이드할 때 직렬화기 클래스의 이름 변경이 취소되었습니다. 지정된 경우 구성 파일 및 코드에서 패키지 및 클래스 이름을 업데이트해야 합니다.

  • StrictTimeoutValidation (를 포함하여 랩모드StrictTimeoutValidation를 통해 활성화된 경우에만 해당StrictTimeoutValidation=enabled): StrictTimeoutValidation 파라미터의 값이 인 경우 요청 옵션으로 지정된 쿼리enabled당 제한 시간 값 또는 쿼리 힌트는 파라미터 그룹에서 전역적으로 설정된 값을 초과할 수 없습니다. 이 경우 Neptune은를 발생시킵니다InvalidParameterException. 값이 이고 Neptune 버전 1.3.2.0 disabled및 1.3.2.1에서이 파라미터의 기본값은 인 경우 /status 엔드포인트에 대한 응답으로이 설정을 확인할 수 있습니다Disabled.

openCypher 개선 사항
  • Amazon Neptune 엔진 버전 1.3.2.0은 이전 엔진 릴리스에 비해 openCypher 쿼리 성능에 대해 최대 9배 더 빠르고 처리량이 10배 더 높습니다.

  • 지연 시간이 짧은 쿼리 및 처리량 성능 개선: 지연 시간이 짧은 openCypher 쿼리에 대한 전반적인 성능 개선. 또한 새 버전은 이러한 쿼리의 처리량을 개선합니다. 파라미터화된 쿼리를 사용할 때 개선 사항이 더 중요합니다.

  • 쿼리 계획 캐시 지원: 쿼리가 Neptune에 제출되면 쿼리 문자열이 구문 분석, 최적화 및 쿼리 계획으로 변환된 다음 엔진에서 실행됩니다. 애플리케이션은 종종 서로 다른 값으로 인스턴스화되는 일반적인 쿼리 패턴에 의해 지원됩니다. 쿼리 계획 캐시는 쿼리 계획을 캐싱하여 이러한 반복 패턴에 대한 구문 분석 및 최적화를 방지함으로써 전체 지연 시간을 줄일 수 있습니다. 자세한 내용은 Amazon Neptune의 쿼리 계획 캐시 섹션을 참조하세요.

  • DISTINCT 집계 쿼리의 성능 개선.

  • null 가능한 변수가 포함된 조인의 성능 개선.

  • id(노드/관계) 조건자와 같지 않은가 포함된 쿼리의 성능 개선.

  • 날짜/시간 기능에 대한 추가 지원(를 DatetimeMillisecond 포함하여 랩 모드를 통해서만 활성화됨DatetimeMillisecond=enabled. 자세한 내용은 Neptune openCypher 구현의 임시 지원(Neptune Analytics 및 Neptune Database 1.3.2.0 이상) 단원을 참조하십시오.

엔진 릴리스 1.3.2.0에서 이월된 결함 수정

일반적인 개선 사항
  • Graphlytics 버킷에 대한 액세스를 검증할 때 NeptuneML 오류 메시지가 업데이트되었습니다.

Gremlin 수정 사항
  • 경로가 아닌 기여 단계에 레이블이 포함된 시나리오의 경우 DFE 쿼리 번역에서 누락된 레이블 정보를 수정했습니다. 예시:

    g.withSideEffect('Neptune#useDFE', true). V(). has('name', 'marko'). has("name", TextP.regex("mark.*")).as("p1"). not(out().has("name", P.within("peter"))). out().as('p2'). dedup('p1', 'p2')
  • 두 개의 DFE 조각에서 쿼리가 실행되고 첫 번째 조각이 만족스럽지 않은 노드에 최적화될 때 발생하는 DFE 쿼리 변환의 NullPointerException 버그를 수정했습니다. 예시:

    g.withSideEffect('Neptune#useDFE', true). V(). has('name', 'doesNotExists'). has("name", TextP.regex("mark.*")). inject(1). V(). out(). has('name', 'vadas')
  • 쿼리에 by() 모듈레이터 내부에 ValueTraversal이 포함되어 있고 입력이 맵인 InternalFailureException 경우 Neptune이를 발생시킬 수 있는 버그를 수정했습니다. 예시:

    g.V(). hasLabel("person"). project("age", "name").by("age").by("name"). order().by("age")
openCypher 수정 사항
  • 메모리 부족(OOM) 상황을 방지하기 위해 UNWIND 작업(예: 값 목록을 개별 값으로 확장)을 개선했습니다. 예시:

    MATCH (n)-->(m) WITH collect(m) AS list UNWIND list AS m RETURN m, list
  • UNWIND를 통해 ID가 주입되는 여러 MERGE 작업의 경우 사용자 지정 ID 최적화를 수정했습니다. 예시:

    UNWIND [{nid: 'nid1', mid: 'mid1'}, {nid: 'nid2', mid: 'mid2'}] as ids MERGE (n:N {`~id`: ids.nid}) MERGE (m:M {`~id`: ids.mid})
  • 속성 액세스가 있는 복잡한 쿼리와 양방향 관계가 있는 여러 홉을 계획하는 동안 메모리 폭발을 수정했습니다. 예시:

    MATCH (person1:person)-[:likes]->(res)-[:partOf]->(group)-[:knows]-(:entity {name: 'foo'}), (person1)-[:knows]->(person2)-[:likes]-(res2), (comment)-[:presentIn]->(:Group {name: 'barGroup'}), (person1)-[:commented]->(comment2:comment)-[:partOf]->(post:Post), (comment2)-[:presentIn]->(:Group {name: 'fooGroup'}), (comment)-[:contains]->(info:Details)-[:CommentType]->(:CommentType {name: 'Positive'}), (comment2)-[:contains]->(info2:Details)-[:CommentType]->(:CommentType {name: 'Positive'}) WHERE datetime('2020-01-01T00:00') <= person1.addedAfter <= datetime('2023-01-01T23:59') AND comment.approvedBy = comment2.approvedBy MATCH (comment)-[:contains]->(info3:Details)-[:CommentType]->(:CommentType {name: 'Neutral'}) RETURN person1, group.name, info1.value, post.ranking, info3.value
  • 변수별 그룹으로 null이 포함된 집계 쿼리를 수정했습니다. 예시:

    MATCH (n) RETURN null AS group, sum(n.num) AS result
SPARQL 수정 사항
  • SPARQL 구문 분석기를 수정하여 많은 트리플 및 대용량 토큰이 포함된 INSERT DATA와 같은 대규모 쿼리의 구문 분석 시간을 개선했습니다.

릴리스 1.3.2.1의 문제 완화

  • 숫자 필터 값을 사용하는 쿼리는 쿼리 계획 캐시를 사용할 때 잘못된 결과를 반환할 수 있습니다. 문제를 방지하려면 쿼리 힌트QUERY:PLANCACHE "disabled"를 사용하여 쿼리 계획 캐시를 건너뜁니다. 예를 들어, 다음을 사용합니다.

    USING QUERY:PLANCACHE "disabled" MATCH (n:person) WHERE n.yearOfBirth > $year RETURN n parameters={"year":1950}
  • 동일한 파라미터 이름을 여러 번 사용하는 쿼리는 오류와 함께 실패할 수 있습니다Parameter name should not be a number and/or contain _internal_ or _modified_user_ string within it. These are reserved for planCache. Otherwise, rerun with HTTP parameter planCache=disabled. 이러한 경우 위와 같이 쿼리 계획 캐시를 건너뛰거나이 예제와 같이 파라미터를 복제합니다.

    MATCH (n:movie) WHERE n.runtime>=$minutes RETURN n UNION MATCH (n:show) WHERE n.duration>=$minutes RETURN n parameters={"minutes":130}

    힌트를 사용하거나 파라미터를 QUERY:PLANCACHE "disabled" 수정합니다.

    MATCH (n:movie) WHERE n.runtime>=$rt_min RETURN n UNION MATCH (n:show) WHERE n.duration>=$dur_min RETURN n parameters={"rt_min":130, "dur_min":130}
  • 쿼리가 UNION 또는 UNION ALL 쿼리인 경우 Bolt 프로토콜로 실행된 쿼리는 잘못된 결과를 생성할 수 있습니다. 문제를 방지하려면 HTTP 엔드포인트를 사용하여 특정 쿼리를 실행하는 것이 좋습니다. 또는 Bolt 프로토콜을 사용할 때 유니온의 각 부분을 개별적으로 실행합니다.

이 릴리스에서 지원되는 쿼리 언어 버전

DB 클러스터를 버전 1.3.2.1로 업그레이드하기 전에 프로젝트가 다음 쿼리 언어 버전과 호환되는지 확인합니다.

  • Gremlin 초기 버전 지원: 3.7.1

  • Gremlin 최신 버전 지원: 3.7.1

  • openCypher 버전: Neptune-9.0.20190305-1.0

  • SPARQL 버전: 1.1

엔진 릴리스 1.3.2.1의 업그레이드 경로

엔진 릴리스 1.2.0.0 이상에서 이 릴리스로 업그레이드할 수 있습니다.

이 릴리스로 업그레이드

DB 클러스터가 이 릴리스에 대한 업그레이드 경로가 있는 엔진 버전을 실행하는 경우 지금 업그레이드할 수 있습니다. 콘솔에서 DB 클러스터 작업을 사용하여 또는 SDK를 사용하여 적격 클러스터를 업그레이드할 수 있습니다. 다음 CLI 명령은 적격 클러스터를 즉시 업그레이드합니다.

Linux, OS X, Unix의 경우:

aws neptune modify-db-cluster \ --db-cluster-identifier (your-neptune-cluster) \ --engine-version 1.3.2.1 \ --allow-major-version-upgrade \ --apply-immediately

Windows의 경우:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.3.2.1 ^ --allow-major-version-upgrade ^ --apply-immediately

--apply-immediately 대신 --no-apply-immediately를 지정할 수 있습니다. 메이저 버전 업그레이드를 수행하려면 allow-major-version-upgrade 파라미터가 필요합니다. 또한 엔진 버전을 반드시 포함해야 합니다. 그렇지 않으면 엔진이 다른 버전으로 업그레이드될 수 있습니다.

클러스터에서 사용자 지정 클러스터 파라미터 그룹을 사용하는 경우 다음 파라미터를 포함하여 지정해야 합니다.

--db-cluster-parameter-group-name (name of the custom DB cluster parameter group)

마찬가지로 클러스터의 인스턴스가 사용자 지정 DB 파라미터 그룹을 사용하는 경우 이 파라미터를 포함하여 지정해야 합니다.

--db-instance-parameter-group-name (name of the custom instance parameter group)

업그레이드하기 전에 항상 테스트 수행

새로운 메이저 또는 마이너 Neptune 엔진 버전이 출시되면 업그레이드하기 전에 해당 버전에서 항상 Neptune 애플리케이션을 먼저 테스트하세요. 마이너 업그레이드라도 코드에 영향을 줄 수 있는 새로운 기능이나 동작이 도입될 수 있습니다.

먼저 현재 버전의 릴리스 노트 페이지를 대상 버전의 릴리스 노트 페이지와 비교하여 쿼리 언어 버전에 변경 사항이나 기타 주요 변경 사항이 있는지 확인합니다.

프로덕션 DB 클러스터를 업그레이드하기 전에 새 버전을 테스트하는 가장 좋은 방법은 프로덕션 클러스터를 복제하여 새 엔진 버전을 실행하도록 하는 것입니다. 그러면 프로덕션 DB 클러스터에 영향을 주지 않고 복제본에서 쿼리를 실행할 수 있습니다.

업그레이드하기 전에 항상 수동 스냅샷 생성

업그레이드하기 전에 항상 DB 클러스터의 수동 스냅샷을 생성하는 것이 좋습니다. 자동 스냅샷은 단기적인 보호만 제공하는 반면, 수동 스냅샷은 명시적으로 삭제하기 전까지는 계속 사용할 수 있습니다.

경우에 따라 Neptune은 업그레이드 프로세스의 일부로 수동 스냅샷을 생성하지만, 여기에 의존해서는 안 되며 항상 자체 수동 스냅샷을 만들어야 합니다.

DB 클러스터를 업그레이드 전 상태로 되돌릴 필요가 없다고 판단되면 직접 만든 수동 스냅샷과 Neptune이 생성한 수동 스냅샷(있는 경우)을 명시적으로 삭제할 수 있습니다. Neptune이 수동 스냅샷을 생성하는 경우 이름은 preupgrade로 시작하고 DB 클러스터 이름, 소스 엔진 버전, 대상 엔진 버전, 날짜가 차례로 뒤따릅니다.

참고

보류 중인 작업이 진행 중인 동안 업그레이드를 시도하면 다음과 같은 오류가 발생할 수 있습니다.

We're sorry, your request to modify DB cluster (cluster identifier) has failed. Cannot modify engine version because instance (instance identifier) is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade.

이 오류가 발생하면 보류 중인 작업이 완료될 때까지 기다리거나, 유지 관리 기간을 즉시 실행하여 이전의 업그레이드를 완료합니다.

엔진 버전 업그레이드에 대한 자세한 내용은 Amazon Neptune DB 클러스터 유지 관리 단원을 참조하십시오. 질문이나 우려 사항이 있는 경우 커뮤니티 포럼과 AWS Premium AWS Support를 통해 지원 팀을 이용할 수 있습니다.

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.