Supabase社がdatabase.buildにLive Share機能を追加、ブラウザ上のPostgreSQLに外部接続が可能に

text: XEXEQ編集部
(記事は執筆時の情報に基づいており、現在では異なる場合があります)


記事の要約

  • Supabase社がLive Share機能を発表
  • ブラウザ上のPostgreSQLに外部接続可能
  • 開発者の柔軟性とデータベース管理を向上

Supabase社がdatabase.buildにLive Share機能を追加

Supabase社は、PostgreSQLをベースにしたBaaS(Backend as a Service)の開発・提供企業として知られている。同社は2024年10月10日、Webブラウザ上で実行中のWebAssembly版PostgreSQLをサーバとし、別のマシンからPostgreSQLのクライアントで接続できる新機能「database.build:Live Share」を発表した。この機能により、開発者はブラウザ内のデータベースに外部から直接アクセスできるようになったのだ。[1]

Live Share機能は、database.build(旧postgres.new)上で作成したデータベースに対して使用可能だ。サイドバーメニューからLive Shareを選択すると、一意のPostgres接続文字列が生成され、これを使用して任意のPostgreSQLクライアントから接続できる。この機能により、psqlコマンドラインツールやORM、データベースIDEなど、様々なツールを用いてブラウザ内のデータベースを操作することが可能になった。

Live Share機能の実現には、ブラウザ側とクライアント側の両方で技術的な工夫が施されている。ブラウザ側では永続的なWebSocket接続を確立し、クライアントからのメッセージを逆方向に送信する仕組みを採用。クライアント側では、Supabase社が開発したオープンソースライブラリ「pg-gateway」を使用し、PostgreSQLのワイヤープロトコルメッセージを処理している。

database.build:Live Share機能の概要

機能 技術的特徴 利用可能なツール
接続方法 一意のPostgres接続文字列を使用 WebSocket-TCP プロキシ psql, ORM, データベースIDE
通信プロトコル PostgreSQLワイヤープロトコル pg-gatewayライブラリ 標準PostgreSQLクライアント
制限事項 単一接続制限 PGliteの仕様に起因 一部のORMやIDEで制約あり
セキュリティ TLS暗号化対応 SSLRequestメッセージ処理 暗号化通信対応クライアント

WebAssemblyについて

WebAssemblyとは、最新のWebブラウザで動作する低レベルのアセンブリ風言語であり、主な特徴として以下のような点が挙げられる。

  • 高速な実行速度を実現
  • C++やRustなど多言語からコンパイル可能
  • JavaScriptと相互運用が可能

WebAssemblyは、Supabase社のdatabase.buildサービスにおいて重要な役割を果たしている。PostgreSQLのWebAssembly版であるPGliteを使用することで、ブラウザ上で直接データベースを実行することが可能になった。これにより、開発者はサーバーサイドのインフラストラクチャを必要とせず、クライアントサイドだけでデータベース操作を行うことができるのだ。

database.build:Live Share機能に関する考察

database.build:Live Share機能の導入は、Web開発の柔軟性を大幅に向上させる可能性を秘めている。従来のクラウドデータベースとは異なり、ブラウザ上で動作するデータベースに外部から接続できるという点は、開発プロセスを劇的に変える可能性がある。特に、ローカル環境とクラウド環境の境界を曖昧にし、開発者がより自由にデータベース操作を行える環境を提供することが期待されるだろう。

しかし、この新機能には潜在的な課題も存在する。セキュリティの観点から、ブラウザベースのデータベースに外部からアクセスすることのリスクを慎重に評価する必要がある。また、PGliteの単一接続制限は、複数のクライアントが同時にアクセスする必要がある場合に問題となる可能性がある。これらの課題に対しては、アクセス制御の強化や、接続の多重化技術の開発などが解決策として考えられるだろう。

今後、database.build:Live Share機能がさらに進化することで、よりシームレスなデータベース操作環境の実現が期待される。例えば、リアルタイムコラボレーション機能の追加や、より高度なセキュリティ機能の実装などが考えられる。Supabase社には、この革新的な機能を基盤として、クラウドネイティブな開発環境の新たな標準を確立することを期待したい。

参考サイト

  1. ^ Supabase. 「Live Share: Connect to in-browser PGlite with any Postgres client」. https://supabase.com/blog/database-build-live-share, (参照 24-10-18).

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「プログラミング」に関するコラム一覧「プログラミング」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。