postgres-wasm, PostgreSQL poslužitelj koji radi u pregledniku s WebAssemblyjem

postgres-wasm

Postgres-wasm je projekt u kojem je PostgreSQL prenesen na WebAssembly

Nedavno je najavljen besplatan pristup postgres-wasm-u . Riječ je o PostgreSQL poslužitelju koji radi u pregledniku i nudi cijeli niz značajki, uključujući pohranu stanja preglednika, vraćanje iz pg_dumpa i logičku replikaciju iz udaljene baze podataka.

Postgres-wasm je projekt otvorenog koda koji je portirao PostgreSQL na WebAssembly . Ovo rješenje razvijeno je suradnjom između Supabasea, pružatelja usluga baza podataka u oblaku, i Snapleta, tvrtke specijalizirane za programiranje baza podataka.

"Danas pokrećemo postgres-wasm s našim prijateljima u Snapletu", rekao je Supabase inženjer Mark Burggraf

Za one koji nisu upoznati s Postgresom, to je jedan od najnaprednijih sustava za upravljanje bazama podataka otvorenog koda . Bogat je značajkama, s robusnim tipovima podataka, moćnim indeksiranjem i širokim rasponom ugrađenih funkcija koje se mogu koristiti za pojednostavljenje stoga podataka i omogućuju programerima da se usredotoče na izgradnju svojih aplikacija. Postgres je više od obične relacijske baze podataka; postao je vaša pouzdana platforma za podatke.

O Postgres-wasmu

Supabase nije prvi koji je pokrenuo Postgres u pregledniku; ta titula pripada timu Crunchy Data, koji je svoju verziju podijelio na HN-u prije mjesec dana. U svojoj želji da razviju verziju otvorenog koda vlasničke verzije Crunchy Data, Supabase se udružio sa Snapletom kako bi izgradili Postgres-wasm.

Zahvaljujući Postgres-wasmu, PostgreSQL se može pokrenuti izravno putem web preglednika. To je postignuto korištenjem Linux distribucije Buildroot, koju karakterizira izuzetno mala veličina, i v86 emulatora koji omogućuje repliciranje rada x86 terminala.

S druge strane , WebAssembly je namijenjen omogućavanju izgradnje visokoučinkovitih aplikacija na web stranicama, ali ne postavlja specifične pretpostavke za web niti pruža funkcionalnosti specifične za web, pa se može koristiti i u drugim okruženjima. To je otvoreni standard koji ima za cilj podržati bilo koji jezik na bilo kojem operativnom sustavu, a u praksi svi najpopularniji jezici već imaju barem određenu razinu podrške. Supabase koristi v86 za pokretanje svog VM-a unutar preglednika.

Pokretanje Postgresa u pregledniku je izvrsno , ali povezivanje s njim putem PgAdmina je još bolje. Nažalost, preglednici blokiraju pristup TCP mreži virtualnog stroja. Kako bi to zaobišao, Supabase usmjerava promet putem WebSocketsa. Koriste WebSockProxy fork koji omogućuje emulatoru komunikaciju s internetom pretvaranjem podataka poslanih putem WebSocket porta u TCP pakete. WebSockProxy fork dodaje mogućnost tuneliranja Postgres poslužitelja.

Među ključnim značajkama projekta su sljedeće:

  • Postgres 14.5, psql, pg_dump itd.
  • Spremite i vratite stanje u/iz datoteke.
  • Spremite i vratite stanje Postgresa u/iz pohrane preglednika (IndexedDB).
  • Brzo pokretanje iz statusne datoteke ili potpuno resetiranje emulatora.
  • Mogućnosti konfiguracije memorije od 128 MB do 1024 MB.
  • Postavite veličinu fonta za terminal.
  • Učitajte datoteke u emulator (uključujući CSV i ispise baze podataka).
  • Preuzmite datoteke emulatora.
  • Odlazna mrežna povezanost s emulatora na Internet.
  • Ulazni mrežni tunel do postgres porta 5432 unutar emulatora.

Općenito, cijeli je projekt sadržan u jednoj snimci veličine 12 MB s kojom se pokreće PostgreSQL poslužitelj.

Kao što programeri Postgres-wasma priznaju, izvedba vremena izvođenja nije jako visoka, ali sam cilj da se PostgreSQL 14.5 učini upotrebljivim iz potpunog preglednika sa psql sučeljem naredbenog retka uspješno je postignut. .

Konačno, ako ste zainteresirani saznati više o ovome , detalje možete pronaći na sljedećoj poveznici.


Dodaj kao preferirani izvor na Googleu