개요(StreamInsight)

Microsoft StreamInsight에서는 CEP(복합 이벤트 처리) 응용 프로그램을 개발 및 배포하는 데 사용할 수 있는 강력한 플랫폼을 제공합니다. CEP는 이벤트 스트림을 높은 처리량과 낮은 대기 시간으로 처리하는 기술입니다. 이벤트 스트림 원본은 일반적으로 제조 응용 프로그램, 금융 거래 응용 프로그램, 웹 분석 또는 운영 성과 분석의 데이터를 포함합니다. 개발자는 StreamInsight 스트림 처리 아키텍처 및 친숙한 .NET 기반 개발 플랫폼을 사용하여 강력하고 효율성 높은 이벤트 처리 응용 프로그램을 신속히 구현할 수 있습니다.

StreamInsight 사용 시의 주요 이점은 다음과 같습니다.

  • 최적화된 고성능 및 데이터 처리량

    StreamInsight에서는 고속 데이터에 대해 연속 쿼리를 병렬로 실행할 수 있도록 하는 간단한 스트리밍 아키텍처를 제공합니다. 메모리 내 캐시 및 증분 결과 계산을 사용하면 최고의 성능이 제공될 뿐 아니라 데이터 처리량이 높아지고 대기 시간은 낮아집니다. 대기 시간이 낮아지는 이유는 주요 처리 경로에서 비용이 많이 드는 데이터 로드 또는 저장 작업 없이 이벤트가 처리되기 때문입니다. StreamInsight에서는 모든 처리를 들어오는 이벤트가 자동으로 트리거합니다. 특히 응용 프로그램이 이벤트 폴링을 위해 오버헤드를 발생시킬 필요가 없습니다. 이 플랫폼에서는 순서가 잘못된 이벤트 처리를 위한 기능도 제공합니다. 또한 정적 참조 및 기록 데이터를 액세스하여 낮은 대기 시간 분석에 포함할 수 있습니다.

  • .NET 개발 환경

    개발자는 Visual C# 등의 Microsoft .NET 언어를 사용하여 고급 언어 플랫폼인 LINQ(Language Integrated Query)를 포함 쿼리 언어로 활용하면서 원하는 CEP 응용 프로그램을 작성할 수 있습니다. 대부분의 개발자가 이미 이러한 기술에 익숙하기 때문에 이 기능을 사용하면 개발 비용과 응용 프로그램 개발에서 생산까지의 시간을 줄일 수 있습니다. 현재 릴리스에서 StreamInsight는 호스트 언어로 C#만 지원합니다.

    SQL에 익숙한 개발자는 LINQ를 사용하여 여러 스트림의 데이터를 처리하여 의미 있는 결과로 상관시키는 선언적 방식으로 쿼리를 신속하게 작성할 수 있습니다. StreamInsight 서버의 최적화 프로그램 및 스케줄러가 최적의 쿼리 성능을 보장합니다.

  • 유동적 배포 기능

    StreamInsight에서는 세 가지 배포 시나리오가 지원됩니다.

    • 호스팅된(포함된) DLL로 응용 프로그램에 완전히 통합하여 배포

    • 서버를 공유하는 여러 사용자 및 응용 프로그램이 포함된 독립 실행형 서버로 배포. 독립 실행형 구성에서는 StreamInsight 서버가 실행 파일과 같은 래퍼에서 실행됩니다. 서버를 Windows 서비스로 패키지할 수도 있습니다.

    • 호스팅되는 StreamInsight 서버 또는 독립 실행형 서버는 서버 팜의 일부분일 수 있습니다.

  • 관리 효율성

    • StreamInsight 서버에서 기본 제공되는 모니터링 및 관리 효율성 기능을 사용하면 CEP 응용 프로그램의 TCO(총 소유 비용)를 줄일 수 있습니다. 관리자는 StreamInsight 서버에서 제공되는 진단 보기와 관리 인터페이스를 통해 CEP 응용 프로그램을 모니터링 및 관리할 수 있습니다. 또한 관리 효율성 프레임워크는 ISV 및 시스템 통합업체가 제조 및 기타 확장 설치에서 StreamInsight 배포 시스템을 원격 모니터링 및 지원할 수 있도록 합니다.

    • StreamInsight에서는 StreamInsight 응용 프로그램에서 사용되는 쿼리를 분석 및 진단하고 문제를 해결하는 데 사용할 수 있는 독립 실행형 Event Flow Debugger를 제공합니다.

CEP 시나리오

다음과 같은 비즈니스 시나리오에서는 처리량이 높고 대기 시간은 낮은 이벤트 스트림 처리 기능이 공통적으로 필요합니다.

  • 제조 프로세스 모니터링 및 제어

  • 클릭 동향 분석

  • 금융 서비스

  • 전원 유틸리티

  • 의료

  • IT 모니터링

  • 물류

  • 통신

다음 섹션에서는 이러한 시나리오 중 일부와 이벤트 처리를 위한 시나리오 요구 사항에 대해 설명합니다.

제조 프로세스 모니터링 및 제어

작동 중단 시간을 최소화하며 제품 및 프로세스를 최적 상태로 실행하려면 제조 회사에서는 Plant-Floor 장치 및 센서에서 낮은 대기 시간으로 데이터를 수집 및 분석할 수 있어야 합니다. 일반적인 제조 시나리오에는 다음 요구 사항이 포함됩니다.

  • 컴퓨터 생성 데이터의 자산 기반 모니터링 및 집계

  • Plant-Floor 작업 및 출력의 센서 기반 관찰

  • 장치 컨트롤러를 통한 관찰 및 반응

  • 초당 최대 1만 개 데이터 이벤트를 처리하는 기능

  • 문제 발생 시 이벤트 및 경고 생성

  • 주요 장비에 대한 상황 기반 사전 유지 관리

  • 집계된 데이터(기간 이동 및 로그 눈금)에 대한 대기 시간이 낮은 분석

클릭 동향 분석

상업적 웹 사이트에서 최적의 고객 환경을 구축하려면 사이트에서 수행되는 상호 작용과 사용자 동작을 낮은 대기 시간으로 처리해야 합니다. 일반적인 클릭 동향 분석 응용 프로그램에는 다음 요구 사항이 포함됩니다.

  • 대기 시간이 낮은 클릭 동향 분석을 기반으로 페이지 레이아웃, 탐색 및 프레젠테이션을 지정하는 기능

  • 트래픽 사용량이 가장 많을 때 초당 최대 10만 개 데이터 이벤트를 처리하는 기능

  • 즉각적인 클릭 동향 패턴 감지 및 대상이 지정된 광고로 대응

금융 서비스 환경의 알고리즘 트레이딩

대용량 데이터 처리 요구 사항이 적용되는 알고리즘 트레이딩의 일반적인 요구 사항은 다음과 같습니다.

  • 초당 최대 10만 개 데이터 이벤트를 처리하는 기능

  • 시간 결정적 쿼리 처리

  • 매우 짧은 기회 기간 이내에 현재 시장 상황을 모니터링하여 수익 창출

  • 입력 데이터 스마트 필터링

  • 시간에 따라 여러 데이터 원본에 대해 패턴을 정의하여 포트폴리오에서 자산의 구입/매각/보유 결정을 자동으로 트리거하는 기능

전원 유틸리티

유틸리티 분야에는 일렉트릭 그리드 및 기타 유틸리티를 관리하기 위한 효율적 인프라가 필요합니다. 이러한 시스템의 일반적인 요구 사항은 다음과 같습니다.

  • 에너지 또는 용수 소모량 변화에 즉각적으로 대응하여 공급 중지 또는 기타 서비스 중단 방지 또는 최소화

  • 스마트 그리드로의 이전을 통해 운영 및 환경 효율성 확보

  • 그리드를 따르는 여러 집계 수준

  • 수백만 개의 데이터 원본 중 초당 최대 10만 개 이벤트를 처리하는 기능

참고 항목

개념

StreamInsight 서버 아키텍처

StreamInsight 서버 개념