Lambda 구조
3494 단어 Hadoop
Q :
:
A :
, , , 。
2. 람 다 아 키 텍 처 를 왜 쓰 나
빅 데이터 처리 시스템 에서 데이터 처리 의 신뢰성 과 실시 성 은 한 쌍 의 모순 으로 왕왕 겸 할 수 없다.신뢰성 이란 어떠한 이상 이 발생 한 상황 에서 도 데이터 처 리 는 다시 잃 어 버 리 지 않 고 최종 적 으로 정확 한 결 과 를 얻 을 수 있다 는 것 을 말한다.실시 성 이란 데이터 가 입력 에서 처리 완료 출력 까지 의 시간 간격 을 말한다.일반적으로 Hadoop MapReduce 와 같은 일괄 처리 시스템 에 있어 신뢰성 이 높 고 실시 성 이 떨어진다.Storm 과 같은 흐름 처리 시스템 에 있어 서 는 상황 이 정반 대 이다.그렇다면 데이터 처리 시스템 이 높 고 신뢰 할 수 있 으 며 낮은 지연 을 할 수 있 는 방법 은 없 을 까?람 다 아 키 텍 처 가 이 문제 의 답 이다.
Lambda Architecture 는 다음 과 같은 수 요 를 만족 시 키 기 위해 서 입 니 다.
•
•
•
•
Lambda Architecture 는 batch layer, speed layer, serving layer 로 구성 되 어 있 습 니 다.
입력 단 에서 데 이 터 를 집중 적 으로 수신 하고 데 이 터 를 복사 하여 각각 batch layer 와 speed layer 로 가 져 옵 니 다.
3. 구성
3.1 Batch Layer
• 이 층 의 기능 은 주로 두 가지 가 있다.
1.
2. , view
• Batch layer 의 직책 은 데이터 처리 의 정확성 과 신뢰성 을 확보 하 는 것 입 니 다.
• Batch layer 는 먼저 데 이 터 를 HDFS 에 원본 형식 으로 저장 하여 시스템 의 신뢰성 을 강화 합 니 다.그리고 Hadoop MapReduce 작업 을 이용 하여 데 이 터 를 처리 하고 결 과 를 저장 합 니 다 (이러한 처리 후의 데 이 터 를 batch view 라 고 합 니 다).Hadoop 작업 은 매우 좋 은 노 봉 성 을 가지 고 있어 운행 과정 에서 각종 이상 이 발생 할 때 데 이 터 를 손실 하지 않 는 다.저장 시스템 에 있어 이런 일괄 처리 방식 은 무 작위 읽 기, 추가 쓰기 만 필요 하고 무 작위 쓰기, 잠 금, 데이터 일치 성 등 문 제 를 처리 할 필요 가 없 기 때문에 저장 시스템 의 설 계 를 크게 간소화 했다.그러나 batch layer 는 데이터 처리 지연 이 매우 크 고 보통 몇 시간 에서 며칠 입 니 다.
3.2 Speed Layer
• Speed layer 의 직책 은 모든 실시 간 처리 수 요 를 만족 시 키 는 것 이다.
• Speed layer 는 보통 Storm 과 같은 스 트림 컴 퓨 팅 플랫폼 을 바탕 으로 빠 른 증분 식 알고리즘 을 통 해 분 급, 초 급, 심지어 밀리초 급 으로 데 이 터 를 읽 고 분석 하 며 저장 합 니 다.저장 시스템 에 대해 서 는 지속 적 인 update 작업 을 지원 해 야 하기 때문에 디자인 이 복잡 합 니 다.문 제 를 간소화 하기 위해 서 는 보통 창 을 그 리 는 체 제 를 사용 하여 한 동안 의 데 이 터 를 저장 합 니 다. 창 을 그 리 는 시간 은 보통 batch layer 의 데이터 처리 와 일치 합 니 다.
• 스 트림 처 리 는 메모리 로 계산 하 는데 이것 은 이상 (예 를 들 어 업그레이드 나 작업 노드 이상) 이 발생 할 때 데이터 의 손실 이나 계산 결과 의 오 류 를 초래 할 수 있다 는 것 을 의미한다.그러나 Lambda Architecture 는 이러한 문 제 를 지나치게 고려 할 필요 가 없습니다. 다음 batch layer 작업 은 모든 데 이 터 를 다시 처리 하고 정확 한 결 과 를 얻 을 수 있 기 때 문 입 니 다.
3.3 Serving Layer
• Serving layer 의 직책 은 speed layer 출력 데 이 터 를 batch layer 출력 데이터 에 merge 하여 완전한 출력 데 이 터 를 얻 고 HBASE 와 같은 NoSQL 데이터베이스 에 저장 하여 온라인 검색 응용 에 서 비 스 를 제공 하 는 것 입 니 다.batch 계산 결과 위 에 meger 소량의 실시 간 데이터 가 있 는데 그 결 과 는 완전히 batch 계산 을 사용 하 는 것 에 비해 매우 좋 은 근사 성 을 가진다.
4. Lambda Architecture 의 수익
• 알고리즘 은 역사 데이터 와 단기 실시 간 데 이 터 를 동시에 분석 하여 정확성 과 실시 성 을 동시에 고려 할 수 있 습 니 다.
• 저장 매체 에 대한 무 작위 기록 이 크게 줄 어 들 고 성능 이 향상 되 었 습 니 다.
• Batch Layer (HDFS 에) 는 원본 데 이 터 를 저장 하여 인위적인 오류 로 인 한 데이터 손실 을 피 할 수 있 습 니 다.
잘못 사용 하 다Speed Layer 에서 처 리 된 데이터 도 Batch Layer 에 계속 기 록 됩 니 다. Batch Layer 에서 재 계산 한 데이터 세트 가 Speed Layer 에서 처리 한 데이터 세트 를 포함 하면 현재 Realtime View 를 버 릴 수 있 습 니 다. 이 는 Speed Layer 처리 에 도 입 된 오 류 를 Batch Layer 에서 재 계산 할 때 수정 할 수 있 음 을 의미 합 니 다.
복잡성 격 리Batch Layer 는 오프라인 데 이 터 를 처리 하여 잘 제어 할 수 있 습 니 다.Speed Layer 는 증분 알고리즘 으로 실시 간 데 이 터 를 처리 하 는데 복잡성 이 Batch Layer 보다 훨씬 높다.Batch Layer 와 Speed Layer 를 분리 하여 복잡성 을 Speed Layer 로 격 리 하면 전체 시스템 의 노 봉 성과 신뢰성 을 높 일 수 있다.
물론 이런 수익 을 얻 는 데 도 대가 가 있다.Batch layer 와 speed layer 는 사실상 중복 계산 을 했다.자원 의 측면 에서 볼 때 Lambda architecture 는 더 많은 자원 을 소모 했다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 액세스 Hadoop 분산 파일 시스템 HDFS 구성 설명프로파일 m103은hdfs 서비스 주소로 바꿉니다. Java 클라이언트를 이용하여 HDFS의 파일을 액세스하려면 프로필hadoop-0.20.2/conf/core-site를 사용해야 합니다.xml입니다. 처음에 저는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.