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

postgres-wasm

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

To je nedavno objavljeno putem objave na besplatan pristup postgres-wasmu, koji je PostgreSQL poslužitelj koji radi u pregledniku i nudi cijeli skup značajki, uključujući postojanost stanja u pregledniku, vraćanje iz pg_dump i logičku replikaciju iz udaljene baze podataka.

postgres-wasm hr projekt objavljen pod Open Source licencom zahvaljujući kojoj je PostgreSQL portiran na WebAssembly. Ovo je rješenje razvijeno zahvaljujući suradnji između Supabasea, pružatelja 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 ne znaju postgres, to bi trebali znati jedan je od najnaprednijih sustava za upravljanje bazama podataka otvorenog koda. Bogat je značajkama, s robusnim tipovima podataka, snažnim indeksiranjem i širokim rasponom ugrađenih funkcija koje se mogu koristiti za pojednostavljenje skupa podataka i omogućuju programerima da se usredotoče na izgradnju svoje aplikacije. Postgres je više od relacijske baze podataka, on je postao vaša pouzdana podatkovna platforma.

O Postgres-wasmu

Supabase nije prvi koji je omogućio da Postgres radi u pregledniku; ta titula ide timu iz Crunchy Data koji je prije mjesec dana podijelio svoje mišljenje o HN-u. U svojoj želji da razviju verziju otvorenog koda vlasničke verzije Crunchy Data, Supabase se udružio sa Snapletom kako bi izgradio Postgres-wasm.

Zahvaljujući Postgres-wasmu, PostgreSQL se može pokrenuti izravno putem preglednika Za pregledavanje weba korištena je Buildroot Linux distribucija koju karakteriziraju izrazito smanjene dimenzije te v86 emulator koji omogućuje replikaciju rada x86 terminala.

Od strane WebAssembly, ovo je namijenjeno omogućavanju izrade aplikacija visokih performansi na web stranicama, “ali ne donosi pretpostavke specifične za web niti pruža funkcionalnost specifičnu za web, tako da se može koristiti iu 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 neku razinu podrške. Supabase koristi v86 za pokretanje svog VM-a unutar preglednika.

Pokretanje Postgresa u pregledniku je super, ali povezivanje s njim s PgAdminom još je bolje. Nažalost, preglednici blokiraju pristup TCP mreži VM-a. Da biste to zaobišli, Supabase usmjerava promet kroz websockete. Oni koriste fork Websockproxyja koji emulatoru omogućuje komunikaciju s Internetom pretvaranjem podataka poslanih preko websocket porta u TCP pakete. Websockproxy fork dodaje mogućnost tuneliranja Postgres poslužitelja.

Unutarnje značajke koji se izdvajaju iz projekta navode se:

  • 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 vas zanima više o tome, detalje možete provjeriti u sljedeći link.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.