ブラウザ内でPostgresのWASM版を利用できる「postgres.new」を発表 Supabase:全てのクエリをブラウザ内で直接実行 基盤技術に「PGlite」を採用
Supabaseは、AI支援を利用しながら、ブラウザ内で直接動作する「Postgres」データベースを即座に幾つでも起動し、サンドボックスとして使用できる「postgres.new」を発表した。
Supabaseは2024年8月12日(現地時間)、AI(人工知能)支援を利用しながら、ブラウザ内で直接動作する「Postgres」データベースを即座に幾つでも起動し、サンドボックスとして使用できる「postgres.new」を発表した。このPostgresデータベースは近いうちに、Amazon Web Services(AWS)のオブジェクトストレージサービス「Amazon S3」にデプロイ(展開)できるようになる見込みだ。
PostgreSQL(Postgresとも呼ばれる)はオープンソースのリレーショナルデータベース管理システム(RDBMS)。SupabaseはPostgresの表記のみを使用している。Supabaseは、GoogleのモバイルおよびWebアプリ開発プラットフォーム「Firebase」に代わるオープンソースプラットフォーム「Supabase」を提供するシンガポールの新興企業だ。
postgres.newでは、データベースが大規模言語モデル(LLM)と組み合わされており、以下のようなことが可能だ。
- ドラッグ&ドロップでCSVファイルをインポートし、即座にテーブルを生成
- レポートの生成とエクスポート
- チャートの生成
- データベースダイヤグラムの作成
これらは全てブラウザ内でローカルに完結する。Supabaseは「postgres.newは、PostgresとAIチャットbot『ChatGPT』を組み合わせて、単一のインタフェースで利用するようなものだ」と述べている。
Supabaseは、postgres.newを発表したブログ記事で公開したデモ動画で、以下のようなユースケースを紹介している。
- 素早くクエリを実行して可視化したいCSVファイルをpostgres.newにインポートし、データベースのようにSQLクエリを実行する
- ChatGPTの助けを借りてSQLを作成しているが、正しく動作するかどうか確認したい。そこでpostgres.newで実際のデータベースに対して、作成したSQLを実行する
- サイドプロジェクトに取り組んでいて、データベースを作成する時が来た。postgres.newを用いて希望を記述するだけで、AIがER(エンティティ関係)図の作成やSQLの移行を肩代わりしてくれる
全てのクエリをブラウザ内で直接実行 postgres.newの基盤技術「PGlite」とは
postgres.newでは、全てのクエリがブラウザ内で直接実行される。リモートのPostgresコンテナやWebSocketプロキシは存在しないという。
これは、英国の新興企業Electric DBのElectricSQLチームが数カ月前にリリースした、「PGlite」を用いて実現されている。PGliteは、PostgresのオープンソースのWebAssembly(WASM)ビルドであり、TypeScript/JavaScriptクライアントライブラリにパッケージングされている。
PGliteを使用すると、追加の依存関係なしにブラウザ、Node.js、BunでPostgresを実行できる。そのため、PGliteがフルバージョンのPostgresデータベースよりも適していると考えられるさまざまなユースケースがある。その中には、ユニットテストとCI(継続的インテグレーション)テスト(PGliteの起動、終了が非常に高速であることを利用する)、ローカル開発(フルPostgresの代わりにPGliteを使うことによる開発環境の簡素化)、リモート開発またはローカルブラウザ内のWebコンテナ(PGliteが非常に軽量であることを利用する)などが含まれる。
postgres.newの開発目的
Supabaseは、主に以下の目的を実現するために、postgres.newを開発したと説明している。
AI主導の開発
従来の製品やサービスにおけるPostgresとAIのやりとりを見直し、PGliteをLLM(現在はGPT-4o)と組み合わせ、LLMが権限の制限やユーザーの確認なしで、PGliteを完全に制御できるようにする。Supabaseは、これにより、AIがより効果的に機能するとしている。
Postgresのサンドボックス化
PGliteはブラウザで実行されるため、高速であり、使い捨て可能だ。この特徴を利用して、PGliteを数多く繰り返し起動し、慣れ親しんだPostgresインタフェースでデータ分析できるようにする。
極めて安価なデータベース
PGLiteはまだ初期段階にあるが、Amazon S3への保存と読み出しが可能な安価なデータベースを多数起動できる可能性がある。これを可能にし、Supabaseコミュニティーで見られるさまざまなユースケースをカバーする。
今後の計画
Supabaseは、早期かつ頻繁なリリースを目指しており、以下のような機能を今後提供する計画だ。
- データベースをAmazon S3にデプロイし、インターネット上のどこからでもアクセスできるようにする(当初は読み取り専用)
- 「Microsoft Word」ドキュメント、画像(画像埋め込み経由)など、サポートするファイル形式を追加する
- クラウド開発プラットフォームの「CodeSandbox」と同様に、独自のURLを用いて他のユーザーとデータベースを共有できるようにする
- PGliteデータベースは現在、IndexedDBに保存されているが、ホストファイルシステムに直接ファイルを保存できるようにする
- データベースのpg_dumpを実行し、任意のPostgresデータベースに復元できるようにする
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
「WebAssembly」は次世代のJava、Node.jsになる?――「Wasmコンテナ」をKubernetesで動かす
Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、最近注目されている「WebAssembly」について復習しながら、WebAssemblyのアプリケーションをKubernetesで試す方法を紹介する。WebAssemblyランタイム「Wasmer」がPHPに対応 Wasmerで「WordPressを3倍高速に動かす」手法とは
Wasmerは、同社のWebAssemblyランタイム「Wasmer」とサーバレスアプリケーションプラットフォーム「Wasmer Edge」で、PHPを完全に実行できるようになったと発表した。Wasmerが「py2wasm」を発表、PythonからWebAssemblyに変換 インタープリタより3倍高速実行可能に
WebAssembly(Wasm)ランタイムを開発するWasmerは、PythonプログラムをWebAssemblyに変換し、ベースラインインタープリタよりも3倍高速に実行できるようにする「py2wasm」を発表した。