카프카는 장기간 데이터를 저장할 수있는 데이터 저장소가 될 수 있습니다. 문제없이 복제 및 배포 할 수 있습니다. 그렇다면 Kafka의 모든 기록 데이터에서 RDD를 만들고 일괄보기를 만든 다음 Spark Streaming Views와 결합 할 수 있습니까?람다 아키텍처에서 히스토리 데이터를 저장하기 위해 Apache Kafka를 배치 레이어로 사용할 수 있습니까?
0
A
답변
1
tl; dr 예,하지만 왜? 이전에 트위터와 람다 아키텍처의 저자의 나단 년 3에 따르면
, 이러한 배치 레이어의 마스터 데이터 세트에 대한 스토리지 요구 사항은 다음과 같습니다. "새로운 데이터의 효율적인 추가"
- 은 마스터 데이터 세트에 쉽게 추가 할 수 있어야합니다.
- "확장 가능한 저장소." 일괄 처리 계층은 모두의 아키텍처가 "영원히"보았던 데이터를 보유해야합니다.이 데이터는 상황에 따라 페타 바이트까지 올라갈 수 있습니다.
- "병렬 처리 지원" 서빙 레이어를 만드는 일괄보기는 마스터 데이터 세트에 기능을 적용해야하기 때문에 병렬로 실행해야만 종말이 우리 앞에 놓이게됩니다.
- "시행 가능한 불변성" 당신이하는 모든 일의 진실의 원천 인 원시 데이터의 돌연변이를 막기 위해 수표를 넣어 두는 것이 중요합니다.
- "조정 가능한 저장 및 처리 비용." 배치 레이어는 데이터를 저장하고 계산할 때 데이터를 저장하고 압축하는 방법을 결정할 수있는 유연성을 제공해야합니다.
카프카는 모든 것을 만족하므로 기술적으로 마스터 데이터 세트를 배치 레이어에 저장할 수 있습니다.
그러나 Jay Kreps (이전의 LinkedIn)가 고안 한 Kappa Architecture은 람다 아키텍처보다 훨씬 쉽게 작업 할 수 있으며 IoT와 같은 현대 사용 사례를 만족시키는 데 더 효과적이라고 말할 수 있습니다. 카프카가 제공하는 것과 똑같은 방식으로 배포, 확장 가능, 변경 불가능, 구성 가능한 스트리밍이 이루어 지도록해야합니다. 그렇다면 왜 그렇게하지 않습니까?
람다 아키텍처의 배치 레이어에서 데이터 저장을 위해 카프카를 사용하는 것은 카파의 능력을 과소 평가하는 것입니다. 실제로 카파는 시간이지나면서 실제로 덜 효과적 인 아키텍처로 강제합니다.
kafka는 ** 만족스러운 저장 및 가공 비용 ** 요구 사항을 충족합니까? hdfs와 같은 좋은 압축 기능이 있습니까? –