Learn the "why" behind slow queries and how to fix them in our 2-Part Webinar.
Register now >
Docs Menu
Docs Home
/ /

Atlas Stream Processing 계층 선택 가이드

Atlas Stream Processing 계층에 따라 스트림 프로세서당 리소스를 할당합니다. 고정된 리소스 할당 및 비용 예측 가능성을 제공하여 시스템 설계 프로세스 간소화합니다. 이 가이드 사용하여 배포서버 계획할 때 스트림 처리 워크로드에 가장 적합한 계층을 파악하세요.

각 계층 처리 능력, 메모리, 대역폭, 병렬 처리 및 Apache Kafka 소스가 있는 프로세서의 경우 파티션에 대한 고정 할당을 제공합니다.

계층
vCPU
RAM (GB)
대역폭(Mbps)
최대 병렬도
소스 Kafka 파티션 제한

SP2

0.25

0.5

50

1

32

SP5

0.5

1

125

2

64

SP10

1

2

200

8

무제한

SP30

2

8

750

16

무제한

SP50

8

32

2500

64

무제한

각 계층 의 리소스 할당이 다르기 때문에 프로젝트 의 다양한 단계와 규모에 적합합니다.

계층
사용 사례

SP2

개발, 평가판 배포

리소스 요구 사항이 제한적인 간단한 워크로드를 지원할 수 있는 가장 저렴한 옵션입니다.

SP5

개발, 기본 프로덕션 배포

더 복잡한 계산을 사용하는 작업에도 처리량 낮은 프로덕션 작업에 적합한 저비용 옵션입니다. SP5 프로세서는 기본 필터링, 프로젝션 및 변경 스트림 처리 지원 수 있습니다.

SP10

메인스트림 프로덕션 배포

프로덕션 워크로드의 기준입니다. SP10 이상은 높은 수준의 병렬 처리, 무제한 Kafka 분할 또는 조회 및 조인과 같은 데이터 보강 작업이 필요한 파이프라인에 적합합니다.

SP30

복잡한 프로덕션 배포

메모리 집약적인 stateul 작업을 위해 설계된 고성능 옵션입니다. SP30 는 장기간 창, 다중 조회 및 대규모 데이터 보강을 위해 대용량 RAM 버퍼가 필요한 확장하다 를 사용하는 파이프라인을 지원합니다.

SP50

엔터프라이즈 규모 프로덕션

처리량이 많은 스트림과 광범위한 변환 로직을 위해 설계된 최고 성능 옵션입니다. SP50 프로세서는 대규모 병렬 처리 또는 컴퓨팅 집약적인 워크플로가 필요한 작업에 적합합니다.

적절한 계층 선택할 때 다음 요소를 고려하세요.

스트림 프로세서는 일반 작업보다 초기 실행 중에 더 많은 리소스가 필요할 수 있습니다. 예시 를 들어 프로세서가 대규모 Atlas 컬렉션 대해 $initialSync 를 수행하는 경우 해당 프로세서는 동기화 기간 동안 많은 I/O 및 계산을 지원 해야 합니다.

이러한 증가된 수요를 흡수하려면 일시적으로 상위 계층 선택하고 동기화가 완료되고 프로세서가 새로운 변경 스트림 이벤트만 사용하도록 전환되면 프로세서를 축소 확장하다 .

집계 파이프라인 로직은 CPU 및 RAM 소비의 프라이머리 운전자 입니다.

  • Windows: 오래 지속되는 창은 이동 중에 보관하기 위해 더 많은 RAM 사용합니다.
    문서.
  • 사용자 지정 로직: Javascript $function 단계 또는 복잡한 그룹화
    로직은 각 메시지의 계산 요구 사항을 증가시킵니다.
  • 복합 복잡성: 상태 저장 또는 계산적으로 복잡한 추가 단계
    리소스 수요에 더 많은 잠재적 변동이 발생합니다. 잉여 용량 유지하면 사용량이 급증하는 동안에도 일관적인 처리량 보장됩니다.

각 네트워크 또는 저장 문의 점 스트림 프로세서의 오버헤드 증가시킵니다.

  • 소스 또는 싱크 밀도: 병렬화된 읽기 또는 쓰기
    소스 또는 싱크(예: 파티션이 있는 Apache Kafka 주제)는 I/O 요구 사항을 증가시킵니다.
  • 데이터 강화: $lookup$https 단계, 및 작업
    스트림 의 데이터를 보강하기 위해 Atlas 컬렉션을 사용하려면 네트워크 대역폭과 연결 풀링 필요합니다.
  • 조정: 많은 소스를 조정하는 복잡한 배포에서
    스트림 프로세서는 이러한 각 노드 간에 데이터 흐름을 라우팅하는 허브 제공 을 할 수 있습니다. 이러한 프로세서는 SP30 SP50 계층의 처리량이 더 높은 처리량 누릴 수 있습니다.

반대로 처리량이 많은 스트림 처리 워크로드는 연결된 리소스에 대한 수요를 증가시킬 수 있습니다.

  • Atlas 에 미치는 영향 : 스트림 의 대용량 병렬 I/O

    프로세서는 소스 또는 싱크 Atlas 클러스터의 읽기 또는 쓰기 (write) 용량 초과할 수 있습니다. 이는 프로세서의 지연 시간 증가시킬 뿐만 아니라 해당 클러스터에 의존하는 다른 워크로드에 병목 현상을 일으킬 수 있습니다.

    시스템 전체의 성능을 보장하려면 상호 작용 하는 프로세서에 비례하여 Atlas cluster를 확장하다 .

처리 로직이 간단한 경우에도 성능 목표를 달성하려면 더 높은 계층의 프로세서가 필요할 수 있습니다.

  • 높은 처리량: 상위 계층 프로세서가 스트림을 더 잘 지원
    빠른 속도로 이벤트를 생성합니다.
  • 짧은 지연 시간 SLA: 상위 계층 프로세서가 제공하는 높은 병렬 처리는 속도가 중요할 때 이벤트가 대기열에 누적되지 않도록 하는 데 도움이 됩니다. 특히 SP50 프로세서는 SP30 프로세서보다 4배 더 많은 스레드를 제공합니다.

  • 데이터 인리치먼트 및 캐싱: 을(를) 사용하여 인리치먼트하는 경우 $cachedLookup
    정적 또는 느리게 변화하는 참조 데이터가 많은 스트림은 캐싱에 필요한 RAM 제공하기 위해 상위 계층 프로세서를 선호합니다.
  • 복합 싱크: 특정 싱크는 더 비쌉니다.
    변환, 트랜잭션 및 파일 관리 오버헤드. 이러한 싱크와 상호 작용 프로세서의 경우 계층이 높을수록 일관적인 성능과 지연 시간 보장하는 데 도움이 됩니다.

Atlas Stream Processing 확장 수직입니다. 프로세서를 중지하고 새 계층 선택한 다음 다시 시작하여 프로세서를 확장하다 하거나 축소할 수 있습니다. Atlas Stream Processing 체크포인트는 전환 중에 데이터가 손실되지 않도록 합니다. 프로세서의 성능을 정기적으로 모니터링하고 이 가이드 에 설명된 요인에 따라 계층을 조정합니다.

돌아가기

시작하기

이 페이지의 내용