[MLOps] DataLake

데이터 레이크는 모든 데이터를 원본 그대로 저장하는 중앙 저장소입니다. 분산된 데이터를 통합하여 고급 분석과 머신러닝 모델 개발의 핵심 기반으로 활용할 수 있습니다.

[MLOps] DataLake
Photo by Pietro De Grandi / Unsplash

개요

조직에 있는 모든 데이터를 처리하기 위해 ETL 프로세스를 사용한다는 것을 이해했습니다.

이렇게 변환된 데이터를 한 번에 확인할 수 있는 DataLake라는 장소와 형식을 정리하였습니다.

Data Lake

데이터 레이크는 조직의 모든 데이터를 원시 형태(raw format) 그대로 저장하는 중앙 집중식 저장소입니다. 정형, 반정형, 비정형 등 데이터의 종류와 구조에 상관없이 모든 데이터를 한곳에 모아두는 거대한 데이터 보관소라고 생각할 수 있습니다.

이는 마치 다양한 강줄기(데이터 소스)에서 흘러들어온 물을 모두 담아내는 거대한 호수와 같습니다.

데이터 레이크의 핵심 역할과 특징 정리

1. 중앙 집중식 데이터 저장소

  • 단일 저장 공간: 조직 내에 흩어져 있는 모든 데이터(CRM, 웹로그, IoT, 소셜 미디어 등)가 데이터 레이크 한 곳으로 집중됩니다. 이를 통해 데이터 사일로(silo) 현상을 해결하고 전사적인 데이터 접근성을 높입니다.
  • 모든 형태의 데이터 저장: 잘 짜인 테이블 형태의 정형 데이터뿐만 아니라, 이미지, 동영상, 텍스트 문서, 로그 파일과 같은 비정형 데이터까지 원본 형태 그대로 저장할 수 있습니다. 데이터를 저장하기 전에 미리 스키마(구조)를 정의할 필요가 없습니다 (Schema-on-Read 방식).

2. 뛰어난 확장성과 유연성

  • 무한한 확장: 데이터는 끊임없이 증가합니다. 데이터 레이크는 이러한 데이터 폭증에 유연하게 대응할 수 있도록 설계되었습니다. 새로운 장비가 추가되거나 새로운 데이터 소스가 생겨도 중단 없이 데이터 스트림을 계속해서 저장하고 확장할 수 있습니다.
  • 유연한 구조: 미리 정의된 구조가 없으므로, 향후 어떤 방식으로 데이터를 분석하고 활용할지 정해지지 않은 상태에서도 일단 모든 데이터를 쌓아둘 수 있는 유연성을 제공합니다.

3. 다양한 데이터 유형 지원

  • 단순한 텍스트 로그나 숫자 데이터는 물론, 이미지, 비디오, 오디오, 실시간 스트리밍 데이터 등 거의 모든 종류의 데이터를 처리하고 저장할 수 있습니다.
  • 서비스 품질(QoS) 데이터, 데이터의 출처나 정보를 담은 메타데이터 등 데이터 자체에 대한 데이터까지 포괄적으로 관리합니다.

4. 비용 효율성

  • 데이터 레이크는 특정 도구나 소프트웨어를 지칭하는 것이 아니라, 데이터를 효율적으로 저장하고 관리하는 아키텍처(구조) 디자인을 의미합니다.
  • 주로 아마존 S3, Azure Blob Storage, 구글 클라우드 스토리지와 같은 저렴한 객체 스토리지(Object Storage)를 기반으로 구축되므로, 대용량 데이터를 기존의 데이터 웨어하우스보다 훨씬 저렴한 비용으로 저장할 수 있습니다.

5. 고급 분석 및 처리 기능 지원

  • 다양한 데이터가 한곳에 모여있기 때문에, 기존에는 불가능했던 고급 데이터 분석탐색적 분석이 가능해집니다.
  • Spark, Hadoop MapReduce 등 다양한 종류의 데이터 처리 프레임워크를 지원하여 대규모 데이터셋에 대한 복잡한 처리를 수행할 수 있습니다. 데이터의 양이 많고 다양할수록 분석 결과의 품질과 예측의 정확도는 더욱 향상됩니다.

6. 데이터 보안과 거버넌스

  • 모든 데이터가 중앙에 집중되므로, 데이터 접근 제어, 암호화, 감사 추적 등 보안 정책을 일관되게 적용하기 용이합니다.
  • 데이터의 출처, 소유권, 품질 등을 관리하는 데이터 거버넌스 정책을 수립하고 적용하여 데이터의 신뢰성과 안정성을 확보할 수 있습니다.

7. 다른 도구들과의 원활한 통합

  • 데이터 레이크는 그 자체로 완결된 시스템이 아니라, 다른 분석 및 시각화 도구와 결합될 때 진정한 가치를 발휘합니다.
  • 예를 들어, Amazon S3에 데이터를 저장하고 Athena를 사용해 SQL로 바로 데이터를 쿼리하거나, Tableau 같은 시각화 도구와 연동하여 분석 결과를 쉽게 공유할 수 있습니다.

8. 머신러닝(ML) 및 AI의 핵심 기반

  • 머신러닝 모델 개발에 있어 가장 중요한 것은 풍부하고 다양한 데이터입니다. 데이터 레이크는 모델 학습에 필요한 모든 원시 데이터를 저장하는 최적의 장소입니다.
  • 데이터 과학자들은 정제되지 않은 원본 데이터부터 가공된 데이터까지 자유롭게 접근하여 모델의 성능을 개선하고 새로운 피처(feature)를 발굴하는 등 훨씬 효율적으로 연구와 개발을 진행할 수 있습니다.