lakeFS 홈
lakeFS는 Git과 같은 방식으로 데이터 레이크에 버전 관리를 적용하는 오픈소스 플랫폼이에요. Git을 다루어 보셨다면 lakeFS도 금방 익숙해지실 거예요. 브랜칭(branching)으로 데이터의 격리된 버전을 만들고, 커밋(commit)으로 재현 가능한 시점을 기록하고, 머지(merge)로 변경 사항을 원자적으로 하나로 통합하는 개념을 그대로 데이터 레이크에 적용할 수 있어요.
출처: 문서
본문
바로 이 컨트롤 플레인 덕분에 데이터를 AI 에이전트에 안전하게 맡길 수 있어요. 각 에이전트에게 격리된 제로카피(zero-copy) 브랜치를 하나씩 주고, 프로덕션에 반영되기 전에 풀 리퀘스트로 변경을 게이트링해서 사람이 검토하게 만들고, 에이전트가 무엇을 했는지 정확히 감사(audit)할 수 있어요. 검색 파이프라인이나 학습 데이터 워크플로, 자율 데이터 에이전트를 만드는 팀들이 lakeFS를 써서 프로덕션 데이터의 신뢰성을 위험에 빠뜨리지 않으면서 빠르게 움직이고 있어요.
📽️ 2분 안에 보는 lakeFS
어떻게 시작하나요?
핸즈온 퀵스타트가 lakeFS의 핵심 기능 몇 가지를 안내해 줘요.
여기에는 브랜칭, 머징, 그리고 데이터 변경 사항 롤백이 포함돼요.
Tip
아무것도 설치하지 않고 lakeFS를 체험해 보고 싶다면 lakeFS Cloud 무료 체험을 이용해 보세요.
lakeFS의 주요 기능
- 포맷에 구애받지 않고 구조화 데이터와 비구조화 데이터 모두에서 동작해요
- 다양한 데이터 도구와 플랫폼과 함께 동작해요
- 기존 데이터를 복사할 필요 없이 데이터는 제자리에 그대로 있어요
- 제로카피 브랜칭으로 데이터 복제를 없애 줘요
- 어떤 크기의 데이터 레이크에서도 높은 성능을 유지해요
- 설정 가능한 가비지 컬렉션 기능이 포함되어 있어요
- 프로덕션에서 검증되었고 활발한 커뮤니티가 있어요
lakeFS는 다른 도구와 어떻게 함께 동작하나요?
lakeFS는 AWS S3, Azure Blob Storage, Google Cloud Storage(GCS), S3 호환 스토리지 솔루션, 심지어 로컬 마운트 디렉터리까지 지원해요. Spark, AWS SageMaker, Pandas, Tensorflow, Polars, HuggingFace Datasets 같은 인기 데이터 프레임워크와도 매끄럽게 통합돼요.
lakeFS를 사용하면 여러분이 평소 쓰던 도구와 라이브러리로 리포지토리에서 데이터를 직접 읽고 쓸 수 있어요.
예시: lakeFS + Pandas
>>> import pandas as pd
>>>
>>> df = pd.read_csv('lakefs://example-repository/main-branch/path/to.csv')
이 방식에서 lakeFS는 메타데이터 레이어로 동작해요. 해당 데이터 버전에 필요한 객체를 기반 스토리지에서 어떤 것들을 가져와야 하는지 파악한 뒤, pre-signed URL을 통해 클라이언트가 스토리지에서 파일을 직접 읽고 쓰게 해 줘요. 덕분에 lakeFS는 매우 효율적이면서도 높은 보안성을 갖출 수 있어요.
또한 lakeFS는 S3 API와의 호환성을 유지해서 도입 마찰을 최소화해요. 데이터 레이크를 다루는 모든 도구의 입장에서 lakeFS는 S3의 드롭인 대체재로 쓸 수 있어요.
예시
예를 들어 Boto3(Python)로 객체 스토어에서 비구조화 데이터를 읽는 흔한 연산을 살펴볼게요:
>>> import boto3
>>>
>>> s3 = boto3.resource('s3')
>>> obj = s3.Object('example-repository', 'main-branch/path/image.png')
>>> image_data = obj.get()['Body'].read()
lakeFS 리포지토리를 사용할 때도 기존에 데이터를 읽고 쓰던 것과 동일한 메서드와 문법을 그대로 쓸 수 있어요. 덕분에 lakeFS 도입이 단순해져서 시작할 때 최소한의 변경만 필요하고, 이후 변경도 점진적으로 진행할 수 있어요.
lakeFS는 데이터를 위한 Git이에요
Git이 코드 영역에서 보편화된 이유는 개발자에게 필요한 엔지니어링 모범 사례를 가장 잘 지원했기 때문이에요:
- 개발 과정에서의 협업
- 특정 코드 버전으로 이슈 재현 및 문제 해결
- 격리된 환경에서의 개발과 테스트
- 오류가 생겼을 때 안정 버전으로 코드 되돌리기
- 새 코드의 지속적 통합과 배포(CI/CD)
lakeFS는 오늘날 데이터 실무자들이 놓치고 있는 바로 그 혜택들을 제공하고, 코드를 관리하듯 데이터를 쉽게 관리할 수 있도록 직관적인 Git 스타일 인터페이스를 제공해요. 버저닝 엔진을 통해 lakeFS는 Git에서 익숙한 다음 내장 연산들을 지원해요:
- Branch(브랜치) 다른 브랜치와 그 변경 사항들로부터 격리된, 리포지토리의 일관된 복사본이에요. 브랜치 초기 생성은 객체를 복제하지 않는 메타데이터 연산이에요.
- Commit(커밋) 리포지토리의 완전한 스냅샷을 담은 불변(immutable) 체크포인트예요.
- Merge(머지) 두 브랜치 사이에서 수행되며, 한 브랜치의 변경 사항을 다른 브랜치에 원자적으로 반영해요.
- Revert(되돌리기) 리포지토리를 이전 커밋의 정확한 상태로 되돌려요.
- Tag(태그) 읽기 쉽고 의미 있는 이름으로 단일 불변 커밋을 가리키는 포인터예요.
- Hooks(훅)
pre-merge,post-create-branch같은 이벤트가 발생할 때 검증과 액션을 실행해요.
Info
자세한 정의는 오브젝트 모델 문서를, 전체 명령 목록은 CLI 레퍼런스를 참고하세요.
이런 연산들을 데이터와 모델 개발에 도입하면 소스 컨트롤로 애플리케이션 코드를 관리할 때 얻는 것과 같은 협업·조직적 혜택을 누릴 수 있어요.
lakeFS는 나에게 어떤 도움이 되나요?
lakeFS는 여러 가지 방식으로 데이터 레이크를 깔끔하게 유지하도록 도와줘요.
재현성: 특정 시점의 내 데이터는 어떤 모습이었나요?
주어진 시점의 데이터를 그대로 볼 수 있는 능력은 최소 두 가지 시나리오에서 특히 유용해요:
-
ML 실험의 재현성 ML 실험은 반복적이라 특정 결과를 재현할 수 있어야 해요. lakeFS를 사용하면 데이터를 포함한 ML 실험의 모든 측면을 버저닝할 수 있어요. 이를 통해: 데이터 계보(Data Lineage): 원시 데이터셋부터 실험에 사용된 최종 버전까지 데이터 변환을 추적해 투명성과 추적성을 확보해요. 제로카피 브랜칭: 가벼운 데이터 브랜치를 만들어 스토리지 사용을 최소화하고 여러 버전에 걸쳐 손쉽게 실험할 수 있어요. 쉬운 통합: MLFlow 같은 ML 도구와 매끄럽게 통합되어 실험을 사용된 정확한 데이터 버전에 직접 연결하므로 재현이 간단해져요. lakeFS는 모든 데이터 버전에 쉽게 접근하고, 추적하고, 재현할 수 있게 해서 ML 워크플로를 한 단계 끌어올려요.
-
프로덕션 문제 트러블슈팅 때로 사용자가 불일치를 보고하거나 정확성에 의문을 제기하거나 데이터나 추론 결과가 틀렸다고 신고하기도 해요. 데이터가 계속 변하다 보니 오류가 발생한 시점의 상태를 파악하기가 어렵죠. lakeFS를 사용하면 커밋에서 브랜치를 만들어 문제를 격리된 환경에서 디버깅할 수 있어요.
👉🏻 더 읽기
개발과 학습 중의 협업
lakeFS에서는 팀원 각자가 다른 사람의 변경으로부터 격리된 자기만의 브랜치를 만들 수 있어요.
덕분에 서로 발을 밟지 않고 알고리즘이나 변환 로직의 변경을 반복적으로 실험할 수 있어요. 이 브랜치들은 중앙에서 관리되어 사용자 간 공유와 협업, 심지어 머지까지 가능해요.
lakeFS에서는 풀 리퀘스트를 열 수도 있어서 다른 멤버들과 변경을 쉽게 공유하고 함께 작업할 수 있어요.
제로카피 브랜칭으로 격리된 개발/테스트 환경 만들기
lakeFS는 제로카피 브랜치를 활용해 변환, 모델 개발, 병렬 실험, ETL 프로세스를 위한 격리된 개발/테스트 환경 구축을 쉽게 만들어 줘요. 프로덕션 데이터에 영향을 주지 않으면서 코드 변경을 테스트·검증하고, 격리된 클론에서 프로덕션 데이터로 분석과 실험을 수행할 수 있어요.
👉🏻 더 읽기
데이터 변경 롤백과 데이터 오류 복구
사람의 실수나 설정 오류로 잘못된 데이터가 프로덕션에 유입되거나 중요 데이터가 실수로 삭제될 수 있어요. 전통적인 백업은 오래되었거나 객체 단위로 일일이 뒤져야 하는 시간 소모가 커서 이런 상황의 복구에 부적합한 경우가 많아요.
lakeFS를 사용하면 잘 정의된 시점에 데이터 스냅샷을 커밋해 두어 이런 비효율을 피할 수 있어요. 덕분에 즉시 복구가 가능해요. 좋은 과거 커밋을 찾아 단 한 번의 연산으로 복원하거나 복사하면 돼요.
👉🏻 더 읽기
데이터 품질 보증 확립 - Write-Audit-Publish
실수를 다루는 가장 좋은 방법은 애초에 실수를 만들지 않는 것이에요. 레이크에 유입되는 데이터 소스가 저품질 데이터를 가져오는 경우, 노출되기 전에 차단할 수 있다면 그것이 최선이에요.
lakeFS에서는 lakeFS 훅을 통해 커밋과 머지 연산에 데이터 품질 테스트를 연동해 이를 달성할 수 있어요.
👉🏻 더 읽기
다음 단계
lakeFS 에디션을 비교해 나에게 맞는 것을 고르거나, 퀵스타트를 로컬에서 실행하거나, 완전 관리형 호스티드 서비스를 체험해 보세요.
더 알아보기 (Learn more)
공식 문서의 전체 안내는 https://docs.lakefs.io/ 에서 확인할 수 있어요.