Data Lake 정의
- 자연/원시 포맷 형태로 저장된 데이터의 시스템 또는 저장소
- 원시 데이터와 변환된 데이터를 포함한 기업의 모든 데이터를 저장하는 단일 저장소
(출처 : https://en.wikipedia.org/wiki/Data_lake)
Data Lake 는 한 마디로 자연/원시 포맷 형태를 저장하는 단일 저장소 라고 할 수 있습니다.
Data Lake 의 특징
Data Lake 는 아래와 같이 몇 가지 특징들이 있습니다.
- 다양한 형태(Format) 지원(정형/반정형/비정형/바이너리 데이터)
- Sacle-out 구조를 통한 대용량 데이터 저장
- 데이터 추출과 탐색
Data Lake 설계 시, 데이터 추출과 탐색 등 데이터 관리 측면 을 고려하지 않는다면 데이터 늪(Data Swamp) 이 될 가능성이 매우 높습니다.
Data Warehoue vs Data Lake
그럼 기존 Data Warehouse dhk는 어떤 차이가 있는지 알아보도록 하겠습니다. 가장 큰 차이는 바로 구축 방법입니다.
먼저 Data Warehouse 는 ETL(Extract-Transform-Load) 방식을 사용합니다. 미리 정의된 분석 주제에 맞게 데이터를 가공하고 이를 적재합니다. 미리 가공되어 적재 된 데이터는 OLAP 툴이나 SQL 질의를 통해 조회할 수 있기 때문에 일반 비즈니스 전문가도 손쉽게 분석을 수행할 수 있습니다. 그러나 새로운 분석 주제가 추가되면 이러한 과정을 반복해야 되기 때문에 확장성/유연성이 떨어집니다. 최근 들어 데이터 분석 기계학습 등 방법과 그 주제가 다양해지고 있는 추세입니다. 따라서 Data Warehouse 로는 이러한 추세에 대응하는데는 분명 한계점이 있습니다.
이와 달리 Data Lake 는 ELT(Extract-Load-Transfrom) 방식을 사용합니다. 앞서 설명 드렸듯이 가공하지 않은 원시데이터를 저장소에 바로 적재합니다. Data Lake 에서는 실제 데이터를 활용하는 시점에 데이터를 가공합니다. 데이터를 미리 가공하지 않았기 때문에 다양한 분석 방법에 유연하게 대응할 수 있습니다. 그러나 더 많은 저장 공간을 필요하게 되고 데이터를 직접 가공할 수 있는 역량까지 갖추고 있는 Data Scientist 를 주 사용자로 합니다.
(경우에 따라서 Data Lake 내의 원시데이터를 이용하여 미리 가공한 데이터 셋도 적재하기도 합니다.)
Data Lake Architecture
위 그림은 일반적인 Data Lake 의 아키텍쳐 입니다. 다양한 데이터 소스로부터 다양한 인터페이스를 수집하여 가공없이 Data Lake 에 적재합니다. Data Lake 는 엄청난 대용량 데이터를 다루다 보니 필요에 따라 일부 정제된 데이터를 저장(Refiend Zone) 하기도 합니다. 그리고 주 사용자가 Data Scientist 이기 때문에 분석 모델을 개발할 수 있는 환경인 Sandbox 도 고려해야 합니다. 그리고 데이터 늪이 되지 않기 위해 메타 관리, 데이터 품질 관리, 데이터 탐색(Data Catalog), 데이터 보안이 고려된 Data Governance 도 필요합니다.
'Big Data' 카테고리의 다른 글
Apache Kudu (0) | 2020.03.30 |
---|