FHIR 검색 일관성 수준 - AWS HealthLake

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

FHIR 검색 일관성 수준

AWS HealthLake의 검색 인덱스는 GETPOST SEARCH 작업에 대한 최종 일관성 모델에서 작동합니다. 최종 일관성을 위해 리소스에 대해 보류 중인 검색 인덱스 업데이트가 있는 경우 인덱스 업데이트가 완료될 때까지 검색 결과에 리소스의 버전 N-1이 제외됩니다.

AWS HealthLake에는 이제 업데이트된 리소스에 대한 일관성 모델의 작동 방식을 선택할 수 있는 기능이 포함되어 있습니다. 개발자는 '이벤트 일관성', 위에서 설명한 기본 동작 또는 '강력한 일관성'을 포함할 수 있습니다. 강력한 일관성은 대기 중인 검색 인덱스 업데이트가 있는 리소스에 대한 리소스의 N-1 버전을 검색 결과에 포함할 수 있도록 허용합니다. 검색 인덱스 업데이트가 아직 완료되지 않은 경우에도 결과에 모든 리소스가 필요한 사용 사례 시나리오에 사용할 수 있습니다. 고객은 x-amz-fhir-history-consistency-level 요청 헤더를 사용하여이 동작을 제어할 수 있습니다.

일관성 수준

강력한 일관성

대기 중인 검색 인덱스 업데이트가 있는 레코드를 포함하여 일치하는 모든 레코드를 반환x-amz-fhir-history-consistency-level: strong하도록 설정합니다. 업데이트 직후 리소스를 검색해야 하는 경우이 옵션을 사용합니다.

최종 일관성

검색 인덱스 업데이트를 완료한 레코드만 반환x-amz-fhir-history-consistency-level: eventual하도록 설정합니다. 일관성 수준이 지정되지 않은 경우의 기본 동작입니다.

사용 예

  1. 리소스를 업데이트할 때:

    POST <baseURL>/Patient Content-Type: application/fhir+json x-amz-fhir-history-consistency-level: strong { "resourceType": "Patient", "id": "123", "meta": { "profile": ["http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"] }, "identifier": [ { "system": "http://example.org/identifiers", "value": "123" } ], "active": true, "name": [ { "family": "Smith", "given": ["John"] } ], "gender": "male", "birthDate": "1970-01-01" }
  2. 후속 검색:

    GET <baseURL>/Patient?_id=123

모범 사례

  • 최근에 업데이트된 리소스를 즉시 검색해야 하는 경우 강력한 일관성 사용

  • 즉각적인 가시성이 중요하지 않은 일반 쿼리에 최종 일관성 사용

  • 즉각적인 가시성과 잠재적 성능 영향 간의 장단점을 고려하세요.

참고

일관성 수준 설정은 업데이트된 리소스가 검색 결과에 표시되는 속도에 영향을 주지만 리소스의 실제 스토리지에는 영향을 주지 않습니다.

선택적 x-amz-fhir-history-consistency-level 헤더를 '강력'으로 설정하면 리소스당 쓰기 용량 소비가 두 배로 늘어납니다.

이 기능은 버전 기록이 활성화된 데이터 스토어에만 적용됩니다(2024년 10월 25일 이후에 생성된 모든 데이터 스토어에는 기본적으로 활성화되어 있음).