Webブラウザ上のWASM版PostgreSQLをサーバとし、PostgreSQLクライアントから接続可能になる「dabase.build:Live Share」、Supabaseが発表

2024年10月17日

PostgreSQLをベースにしたBaaS(Backend as a Service)の「Supabase」を開発し提供しているSupabase社は、Webブラウザ上で実行中のWebAssembly版PostgreSQLをサーバとし、別のマシンからPostgreSQLのクライアントで接続できる新機能「dabase.build:Live Share」を発表しました

dabase.build:Live Share

Supabaseは今年(2024年)8月、Webブラウザ上でWebAssembly版PostgreSQLの「PGLite」を実行するサービス「database.build」(旧称:Postgres.new)の提供を開始しました。

これによりWebブラウザがあれば簡単にPostgreSQLを実行できるだけでなく、生成AIの機能もWebブラウザ上に統合されているため、データベースに対する自然言語での質問をSQL文に変換して実行し、結果をグラフ化することや、PostgreSQL上でベクトルデータの扱いを可能にする拡張機能である「pgvector」を用いたクエリを試すこともできます。

参考:Wasm版PostgreSQLに生成AIを組み合わせた「Postgres.new」無料公開。自然言語でクエリ、エンベディングの作成、CSVからテーブル自動生成など

今回、このdatabase.buildの新機能として、Webブラウザ上で実行しているWebAssembly版PostgreSQLに対して、別のマシンのPostgreSQLクライアントから接続できる機能「dabase.build:Live Share」が追加されました。

psqlからWebブラウザ上のPostgreSQLサーバへ接続

下記はデモ動画から、実際にWebブラウザ上のPostgreSQLをサーバとし、別のマシンからPostgreSQLのクライアントであるpsqlを用いて接続したところです。

dabase.build:Live Share

1行目にあるように、Webブラウザ上のPostgreSQLへの接続には、database.new上で生成される特別なURLを用いて接続します。

これはpsqlからdatabase.newのサーバ上にあるプロキシを経由してWebブラウザ上のPostgreSQLへ接続する仕組みを用いているためです。

下記のように、psqlからはTCPを用いてdatabase.newのサーバのプロキシに接続し、プロキシはそれをWebSocketに変換してWebブラウザ上のPostgreSQLへ接続することで、psqlからWebブラウザ上のPostgreSQLへの接続を実現しています。

dabase.build:Live Share

この仕組みによってさまざまなPostgreSQLクライアントやORMツール、開発ツールなどをWebブラウザ上のPostgreSQLに接続できます。

ただしWebAssembly版PostgreSQLはシングルユーザーモードでコンパイルされているため、ORMツールのPrismaのように複数のコネクションを張るようなクライアントツールは正常に動作しない制限があると説明されています。

このdatabase.buildのサービスを構成するフレームワークである「database-build」、WebAssembly版PostgreSQLの「PGlite」、プロキシとなる「pg-gateway」はいずれもオープンソースとして公開されているため、ユーザー自身でも同様の仕組みを構築することができるようになっています。

あわせて読みたい

PostgreSQL RDB WebAssembly データベース プログラミング言語




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本