Remote Database এর সাথে PouchDB এর সংযোগ

PouchDB এর রেপ্লিকেশন (Replication) - পাউচডিবি (PouchDB) - Database Tutorials

300

PouchDB একটি JavaScript ডেটাবেস যা ব্রাউজার এবং মোবাইল ডিভাইসে অফলাইন কাজ করার জন্য ডিজাইন করা হয়েছে। এটি একটি ক্লায়েন্ট-সাইড ডেটাবেস, যা কনফিগারেশন এবং অফলাইন স্টোরেজের মাধ্যমে ডেটা সমর্থন করে, এবং এটি CouchDB-এর সাথে সিঙ্ক করার ক্ষমতা রাখে। PouchDB সাধারণত কনফিগার করা হয় যাতে এটি একটি রিমোট ডেটাবেস (যেমন CouchDB বা অন্য কোনো CouchDB-কাম্য ডেটাবেস) এর সাথে সিঙ্ক্রোনাইজ হতে পারে।

PouchDB-কে রিমোট ডেটাবেসের সাথে সংযুক্ত করার জন্য কিছু ধাপ:

১. PouchDB ইনস্টল করা:

প্রথমে, PouchDB আপনার প্রোজেক্টে ইনস্টল করতে হবে।

npm install pouchdb

২. PouchDB কনফিগার করা:

PouchDB সাধারণত দুটি অংশে কাজ করে — লোকাল ডেটাবেস এবং রিমোট ডেটাবেস। রিমোট ডেটাবেসে সিঙ্ক করার জন্য PouchDB একটি CouchDB বা সমর্থিত ডেটাবেস সার্ভারের URL গ্রহণ করে।

// পাউচডিবি ইমপোর্ট করুন
const PouchDB = require('pouchdb');

// লোকাল ডেটাবেস তৈরি
const localDB = new PouchDB('local-database');

// রিমোট ডেটাবেস URL
const remoteDB = new PouchDB('https://your-remote-database-url.com/dbname');

৩. ডেটাবেস সিঙ্ক করা:

PouchDB এর sync() ফাংশন ব্যবহার করে আপনি লোকাল ডেটাবেস এবং রিমোট ডেটাবেসের মধ্যে ডেটা সিঙ্ক্রোনাইজ করতে পারেন। এই ফাংশনটি একদিকে সিঙ্ক করতে পারে (লোকাল থেকে রিমোট) অথবা উভয় দিকেই (বাই-ডিরেকশনাল সিঙ্ক্রোনাইজেশন)।

// লোকাল এবং রিমোট ডেটাবেস সিঙ্ক করা
localDB.sync(remoteDB, {
  live: true,       // লাইভ সিঙ্ক্রোনাইজেশন সক্ষম
  retry: true       // সংযোগ ব্যর্থ হলে পুনরায় চেষ্টা করবে
}).on('change', function (info) {
  console.log('Change detected:', info);
}).on('paused', function (err) {
  console.log('Replication paused:', err);
}).on('active', function () {
  console.log('Replication resumed');
}).on('error', function (err) {
  console.log('Error occurred:', err);
});

৪. ডেটা ইনসার্ট ও রিড:

একবার আপনি সিঙ্ক সেটআপ করলে, আপনি localDB এ ডেটা লিখতে এবং পড়তে পারবেন। এই ডেটাগুলি পরে রিমোট ডেটাবেসে সিঙ্ক হবে।

// ডেটা ইনসার্ট করা
localDB.put({
  _id: 'unique-document-id',
  name: 'John Doe',
  age: 30
}).then(function (response) {
  console.log('Document inserted:', response);
}).catch(function (err) {
  console.error('Error inserting document:', err);
});

// ডেটা পড়া
localDB.get('unique-document-id').then(function (doc) {
  console.log('Document retrieved:', doc);
}).catch(function (err) {
  console.error('Error retrieving document:', err);
});

৫. ডেটাবেস সিঙ্কিং এর স্ট্যাটাস মনিটরিং:

PouchDB সিঙ্ক্রোনাইজেশন এর বিভিন্ন ইভেন্ট যেমন change, paused, active, এবং error হ্যান্ডল করতে পারে। এই ইভেন্টগুলির মাধ্যমে আপনি সিঙ্ক প্রক্রিয়া মনিটর করতে পারবেন।

localDB.sync(remoteDB, { live: true, retry: true })
  .on('change', function (info) {
    console.log('Change detected:', info);
  })
  .on('paused', function (err) {
    console.log('Replication paused:', err);
  })
  .on('active', function () {
    console.log('Replication resumed');
  })
  .on('error', function (err) {
    console.log('Error occurred:', err);
  });

৬. রিমোট ডেটাবেস সেটআপ (CouchDB):

আপনার PouchDB রিমোট ডেটাবেস CouchDB সার্ভারের সাথে সংযুক্ত হবে। যদি আপনি CouchDB ব্যবহার করেন, নিশ্চিত করুন যে সার্ভার সেটআপ এবং ডেটাবেস তৈরি হয়ে গেছে।

CouchDB এর জন্য:
  • ডেটাবেস তৈরি করুন: http://your-couchdb-server:5984
  • ডেটাবেস URL-এ সঠিকভাবে dbname নাম পরিবর্তন করুন।

সারাংশ

PouchDB রিমোট ডেটাবেসের সাথে কাজ করার জন্য খুবই সহজ এবং এটি সিঙ্ক্রোনাইজেশন এবং অফলাইন স্টোরেজ সমর্থন করে। আপনি এই ডেটাবেসটিকে ব্যবহার করে ক্লায়েন্ট-সাইড ডেটা সিঙ্ক্রোনাইজেশন করতে পারেন, যা প্রয়োজনীয় ডেটা অটোমেটিকালি সেভ করে রাখে এবং অনলাইনে ফিরে আসলে রিমোট সার্ভারের সাথে সিঙ্ক করে।

এছাড়া, আপনি আপনার অ্যাপ্লিকেশনটির জন্য আরও উন্নত সিঙ্ক্রোনাইজেশন কনফিগারেশন সেট করতে পারেন, যেমন একাধিক রিমোট ডেটাবেস এবং সিঙ্ক্রোনাইজেশন কনফিগারেশন।

Content added By
Promotion

Are you sure to start over?

Loading...