언제 그리고 언제–오픈 소스 아파치 카산드라,카프카,스파크 및 엘라스틱 검색

거의 모든 기술 의사 결정은 두 가지 필수 기준을 충족해야합니다:그것은 당신의 비즈니스 목표를 달성 할 수 있도록해야하며,그것은 당신의 기술 스택의 나머지 부분과 함께 잘 작동해야합니다. 이 응용 프로그램 아키텍처를 구축하기 위해 데이터 계층 기술을 선택에 올 때,오픈 소스 아파치 카산드라,아파치 카프카,아파치 스파크 및 엘라스틱 검색은 인기가 상승하고 있습니다.

그러나 모든 사용 사례에 적합한 선택은 아닙니다.

이러한 각 기술과 이러한 오픈 소스 솔루션의 유리한 응용 프로그램과 그렇지 않은 사용 사례를 자세히 살펴 보겠습니다.

아파치 카산드라

2007 년 페이스북에서 처음 만든 카산드라는 다이나모 아키텍처와 빅테이블 스타일의 데이터 모델을 활용하여 고가용성과 높은 확장성을 제공하는 Nos 데이터 저장소를 제공한다.

아파치를 사용해야 할 때 카산드라

카산드라는 최고 수준의 상시 가용성을 요구하는 사용 사례에 이상적인 선택입니다. 이 데이터베이스는 또한 대규모 워크로드를 예상하거나 워크로드가 확장 될 때 서비스가 유연하게 성장할 수 있도록(따라서 카산드라가 제공하는 쉬운 확장 성이 필요함)원하는 조직에 서비스를 제공하는 데 특히 적합합니다. 카산드라는 여러 데이터 센터에서 신뢰할 수있는 데이터 중복성 및 활성-활성 작업을 제공합니다.

하지 말아야 할 때 카산드라는 데이터 웨어하우징 또는 순수 분석 스토리지(사용 가능한 스파크 커넥터와 극적 장면 및 하둡 플러그인의 사용을 고려)를 맡을 때 대안보다 리소스 집약적입니다. 또한 카산드라는 특히 최종 사용자 애드혹 또는 사용자 지정 쿼리의 형태로 실시간 분석에 적합하지 않습니다. 또한 카산드라는 대부분의 산 요구 사항을 충족하지 않습니다.

아파치 카프카

처음 링크드 인에서 기술 팀에 의해 만들어진,아파치 카프카는 확장 성이 높고 가용성이 높은 스트리밍 플랫폼과 메시지 버스를 제공합니다. 카프카는 새로 도착한 메시지가 큐 헤드에 추가되고 독자(소비자)가 오프셋을 기반으로 메시지를 소비하는 분산 로그 역할을합니다.

아파치 카프카를 사용해야 할 때

아파치 카프카는 일반적으로 마이크로 서비스 및 서비스 지향 아키텍처를 포함하는 사용 사례에 현명한 선택입니다. 카프카는 또한 별도의 작업 경로를 조정하고 작업이 도착할 때까지 듣고 대기하여 컴퓨팅 성능을 예약 할 수있는 매우 효과적인 작업 대기열 역할을 할 수 있습니다. 플랫폼의 스트림 처리 기능은 예외 탐지,롤업 및 집계뿐만 아니라 메트릭 전달에도 유용합니다. 카프카는 또한 이벤트 소싱,다양한 마이크로 서비스에서의 데이터 조정 및 분산 시스템에 대한 외부 커밋 로그를 제공 할 수있는 뛰어난 옵션입니다. 추가적인 적절한 사용 사례로는 로그 집계,데이터 마스킹 및 필터링,데이터 보강,사기 탐지 등이 있습니다.

어떤 경우에는 유혹적 일 수 있지만 카프카를 데이터베이스 또는 레코드 소스로 사용하는 것은 권장되지 않을 수 있습니다. 진정한 데이터베이스는 거의 항상 작동이 더 간단하고 유연합니다. 카프카는 전체 주제에 걸쳐 주문 처리를 위해 유사하게 부적절한 선택입니다. 실시간 오디오 및 비디오 또는 기타 손실 데이터 스트림과 같이 데이터 패킷을 최종 소스로 빠르게 진행하는 것이 목적인 모든 사용 사례에서 조직은 카프카 대신 특수 제작 솔루션을 사용해야 합니다.

아파치 스파크

대용량 데이터 볼륨과 관련된 사용 사례에 적합한 범용 클러스터 컴퓨팅 프레임워크인 아파치 스파크는 데이터를 분할하고 해당 세그먼트에서 계산을 실행하여 작업자가 다른 작업자의 데이터가 필요할 때까지 가능한 모든 작업을 수행합니다. 이 디자인은 스파크 엄청난 확장 성 및 가용성을 제공합니다,또한 데이터 손실에 대해 매우 탄력적하면서.

아파치 스파크를 사용해야 할 때

스파크는 대규모 분석과 관련된 사용 사례,특히 데이터가 여러 소스를 통해 도착하는 경우에 적합합니다. 트랜잭션 데이터 저장소에서 데이터 웨어하우스 또는 데이터 레이크를 지속적으로 채우는 데 사용하거나 데이터베이스 또는 시스템 마이그레이션과 같은 일회성 시나리오에서 시스템 간 데이터 이동을 포함하는 모든 사용 사례에 대한 강력한 솔루션입니다. 기존 데이터 위에 기계 학습 파이프라인을 구축하거나,대기 시간이 긴 스트리밍으로 작업하거나,대화형,임시 또는 탐색적 분석을 수행하는 조직은 강력한 적합성을 확보할 수 있습니다. 스파크는 또한 규정 준수 관점에서 데이터 마스킹,데이터 필터링 및 대용량 데이터 세트의 감사를 제공하여 조직이 규정 준수 요구 사항을 충족하도록 지원합니다.

일반적으로 스파크가 실시간 또는 낮은 대기 시간 처리와 관련된 사용 사례에 가장 적합한 선택은 아닙니다. (아파치 카프카 또는 다른 기술은 실시간 스트림 처리를 포함하여 이러한 요구에 우수한 엔드-투-엔드 대기 시간을 제공합니다.)작거나 단일 데이터 세트로 작업 할 때 스파크는 종종 너무 과도한 옵션입니다. 이 데이터웨어 하우징 및 데이터 호수에 올 때 또한,그것은 스파크에 대한 이러한 제품이 존재하지만,아파치 스파크 대신에 높은 수준의 기술을 사용하는 것이 좋습니다.

엘라스틱서치

엘라스틱서치는 구조화되지 않은 데이터를 검색하고 분석하는 다양한 기능을 갖춘 전체 텍스트 검색 엔진을 제공합니다. 이 기술은 실시간으로 확장 가능한 선형 검색을 제공하고 강력한 드롭 인 검색 대체 및 중요한 분석 기능을 제공합니다.

엘라스틱 검색을 사용해야 하는 경우

엘라스틱 검색은 전체 텍스트 검색,지리적 검색,공용 데이터 스크래핑 및 결합,로깅 및 로그 분석,시각화,소량 이벤트 데이터 및 메트릭이 필요한 사용 사례에 매우 적합합니다.

탄력적 검색을 데이터베이스 또는 레코드 원본,관계형 데이터 또는 산성 요구 사항을 충족하도록 사용해서는 안 됩니다.

보완 기술 선택

조직에 가장 적합한 기술 조합을 선택하는 것은(오픈소스이든 다른 방식이든)솔루션 자체를 평가하는 것 이상의 의미가 있습니다. 아파치 카산드라,아파치 카프카,아파치 스파크 및 엘라스틱 서치는 조직이 함께 활용할 수있는 상호 보완적인 기술 세트를 제공하며 오픈 소스 특성 덕분에 라이센스 비용 또는 공급 업체 잠금 기능을 자유롭게 제공합니다. 이러한 기술을 팀을 구성하고 수집된 이점을 실현함으로써 조직은 목표를 달성하고 확장성,사용 가능,이식성 및 복원력이 뛰어난 응용 프로그램을 개발할 수 있습니다.

벤 슬레이터는 아파치 카산드라,아파치 스파크,엘라스틱서치,아파치 카프카와 같은 오픈소스 기술의 매니지드 서비스 플랫폼을 제공하는 인스타클러스트의 최고 제품 책임자이다.

관련 항목:

여기에 더그 커팅은 하둡의 가장 큰 기여 말한다 무엇

10 년 후,아파치 스파크는 여전히 강한 것

답글 남기기

이메일 주소는 공개되지 않습니다.