lakesoul-io/LakeSoul

LakeSoul is an end-to-end, realtime cloud-native Lakehouse framework for fast data ingestion, concurrent updates, incremental analytics, multimodal data processing and vector search — powering next-generation BI and AI workloads.

LakeSoul – 프로덕션급 레이크하우스 플랫폼

LakeSoul은 단순한 테이블 포맷(Apache Iceberg 등)을 넘어선 오픈 소스 lakehouse 프레임워크입니다. 메타데이터 관리 및 파일 I/O를 위해 Rust로 구현된 단일 코어를 제공하며, Java, Python, C++, Scala를 위한 관용적인 바인딩을 갖추고 있습니다. 목표는 데이터 엔지니어와 데이터 과학자에게 Spark를 통한 데이터 읽기, Flink를 통한 스트리밍, Presto를 통한 쿼리, 또는 PyTorch, Ray, Daft를 이용한 모델 학습 등 어떤 방식에서도 동일하게 작동하는 batteries-included(즉시 사용 가능한) 솔루션을 제공하는 것입니다.

주요 기능

기능 중요성
ACID 트랜잭션 & MVCC 배치 및 스트리밍 워크로드 전반에 걸쳐 일관된 읽기/쓰기를 보장합니다.
증분 upsert (행 & 열) 비용이 많이 드는 전체 재작성 없이 기본 키 테이블에 대한 고처리량 쓰기를 가능하게 합니다.
멀티 엔진 지원 Spark 3.5, Flink 1.20, Presto Velox, Ray 2.55, Daft 0.7+, DuckDB, PyArrow, Pandas – 모두 동일한 시맨틱으로 동일한 테이블을 읽고 쓸 수 있습니다.
Rust 네이티브 메타데이터 & I/O 레이어 단일 고성능 구현을 통해 언어별로 분산된 코드 경로를 방지합니다.
자동화된 분산형 다단계 컴팩션 수동 관리 작업 없이 스토리지 레이아웃을 최적으로 유지합니다.
세밀한 RBAC + S3 프록시 인증 메타데이터(PostgreSQL)와 오브젝트 스토리지 모두에서 적용되는 테이블 또는 워크스페이스 단위의 안전한 액세스 제어.
벡터 및 멀티모달 파일 포맷 (Vortex) 일반 행과 함께 임베딩 또는 기타 고차원 데이터를 저장합니다.
내장된 CDC 및 exactly-once 스트리밍 자동 스키마 동기화를 갖춘 MySQL과 같은 소스로부터의 실시간 인제스션.
스냅샷 (time-travel) 및 롤백 간편한 특정 시점 쿼리 및 복구.

일반적인 유스케이스

  • 실시간 데이터 웨어하우징 – CDC 스트림을 인제스션하고, exactly-once 보장으로 테이블을 최신 상태로 유지하며, 증분 분석을 실행합니다.
  • AI/ML 데이터 파이프라인 – 네이티브 Python 리더를 사용하여 레이크하우스에서 직접 학습 데이터를 읽거나(Spark 불필요) PyTorch Dataset으로 읽습니다. 나중에 벡터 검색을 위해 Vortex 포맷으로 임베딩을 저장합니다.
  • 멀티 엔진 분석 – Presto/Trino에서 애드혹 SQL을 실행하거나, Spark에서 배치 작업을 수행하거나, DuckDB에서 저지연 쿼리를 실행하는 등 모두 동일한 테이블을 대상으로 합니다.
  • 보안 멀티테넌트 환경 – PostgreSQL RBAC 및 S3 프록시를 통해 워크스페이스를 분리하고 행 수준 보안을 강제합니다.

생태계 및 통합

  • 컴퓨팅 엔진: Spark, Flink, Presto (Velox), Ray, Daft, DuckDB, Pandas, PyArrow.
  • 스토리지 백엔드: HDFS, Amazon S3 (및 모든 S3 호환 오브젝트 스토리지).
  • 파일 포맷: 기본 vortex-compact, Apache Parquet, 그리고 멀티모달 데이터를 위한 오픈 소스 Vortex 포맷.
  • 메타데이터 스토어: PostgreSQL (ACID, MVCC 및 RBAC에 사용).
  • 언어 바인딩: Java/Scala, Python, C++.

프로젝트 상태

  • 라이선스: Apache-2.0 (허용적, 상업적 이용 가능).
  • 거버넌스: Linux Foundation AI & Data (LF AI & Data) 샌드박스 프로젝트에 기부됨 (2023년 5월).
  • CI/CD: 모든 PR에서 자동화된 Maven, Flink CDC, native-build 및 Python 테스트가 실행됩니다. 배지는 통과 상태를 보여줍니다.
  • 커뮤니티: Discord 채널, 메일링 리스트 및 기여 가이드라인이 제공됩니다. 저장소에는 광범위한 튜토리얼(Python AI 학습, Flink CDC 동기화, 스냅샷 관리 등)이 포함되어 있습니다.
  • 로드맵: 최신 Spark/Flink 버전, 벡터 ANN 검색, Gluten/Velox와의 심층 통합 및 성능 향상을 향한 활발한 개발 진행 중.

빠른 시작

문서에서는 원클릭 로컬 환경 설정과 다음을 시연하는 예제 노트북/스크립트 모음을 제공합니다:

  1. 네이티브 Python 리더를 사용한 데이터 로드.
  2. Flink를 통한 MySQL CDC 피드를 LakeSoul로 스트리밍.
  3. LakeSoul에 저장된 데이터로 PyTorch 모델 학습.
  4. Spark에서 타임 트래블 쿼리 수행.

요약: LakeSoul은 배치, 스트리밍 및 AI 워크로드를 단일 Rust 기반 코어 아래에 통합하는 진정한 프로덕션급 레이크하우스 플랫폼입니다. 별도의 카탈로그, 컴팩션 및 인증 서비스를 결합할 필요 없이 ACID 보장, 멀티 엔진 호환성 및 내장 보안이 필요한 팀에 적합합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트