PostgreSQLをWebブラウザ上で動かす「Postgres-WASM」、オープンソースで公開。Webブラウザ上のx86仮想マシンで実行、レプリケーションも可能

2022年10月5日

WebAssemblyを用いてWebブラウザにx86の仮想マシンを構成することで、PostgreSQLをWebブラウザ上で実行可能にした「Postgres-WASM」がオープンソースで公開されました。

WebAssemblyを用いてWebブラウザに対応させたPostgreSQLとしては、2カ月前の8月に、Webブラウザ上でPostgreSQLを動かしながら、基本の操作から性能分析などさまざまな機能を学べる「Postgres playground」が公開されています。

参考:WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かして学ぶ「Postgres playground」をCrunchy Dataが公開

しかしこのPostgres playgroundはオープンソースとして公開されていませんでした。

これに触発されて、オープンソース化したWebAssembly版のPostgreSQLの開発に取り組んだSupabaseとSnapletが今回のPostgres-WASMを公開しました。

Webブラウザで起動、SQL文など実行可能

Postgres-WASMはこのリンク「wasm.supabase.com」をクリックすることで、すぐに試すことができます。このとき30MB程度のファイルがダウンロードされます。

fig

プロンプトが表示されれば、すでにPostgreSQLがWebブラウザ上で起動しているので、例えば次のようなSQL文を入力して実行することができます。

create table people (id serial primary key, name text);
insert into people (name) values ('Adam'), ('Betty'), ('Charles'), 
('Doris'), ('Eddy');
select * from people;

Postgres-WASMのベースになっているのはPostgres 14.5。ファイルやIndexDBに状態を保存、取得可能で、メモリは128MBから1024MBの間で構成可能など。

また他のPostgreSQLとのレプリケーションも可能になっているとのこと。

WebAssemblyでx86仮想マシンを動かし、その上でPostgreSQLを実行

Postgres-WASMはPostgreSQLをWebAssemblyしたのではなく、WebAssebmlyでx86エミュレータを実装した「v86」を利用し、その上でストリップダウンしたLinuxとPostgreSQLを備えた仮想マシンをロードして実行する手法を用いたと説明されています。

そのため、Postgres-WASMはチュートリアルやデモだけでなく、PostgreSQLを用いた開発環境、オフラインでのデータ分析など、さまざまな用途が想定できそうです。

(2022/10/5 11:00 タイトルと本文の一部で製品名を間違っておりました。お詫びして訂正いたします)

あわせて読みたい

PostgreSQL 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本