람다 아키텍처(lambda Architecture)란?
in Programming on Tips
람다아키텍처(lambda Architecture)에 대해 알아보자.
람다 아키텍처 정의
오래된 데이터를 보관하는 배치(batch)테이블과 실시간 데이터를 가진 실시간 테이블을 서로 join하여 결과값을 얻을수 있도록 구성한 아키텍처이다.
람다 아키텍처 구성
구분 | 구성요소 | 내용 |
---|---|---|
배치레이어 | 저장소 | 로그서버는 모든 로그데이터를 배치 설정에 일정시간을 주기로 데이터를 저장 |
배치처리 | 로그서버에 일정주기로 데이터를 저장하고 사용자가 보기를 원하는 데이터의 형태로 계산하여 배치뷰를 생성 | |
배치뷰 | 실시간확인, 빠른데이터 제공을 위해 배체 처리 결과 데이터로 배치뷰를 생성한다. | |
실시간레이어 | 실시간처리 | 배치처리는 당일데이터를 가져올수없음. 당일 데이터는 실시간으로 처리하여 실시간뷰에 계산하여 처리. |
실시간뷰 | 사용자 이벤트 발생시 요청에 따라 계산하여 뷰를 만든다. 실시간 조회를 위해 배치레이어와 쿼리를 조인하여 만든다. | |
쿼리 | 실시간조회를 위해 배치뷰와 실시간뷰를 조인하여 데이터를 실시간 조회할 수 있도록 한다. |
결론
람다 아키텍처를 사용하면 배치데이터와 실시간데이터를 통해 상호보완하여 대용량 데이터를 실시간으로 조회할수있는 아키텍처이다. 사용자가 조회하고자하는 결과를 배치뷰로 미리 생성해놓고, 배치의 누락분인 금일데이터는 실시간조회 뷰로 만ㄷ르어 양자를 조인하여 사용자가 실시간으로 대용량데이터를 조회할수있다.
출처 https://blog.naver.com/jack68/221379570786