postgres-wasm ، خادم PostgreSQL يعمل في متصفح مع WebAssembly

postgres-wasm

Postgres-wasm هو مشروع تم فيه نقل PostgreSQL إلى WebAssembly

تم الإعلان عنه مؤخرًا من خلال إعلان في وصول مجاني إلى postgres-wasm ، وهو خادم PostgreSQL الذي يعمل في مستعرض ويقدم مجموعة كاملة من الميزات ، بما في ذلك استمرار الحالة في المستعرض ، والاستعادة من pg_dump ، والنسخ المنطقي من قاعدة بيانات بعيدة.

postgres-wasm en مشروع تم إصداره بموجب ترخيص مفتوح المصدر تم بفضله نقل PostgreSQL إلى WebAssembly. تم تطوير هذا الحل بفضل التعاون بين Supabase ، موفر قاعدة البيانات السحابية ، وشركة Snaplet ، وهي شركة متخصصة في برمجة قواعد البيانات.

قال مهندس Supabase Mark Burggraf: "اليوم نطلق postgres-wasm مع أصدقائنا في Snaplet"

لمن لا يعرفون postgres ، يجب أن يعرفوا ذلك هو أحد أنظمة إدارة قواعد البيانات مفتوحة المصدر الأكثر تقدمًا. إنه غني بالميزات ، مع أنواع بيانات قوية ، وفهرسة قوية ، ومجموعة واسعة من الوظائف المضمنة التي يمكن استخدامها لتبسيط مكدس البيانات والسماح للمطورين بالتركيز على بناء تطبيقاتهم. تعد Postgres أكثر من مجرد قاعدة بيانات علائقية ، فقد أصبحت منصة بيانات موثوقة.

حول Postgres-wasm

Supabase ليس أول من جعل Postgres يعمل في متصفح ؛ يذهب هذا العنوان إلى الفريق في Crunchy Data الذي شاركنا وجهة نظرهم حول HN قبل شهر. في إطار رغبتهم في تطوير نسخة مفتوحة المصدر من نسخة مملوكة لشركة Crunchy Data ، اشتركت Supabase مع Snaplet لبناء Postgres-wasm.

بفضل Postgres-wasm ، يمكن تشغيل PostgreSQL مباشرة من خلال متصفح لتصفح الويب ، تم استخدام توزيعة Buildroot Linux ، التي تتميز بأبعاد منخفضة للغاية ، ومحاكي v86 الذي يسمح بتكرار تشغيل محطة x86.

من جانب WebAssembly ، يهدف هذا إلى السماح بإنشاء تطبيقات عالية الأداء على صفحات الويب ، "لكنها لا تضع افتراضات خاصة بالويب أو توفر وظائف خاصة بالويب ، لذلك يمكن استخدامها في بيئات أخرى أيضًا. إنه معيار مفتوح يهدف إلى دعم أي لغة على أي نظام تشغيل ، وفي الممارسة العملية ، تتمتع جميع اللغات الأكثر شيوعًا بالفعل بمستوى معين من الدعم على الأقل. يستخدم Supabase الإصدار v86 لتشغيل جهاز VM الخاص به داخل المتصفح.

يعد تشغيل Postgres في المتصفح أمرًا رائعًا، لكن الاتصال به مع PgAdmin أفضل. لسوء الحظ ، تمنع المتصفحات الوصول إلى شبكة TCP الخاصة بـ VM. للتحايل على هذا ، تقوم Supabase بتوجيه حركة المرور عبر مآخذ الويب. يستخدمون شوكة Websockproxy التي تسمح للمحاكي بالاتصال بالإنترنت عن طريق تحويل البيانات المرسلة عبر منفذ websocket إلى حزم TCP. تضيف مفترق Websockproxy القدرة على نفق خادم Postgres.

الميزات الداخلية والتي تبرز من المشروع نذكر ما يلي:

  • Postgres 14.5 ، psql ، pg_dump ، إلخ.
  • حفظ واستعادة الحالة إلى / من ملف.
  • حفظ واستعادة حالة Postgres إلى / من تخزين المتصفح (IndexedDB).
  • التمهيد السريع من ملف الحالة أو إعادة تعيين المحاكي الكامل.
  • خيارات تكوين الذاكرة من 128 ميجا بايت إلى 1024 ميجا بايت.
  • اضبط حجم الخط للمحطة.
  • تحميل الملفات إلى المحاكي (بما في ذلك CSV وتفريغ قاعدة البيانات).
  • تنزيل ملفات المحاكي.
  • اتصال الشبكة الصادرة من المحاكي إلى الإنترنت.
  • نفق الشبكة الوارد إلى منفذ postgres 5432 داخل المحاكي.

بشكل عام ، يتم تضمين المشروع بأكمله في لقطة واحدة بحجم 12 ميغابايت لتشغيل خادم PostgreSQL.

كما يعترف مطورو Postgres-wasm ، فإن أداء وقت التشغيل ليس مرتفعًا جدًا ، ولكن الهدف في حد ذاته جعل PostgreSQL 14.5 قابلة للاستخدام من متصفح كامل بواجهة سطر أوامر psql قد تم تحقيقه بنجاح.

أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها، يمكنك التحقق من التفاصيل في الرابط التالي.


كن أول من يعلق

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.