개념
데이터 레이크는 대규모 Raw 데이터(가공되지 않은)를 한 곳에 모아 저장하는 리포지토리이다.
"데이터 레이크"라는 용어는 Pentaho의 CTO(최고 기술 책임자)인 James Dixon이 처음으로 소개했다. 이러한 유형의 데이터 리포지토리를 레이크라고 부르는 이유는 필터링되거나 패키지화되지 않은 수역과 같은 자연 상태의 데이터 풀을 저장하기 때문이다. 데이터는 여러 소스에서 레이크로 흐르며 원래 형식으로 저장된다.
Data Lake의 등장과 발전
기존에는 데이터가 생성된 영역별로 수집 및 관리가 이루어졌으며 주로 정형화된 데이터로만 분석되어왔다. 하지만 빅데이터와 인공지능 기술의 중요성이 커지면서 다양한 영역의 다양한 데이터가 만나 새로운 가치를 만들어내기 시작하였다. 이와 같이 빅데이터를 효율적으로 분석하고 사용하고자 다양한 영역의 Raw 데이터(가공되지 않은 데이터)를 한 곳에 모아서 관리하고자 데이터 레이크가 등장하였다.
데이터 레이크를 사용하면 대규모의 다양한 Raw 데이터를 관리할 수 있으며, 데이터에 대해 전체적인 대규모 리포지토리를 엔터프라이즈 환경에서 데이터 관리 전략으로 보편화할 수 있다. Raw 데이터는 특정 목적을 위해 처리되지 않은 데이터를 뜻한다. 데이터 레이크에 있는 데이터는 쿼리되기 전까지는 정의되지 않는다. 데이터 과학자들은 보다 고도화된 분석 툴이나 예측 모델링을 사용하여 원시 데이터에 액세스할 수 있다. 또한 데이터 레이크를 사용하면 모든 데이터가 보존되며, 스토리지에 저장하기 전에 제거되거나 필터링되지 않는다. 데이터는 얼마 후 바로 분석에 사용될 수도 있고 전혀 사용되지 않을 수도 있다. 또한 데이터가 다양한 목적으로 여러 번 사용될 수도 있지만, 특정 목적으로 정제되어 여러 방식으로 재활용하기 어려운 경우도 있다.
데이터 레이크에 있는 데이터는 분석을 위해 필요할 때 변환되며, 이러한 경우 스키마가 적용되어 데이터 분석이 가능해진다. 이는 "읽기 스키마(schema on read)"라고 불리는데, 데이터가 사용 준비 상태가 될 때까지 원시 상태로 보관되기 때문이다.
사용자는 데이터 레이크에서 데이터를 다른 시스템으로 이동시킬 필요 없이 원하는 방식으로 데이터에 액세스하여 이를 탐색할 수 있다. 다른 플랫폼이나 다른 유형의 데이터 리포지토리에서 분석 리포트를 정기적으로 가져오는 대신 상황에 따라 인사이트 및 보고를 데이터 레이크에서 얻는다. 그러나 사용자는 스키마 및 자동화를 적용하여 필요한 경우 리포트를 복제할 수 있다. 해당 데이터를 사용하고 이에 액세스할 수 있도록 거버넌스를 통해 데이터 레이크를 지속적으로 유지 관리해야 한다. 제대로 유지관리하지 않으면 데이터 관리가 어렵고 비용이 많이 들며 쓸모없는 액세스 불가능한 정크가 될 위험이 있다. 이처럼 사용자가 액세스할 수 없는 데이터 레이크를 "데이터 늪(data swamp)"이라고 표현한다.
Data Lake vs Data Warehouse
데이터 레이크와 데이터 웨어 하우스는 혼용되는 경우가 있는데 빅데이터를 위한 스토리지 리포지토리(Storage Repository)라는 점을 제외하면 엄연히 다른 개념이다. 많은 기업들이 데이터 웨어하우스와 데이터 레이크를 모두 사용하여 특정 요구 사항과 목표를 충족하고자 하고 있다.
가장 큰 뚜렷한 차이점은 데이터 모델의 구조화이다. 데이터 웨어하우스는 보고를 위해 설계된 구조화된 데이터 모델을 제공한지만 반면에 데이터 레이크는 현재 정의된 목적이 없는 비정형 원시 데이터를 저장한다. 데이터 웨어하우스에서 데이터가 저장되기 전에 처리되어야 한다. 데이터 웨어하우스에 어떤 데이터를 포함시킬지 결정하게 되는데, 이를 "쓰기 스키마(schema on write)"라고 한다. 데이터를 데이터 웨어하우스에 저장하기 전에 데이터를 정제하는 프로세스는 시간이 오래 걸리고 어려울 수 있으며 몇 개월 또는 몇 년씩 걸리는 경우도 있으므로, 즉시 데이터를 수집할 수 없다. 반면에 데이터 레이크를 활용하면 즉시 데이터를 수집하여 향후 해당 데이터를 어디에 사용할지 파악할 수 있다.
'Archived(IT) > 배경지식_기술' 카테고리의 다른 글
Deep Learning(딥러닝) (0) | 2020.05.13 |
---|---|
Machine Learning(머신 러닝) (0) | 2020.05.07 |
형상관리 툴 SVN(SubVersioN), Git과의 차이점 (0) | 2020.04.10 |
이기종 시스템 아키텍처(Heterogeneous System Architecture) (0) | 2020.02.17 |
블록체인의 이해와 트렌드 (0) | 2020.01.28 |