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など)を超えた、オープンソースのレイクハウスフレームワークです。メタデータ管理とファイル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) 通常の行とともに、埋め込み(embeddings)やその他の高次元データを保存します。
組み込みのCDC & Exactly-onceストリーミング 自動スキーマ同期を備えた、MySQLなどのソースからのリアルタイムインジェクション。
スナップショット (タイムトラベル) & ロールバック 簡単なポイントインタイムクエリとリカバリ。

代表的なユースケース

  • リアルタイムデータウェアハウジング – 変更データキャプチャ (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保証、マルチエンジン互換性、および組み込みのセキュリティを必要とするチームに最適です。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト