postgres-wasm, WebAssembly ile bir tarayıcıda çalışan PostgreSQL sunucusu

postgres-wasm

Postgres-wasm, PostgreSQL'in WebAssembly'ye taşındığı bir projedir.

Yakın zamanda bir duyuru ile duyuruldu. PostgreSQL sunucusu olan postgres-wasm'a ücretsiz erişim bir tarayıcıda çalışır ve tarayıcıda durumun kalıcılığı, pg_dump'tan geri yükleme ve uzak bir veritabanından mantıksal çoğaltma dahil olmak üzere eksiksiz bir dizi özellik sunar.

postgres-wasm tr PostgreSQL'in WebAssembly'ye taşınması sayesinde Açık Kaynak lisansı altında yayınlanan bir proje. Bu, bir bulut veritabanı sağlayıcısı olan Supabase ile veritabanı programlama konusunda uzmanlaşmış bir şirket olan Snaplet arasındaki işbirliği sayesinde geliştirilen bir çözümdür.

Supabase Mühendisi Mark Burggraf, "Bugün Snaplet'teki arkadaşlarımızla postgres-wasm'ı başlatıyoruz" dedi.

Habersiz olanlar için postgres, bunu bilmeleri gerekir en gelişmiş açık kaynaklı veritabanı yönetim sistemlerinden biridir. Sağlam veri türleri, güçlü indeksleme ve veri yığınını basitleştirmek ve geliştiricilerin uygulamalarını oluşturmaya odaklanmasına izin vermek için kullanılabilecek çok çeşitli yerleşik işlevlerle zengin özelliklere sahiptir. Postgres, ilişkisel bir veritabanından daha fazlasıdır, güvenilir veri platformunuz haline gelmiştir.

Postgres-wasm hakkında

Supabase, Postgres'i bir tarayıcıda çalıştıran ilk kişi değil; bu unvan, bir ay önce HN ile ilgili görüşlerini paylaşan Crunchy Data ekibine gidiyor. Crunchy Data'nın tescilli sürümünün açık kaynaklı bir sürümünü geliştirme arzusuyla Supabase, Postgres-wasm'ı oluşturmak için Snaplet ile ortaklık kurdu.

Postgres-wasm sayesinde PostgreSQL doğrudan bir tarayıcı üzerinden çalıştırılabilir Web'de gezinme için, son derece küçültülmüş boyutları ve bir x86 terminalinin çalışmasını kopyalamaya izin veren v86 öykünücüsü ile karakterize edilen Buildroot Linux dağıtımı kullanıldı.

Tarafında WebAssembly, bu, web sayfalarında yüksek performanslı uygulamaların oluşturulmasına izin vermeyi amaçlamaktadır, “ancak web'e özgü varsayımlarda bulunmaz veya web'e özgü işlevsellik sağlamaz, bu nedenle başka ortamlarda da kullanılabilir. Herhangi bir işletim sisteminde herhangi bir dili desteklemeyi amaçlayan açık bir standarttır ve pratikte en popüler dillerin tümü en azından bir düzeyde desteğe sahiptir. Supabase, VM'sini tarayıcı içinde çalıştırmak için v86'yı kullanır.

Postgres'i bir tarayıcıda çalıştırmak harika, ancak buna PgAdmin ile bağlanmak daha da iyidir. Ne yazık ki, tarayıcılar VM'nin TCP ağına erişimi engeller. Bunu atlatmak için, Supabase, trafiği web yuvaları üzerinden yönlendirir. Websocket bağlantı noktası üzerinden gönderilen verileri TCP paketlerine dönüştürerek öykünücünün İnternet ile iletişim kurmasını sağlayan bir Websockproxy çatalı kullanırlar. Websockproxy çatalı, Postgres sunucusunu tünelleme yeteneği ekler.

İç Özellikler projeden öne çıkanlar şunlar:

  • Postgres 14.5, psql, pg_dump, vb.
  • Durumu bir dosyaya/dosyadan kaydedin ve geri yükleyin.
  • Postgres durumunu tarayıcı deposuna (IndexedDB) kaydedin ve geri yükleyin.
  • Bir durum dosyasından hızlı önyükleme veya tam öykünücü sıfırlama.
  • 128 MB'den 1024 MB'a kadar bellek yapılandırma seçenekleri.
  • Terminal için yazı tipi boyutunu ayarlayın.
  • Dosyaları öykünücüye yükleyin (CSV ve veritabanı dökümleri dahil).
  • Emülatör dosyalarını indirin.
  • Öykünücüden İnternet'e giden ağ bağlantısı.
  • Öykünücünün içindeki 5432 numaralı bağlantı noktasını postalamak için gelen ağ tüneli.

Genel olarak, tüm proje, bir PostgreSQL sunucusunu çalıştırmak için 12 MB boyutunda tek bir anlık görüntüde bulunur.

Postgres-wasm geliştiricilerinin kabul ettiği gibi, çalışma zamanı performansı çok yüksek değil, ancak kendi içinde PostgreSQL 14.5'i tam bir tarayıcıdan psql komut satırı arayüzü ile kullanılabilir hale getirme hedefine başarıyla ulaşıldı.

Nihayet onun hakkında daha fazla bilgi edinmekle ilgileniyorsanayrıntılarını kontrol edebilirsiniz. aşağıdaki bağlantı.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.