postgres-wasm, PostgreSQL সার্ভার WebAssembly সহ একটি ব্রাউজারে চলছে

postgres-wasm

Postgres-wasm হল একটি প্রকল্প যেখানে PostgreSQL WebAssembly তে পোর্ট করা হয়েছে

সম্প্রতি postgres-wasm-এ বিনামূল্যে প্রবেশের ঘোষণা করা হয়েছে । এটি একটি PostgreSQL সার্ভার যা ব্রাউজারে চলে এবং ব্রাউজার স্টেট পার্সিস্টেন্স, pg_dump থেকে রিস্টোরেশন এবং রিমোট ডেটাবেস থেকে লজিক্যাল রেপ্লিকেশন-সহ পূর্ণাঙ্গ ফিচারসমূহ প্রদান করে।

Postgres-wasm একটি ওপেন-সোর্স প্রজেক্ট যা PostgreSQL-কে WebAssembly-তে পোর্ট করেছে । এই সলিউশনটি ক্লাউড ডেটাবেস প্রোভাইডার Supabase এবং ডেটাবেস প্রোগ্রামিংয়ে বিশেষজ্ঞ কোম্পানি Snaplet-এর যৌথ সহযোগিতায় তৈরি করা হয়েছে।

"আজ আমরা স্ন্যাপলেটে আমাদের বন্ধুদের সাথে পোস্টগ্রেস-ওয়াসম চালু করছি," সুপাবেস ইঞ্জিনিয়ার মার্ক বার্গগ্রাফ বলেছেন

যারা পোস্টগ্রেস সম্পর্কে জানেন না, তাদের জন্য বলছি , এটি সবচেয়ে উন্নত ওপেন-সোর্স ডেটাবেস ম্যানেজমেন্ট সিস্টেমগুলোর মধ্যে অন্যতম । এটি বিভিন্ন ফিচারে সমৃদ্ধ; এতে রয়েছে শক্তিশালী ডেটা টাইপ, কার্যকর ইনডেক্সিং এবং বিস্তৃত পরিসরের বিল্ট-ইন ফাংশন, যা ডেটা স্ট্যাককে সহজ করতে এবং ডেভেলপারদের তাদের অ্যাপ্লিকেশন তৈরিতে মনোযোগ দিতে সাহায্য করে। পোস্টগ্রেস শুধু একটি রিলেশনাল ডেটাবেস নয়; এটি আপনার বিশ্বস্ত ডেটা প্ল্যাটফর্মে পরিণত হয়েছে।

Postgres-wasm সম্পর্কে

ব্রাউজারে পোস্টগ্রেস চালু করার ক্ষেত্রে সুপাবেস প্রথম নয়; এই কৃতিত্ব ক্রাঞ্চি ডেটা টিমের, যারা এক মাস আগে এইচএন-এ তাদের সংস্করণটি শেয়ার করেছিল। ক্রাঞ্চি ডেটার মালিকানাধীন সংস্করণটির একটি ওপেন-সোর্স সংস্করণ তৈরি করার ইচ্ছায়, সুপাবেস স্ন্যাপলেটের সাথে অংশীদারিত্ব করে পোস্টগ্রেস-ওয়াসম (Postgres-wasm) তৈরি করেছে।

Postgres-wasm-এর কল্যাণে, PostgreSQL সরাসরি একটি ওয়েব ব্রাউজারের মাধ্যমে চালানো যায় । এটি সম্ভব হয়েছে বিল্ডরুট নামক লিনাক্স ডিস্ট্রিবিউশনের সাহায্যে, যা এর অত্যন্ত ক্ষুদ্র আকারের জন্য পরিচিত, এবং এর v86 এমুলেটরের মাধ্যমে, যা একটি x86 টার্মিনালের কার্যক্রম অনুকরণ করতে সক্ষম।

অন্যদিকে , ওয়েবঅ্যাসেম্বলির উদ্দেশ্য হলো ওয়েব পেজে উচ্চ-পারফরম্যান্সের অ্যাপ্লিকেশন তৈরি করা, কিন্তু এটি ওয়েব-নির্দিষ্ট কোনো অনুমান বা কার্যকারিতা প্রদান করে না, তাই এটি অন্যান্য পরিবেশেও ব্যবহার করা যায়। এটি একটি ওপেন স্ট্যান্ডার্ড যার লক্ষ্য যেকোনো অপারেটিং সিস্টেমে যেকোনো ল্যাঙ্গুয়েজকে সাপোর্ট করা, এবং বাস্তবে, সবচেয়ে জনপ্রিয় সব ল্যাঙ্গুয়েজেরই ইতোমধ্যে অন্তত কিছু স্তরের সাপোর্ট রয়েছে। সুপাবেস তার ভিএম ব্রাউজারের মধ্যে চালানোর জন্য v86 ব্যবহার করে।

ব্রাউজারে পোস্টগ্রেস চালানো চমৎকার , কিন্তু পিজিঅ্যাডমিন (PgAdmin) দিয়ে এর সাথে সংযোগ স্থাপন করা আরও ভালো। দুর্ভাগ্যবশত, ব্রাউজারগুলো ভিএম-এর টিসিপি (TCP) নেটওয়ার্কে প্রবেশে বাধা দেয়। এই সমস্যা এড়ানোর জন্য, সুপাবেস (Supabase) ওয়েবসকেটের (WebSockets) মাধ্যমে ট্র্যাফিক রাউট করে। তারা একটি ওয়েবসকপ্রক্সি (WebSockProxy) ফর্ক ব্যবহার করে, যা ওয়েবসকেট পোর্টের মাধ্যমে পাঠানো ডেটাকে টিসিপি প্যাকেটে রূপান্তর করে এমুলেটরকে ইন্টারনেটের সাথে যোগাযোগ করতে সাহায্য করে। এই ওয়েবসকপ্রক্সি ফর্কটি পোস্টগ্রেস সার্ভারকে টানেল করার ক্ষমতা যোগ করে।

প্রকল্পটির প্রধান বৈশিষ্ট্যগুলোর মধ্যে নিম্নলিখিতগুলো অন্তর্ভুক্ত:

  • Postgres 14.5, psql, pg_dump, ইত্যাদি
  • সংরক্ষণ করুন এবং একটি ফাইল থেকে অবস্থা পুনরুদ্ধার করুন।
  • ব্রাউজার স্টোরেজ (ইনডেক্সডডিবি) থেকে/থেকে পোস্টগ্রেস অবস্থা সংরক্ষণ এবং পুনরুদ্ধার করুন।
  • একটি স্থিতি ফাইল বা সম্পূর্ণ এমুলেটর রিসেট থেকে দ্রুত বুট।
  • 128 MB থেকে 1024 MB পর্যন্ত মেমরি কনফিগারেশন বিকল্প।
  • টার্মিনালের জন্য ফন্ট সাইজ সেট করুন।
  • এমুলেটরে ফাইল আপলোড করুন (CSV এবং ডাটাবেস ডাম্প সহ)।
  • এমুলেটর ফাইল ডাউনলোড করুন।
  • এমুলেটর থেকে ইন্টারনেটে আউটগোয়িং নেটওয়ার্ক সংযোগ।
  • এমুলেটরের ভিতরে পোস্টগ্রেস পোর্ট 5432 থেকে ইনবাউন্ড নেটওয়ার্ক টানেল।

সাধারণভাবে, পুরো প্রকল্পটি 12 এমবি আকারের একটি একক স্ন্যাপশটে থাকে যার সাহায্যে একটি PostgreSQL সার্ভার চালানো যায়।

Postgres-wasm ডেভেলপাররা যেমন স্বীকার করেছেন, রানটাইম পারফরম্যান্স খুব বেশি নয়, কিন্তু নিজেই একটি psql কমান্ড লাইন ইন্টারফেস সহ একটি সম্পূর্ণ ব্রাউজার থেকে PostgreSQL 14.5 ব্যবহারযোগ্য করার লক্ষ্য সফলভাবে অর্জন করা হয়েছে।

অবশেষে, আপনি যদি এই বিষয়ে আরও জানতে আগ্রহী হন , তাহলে নিচের লিঙ্কে বিস্তারিত তথ্য পেতে পারেন ।


Google-এ পছন্দের উৎস হিসেবে যোগ করুন