このプロジェクトについて
Steampipeは、SQLを使ってAPIやサービスをクエリするためのオープンソースツールであり、「ゼロETL」アプローチに従っています。データをウェアハウスにコピーする代わりに、APIエンドポイントをデータベーステーブルにマッピングし、ライブでクエリできるようにします。
READMEに記載されている主な特徴:
- インターフェースとしてのSQL: データソースはテーブルとして公開されるため、ユーザーは標準SQLでクエリできます。
- ライブデータ: クエリは古いコピーではなく、基盤となるAPIにリアルタイムでアクセスします。
- 並行性: 複数のデータソースを並列にクエリできます。
- 単一バイナリ: ローカルで実行することも、CI/CDパイプラインにデプロイすることもできます。
インストールは、macOSではHomebrew(brew install turbot/tap/steampipe)、LinuxおよびWindows(WSL2)ではシェルインストーラーを利用できます。インストール後、ユーザーはサービス用のプラグインを追加します。例えば:
steampipe plugin install hackernews
その後、対話的にクエリを実行します:
steampipe query
> select * from hackernews_new limit 10
プラグインエコシステム: コミュニティはAPIをテーブルにマッピングするプラグインを維持しており、AWS、Azure、GCP、Kubernetes、GitHub、Microsoft 365、Salesforceなど多くのサービスをカバーしています。READMEには、合計2000以上のテーブルがあり、それぞれにコピー/ペースト/実行の例が文書化されていると記載されています。
配布形態: 同じプラグインモデルがいくつかの形式で提供されています — Steampipe CLI(同梱のPostgresインスタンスに対するクエリ)、ネイティブPostgres外部テーブル用のPostgres Foreign Data Wrappers、仮想テーブル用のSQLite拡張、データベースなしでAPIからデータを取得するスタンドアロンのエクスポートバイナリ、そしてクラウドでSteampipeを実行するためのTurbot Pipesです。
開発: コアバイナリのビルドには、リポジトリをクローンしてmakeを実行します。生成されたバイナリは、別のOUTPUT_DIRを設定しない限り/usr/local/bin/steampipeに配置されます。プラグイン開発は別途文書化されています。
ライセンスとガバナンス: リポジトリはAGPL 3.0の下で公開されています。コントリビューターは最初のプルリクエストでContributor License Agreementに署名する必要があり、行動規範が適用されます。READMEには、SteampipeはTurbot HQ, Inc.によってこのオープンソースソフトウェアから製作された製品であり、商用条件の下で配布されていること、また他者がソフトウェアを再配布することはできるが、Turbotの商標やクラウドサービスを使用することはできないと記載されています。
コミュニティサポートは、READMEからリンクされているSlackチャンネルを通じて利用できます。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.