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とのより深い統合、およびパフォーマンス向上に向けたアクティブな開発。
クイックスタート
ドキュメントでは、ワンクリックでのローカル環境セットアップと、以下のデモンストレーションを行うサンプルノートブック/スクリプトのコレクションを提供しています:
- ネイティブPythonリーダーによるデータの読み込み。
- Flinkを介したMySQL CDCフィードのLakeSoulへのストリーミング。
- LakeSoulに保存されたデータでのPyTorchモデルのトレーニング。
- Sparkでのタイムトラベルクエリの実行。
結論: LakeSoulは、バッチ、ストリーミング、およびAIワークロードを単一のRustベースのコアの下に統合する、真のプロダクショングレードのレイクハウスプラットフォームです。個別のカタログ、コンパクション、および認証サービスを組み合わせることなく、ACID保証、マルチエンジン互換性、および組み込みのセキュリティを必要とするチームに最適です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト