postgres-wasm, el servidor PostgreSQL que s'executa en un navegador amb WebAssembly

postgres-wasm

Postgres-wasm és un projecte en el qual PostgreSQL ha estat portat a WebAssembly

Fa poc es va donar a conèixer mitjançant un anunciat el accés gratuït a postgres-wasm, el qual és un servidor PostgreSQL que sexecuta en un navegador i ofereix un conjunt complet de funcions, inclosa la persistència de lestat en el navegador, la restauració des de pg_dump i la replicació lògica des duna base de dades remota.

Postgres-wasm és un projecte llançat sota una llicència Open Source gràcies al qual PostgreSQL ha estat portat a WebAssembly. Aquesta és una solució desenvolupada gràcies a la col·laboració entre Supabase, un proveïdor de bases de dades al núvol, i Snaplet, una empresa especialitzada en programació de bases de dades.

"Avui estem llançant postgres-wasm amb els nostres amics a Snaplet", va dir l'enginyer de Supabase Mark Burggraf

Per als qui desconeixen de Postgres, han de saber que és un dels sistemes de gestió de bases de dades de codi obert més avançats. És ric en funcions, amb tipus de dades robustes, indexació potent i una àmplia gamma de funcions integrades que es poden fer servir per simplificar la pila de dades i permetre que els desenvolupadors se centrin en crear la seva aplicació. Postgres és més que una base de dades relacional, s'ha convertit en la plataforma de dades de confiança.

Sobre Postgres-wasm

Supabase no és el primer a fer que Postgres funcioni en un navegador; aquest títol va per a l'equip de Crunchy Data que va compartir la seva versió a HN fa un mes. En el seu desig de desenvolupar una versió de codi obert de la versió propietària de Crunchy Data, Supabase es va associar amb Snaplet per construir Postgres-wasm.

Gràcies a Postgres-wasm, PostgreSQL es pot executar directament a través d'un navegador per a la navegació Web, es va utilitzar la distribució Linux Buildroot, caracteritzada per dimensions extremadament reduïdes, i l'emulador v86 que permet replicar el funcionament d'una terminal x86.

Per la part de WebAssembly, aquest té com a propòsit permetre que es construeixin aplicacions d'alt rendiment a pàgines web, «però no fa suposicions específiques de la web ni proporciona una funcionalitat específica de la web, per la qual cosa també es pot fer servir en altres entorns. És un estàndard obert que té com a objectiu admetre qualsevol idioma en qualsevol sistema operatiu i, a la pràctica, tots els idiomes més populars ja tenen almenys algun nivell de suport. Supabase utilitza v86 per executar el seu VM dins del navegador.

Executar Postgres en un navegador és excel·lent, però connectar-s'hi amb PgAdmin és encara millor. Malauradament, els navegadors bloquegen l'accés a la xarxa TCP de la VM. Per eludir això, Supabase encamina el trànsit a través de websockets. Utilitzen una bifurcació de Websockproxy que permet que l'emulador es comuniqui amb Internet en convertir les dades enviades mitjançant un port websocket en paquets TCP. La bifurcació Websockproxy afegeix la capacitat de tunelitzar el servidor Postgres.

Dins les característiques que es destaquen del projecte, s'esmenten les següents:

  • Postgres 14.5, psql, pg_dump, etc.
  • Desar i restaurar l'estat a/des d'un fitxer.
  • Deseu i restaureu l'estat de Postgres a/des de l'emmagatzematge del navegador (IndexedDB).
  • Inici ràpid des d'un fitxer d'estat o reinici complet de l'emulador.
  • Opcions de configuració de memòria de 128 MB a 1024 MB.
  • Ajusteu la mida de font per al terminal.
  • Carregueu fitxers a l'emulador (inclosos bolcats de base de dades i CSV).
  • Descarregar fitxers de l'emulador.
  • Connectivitat de xarxa sortint des de l'emulador a Internet.
  • Túnel de xarxa entrant al port postgres 5432 dins de l'emulador.

En general, tot el projecte està contingut en una sola instantània de la mida de 12 MB amb què executar un servidor PostgreSQL.

Com admeten els desenvolupadors de Postgres-wasm, el rendiment en temps d'execució no és gaire alt, però per si mateix, l'objectiu de fer que PostgreSQL 14.5 sigui utilitzable des d'un navegador complet amb una interfície de línia d'ordres psql s'ha aconseguit amb èxit .

Finalment si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls al següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.