このプロジェクトについて

Flowは、外部ランタイム依存関係を一切持たない単一のGoバイナリとして設計された、モダンで軽量なETL実行エンジンおよびワークフローオーケストレーターです。SSISなどのレガシーツールや、Apache Airflowのような複雑なコードベースのオーケストレーターの代替として機能します。Flowは、宣言的なXMLパイプラインと組み込みのビジュアルHTMX Webビルダーを組み合わせ、ユーザーが重いインフラストラクチャーなしにデータ処理ワークフローを設計、検証、実行できるようにします。 主な機能には、PostgreSQL、SQL Server、Oracle、MySQL、SQLite、およびKey-Valueストアを含む複数の異種データベースエンジンに対するネイティブサポートがあり、SQLプレースホルダーの自動的な方言抽象化が行われます。このエンジンは、並列実行、条件ロジック、反復ループ、および事前チェックなどの高度なオーケストレーションプリミティブをサポートしています。また、解釈されたGoスクリプトとSQLクエリを同じパイプライン内で統合しています。 Flowは、実行ステータス、期間、および行数を`pipeline_runs`および`pipeline_events`テーブルに書き込む自動監査テレメトリを通じて、内蔵の観測可能性を提供します。さらに、Mermaid.jsのビジュアルフローチャートを生成し、カスタムレポート用のXSLT 3.0変換機能を提供することで、自己文書化されたパイプラインをサポートします。構成はGitフレンドリーで、環境固有のXMLファイルやランタイムCLI変数による階層的なオーバーライドが可能です。