কম্পিউটার টিউটোরিয়াল

MongoDB কীভাবে Adobe Experience Manager কে উন্নত করে: একটি প্রায়োগিক গাইড

MongoDB কী?

MongoDB হল, অন্যান্য বিষয়ों mellett, একটি ডকুমেন্ট-ওরিয়েন্টেড NoSQL ডাটাবেস। এর মানে এটি ট্র্যাডিশনাল, রিলেশনাল মডেল থেকে বিচ্যুত হয়ে ডেটা ম্যানেজমেন্ট এবং অর্গানাইজেশনের জন্য একটি নমনีย, হরিজন্টালি স্কেলেবল মডেল প্রেজেন্ট করে।

MongoDB AEM-এর সাথে কীভাবে কাজ করে?

MongoDB Adobe Experience Manager (AEM)-এর সাথে crx3mongo runmode এবং JVM অপশন দিয়ে ইন্টিগ্রেট হয়: -Doak.mongo.uri এবং -Doak.mongo.db

কেন MongoDB ব্যবহার করব?

প্রথমত MongoDB পুরনো CRX ক্লাস্টার কনফিগারেশনের বিকল্প একটি HA কনফিগারেশন প্রদান করে। বাস্তবে, আর্কিটেকচার NFS-এ শেয়ার্ড ক্যাটালগ বা NetApp-এর সাথে বেশি মিলে-जুলে বরং সত্যিকারের ক্লাস্টারিংয়ের চেয়ে। MongoDB ব্যবহার করে লেখক এবং পাবলিশাররা একে অপরের বিষয়ে অবগত নাও হতে পারে।

এটি বের করে দেই - CRX ক্লাস্টারিং-এর একটি spotless track record নেই। একটি লোকাল-অনলি অবজেক্ট ক্যাটালগের অন্তর্নিহিত চ্যালেঞ্জের একটি হলো, স্কেলে, একটি সিঙ্গেল ক্যাটালগ বেশ কিছু সুবিধা প্রদান করে:

  • ডেটা ডুপ্লিকেশন কমায়
  • পারফরম্যান্স অ্যানালিসিস এবং টিউনিং-এর জন্য কনসেন্ট্রেটেড স্কোপ
  • মাল্টি-নোড ইন্টারঅ্যাকশন ছাড়া HA অ্যাক্সেসিবিলিটি
  • রিডান্ডেন্সি এবং পারফরম্যান্সের জন্য হরিজন্টাল স্কেলিং

একদম পারফেক্টলি কাজ করার CRX ক্লাস্টার থাকলেও, এই সুবিধাগুলোর কোনটিই অ্যাড্রেস করা হয় না। এন্টার দ সো-সো ওল্ড ডেজ অফ শেয়ার্ড ডেটা টিয়ার।

৫.৬.১ এবং এর আগের ভার্সনে, বড় এবং বৃদ্ধি পাওয়া ডিপ্লয়মেন্ট তাদের অবজেক্ট রিপোজিটরি শেয়ার্ড NFS-এ মাউন্ট করতে পারত, যেখানে প্রোটোকল, বা NFS সার্ভার, লো কলিশন সহ মাল্টি-রাইট বিহেভিয়ারের জন্য লকিং সাপোর্ট প্রদান করত। এটি এখনও একটি viable অপশন, কিন্তু, NetApp ব্যবহার না করলে, কন্ট্রোলার বা ডেটা টিয়ারে সিঙ্গেল পয়েন্ট অফ ফেইলুরের রিস্ক প্রায়শই থাকে যা n*9 আর্কিটেকচারকে রোখে।

AEM 6.x-এ MongoDB মাইক্রোকernel-এর পরিচয় আমাকে मूलত একই আর্কিটেকচার দিয়েছে আমাদের পছন্দের আরও buzzy ডাটাবেসের সাথে।

MongoMK-এর প্রাইমারি ইউজ-কেস AEM author instances-এর সাথে, যেখানে এক্টিভ ইউজার লিমিট (~২৫-৩০) মানে হরিজন্টাল স্কেলিং প্রথমে কনকারেন্সি ইস্যু অ্যাড্রেস করতে হবে। এখানে, শেয়ার্ড ডেটা টিয়ার সবচেয়ে উজ্জ্বলভাবে চমকে কারণ পারফরম্যান্স স্কেল এবং কনসিস্টেন্সির সেকেন্ড ফিডল অটে স্মržながら একই সাথে নোড-টু-নোড কমিউনিকেশনের প্রয়োজন দূর করে।

এটি নিশ্চিতভাবেই সম্ভব পাবলিশারদের সিমিলার ফ্যাশনে যোগ করতে, যাইহোক, সুবিধাগুলো কমে যায় কনকারেন্সি ইস্যুর অভাবের কারণে (অর্থাৎ শুধু আরো পাবলিশার যোগ করুন আরও স্কেলের জন্য) এবং নন-লোকাল ক্যাটালগের পারফরম্যান্স পেনাল্টির কারণে।

তাহলে সেটি মানে স্কেল টু ইনফিনিটি এন্ড বিয়ন্ড!osl

ধীরে চলুন, Buzz Lightyear, এখানে একটি সমস্যা রয়েছে। Single-site MongoDB এর আশা করা হয় খুব কার্যকরভাবে স্কেল করবে ইহার ফাস্ট-অ্যাক্সেস ডেটা এবং ইন-লাইন নেটওয়ার্কিং অপশন দেওয়ায়। এখানে, আকাশই লিমিট হতে পারে। বিবেচনা করুন, একটি multi-site deployment যেখানে MongoDB replica sets অবশ্যই বিভিন্ন ডেটা সেন্টার এবং অজানা মাইল ফাইবার জুড়ে কমিউনিকেট করতে হবে। এন্টার দ অপারেশনস লগ (oplog)।

Oplog হলো replicas কে সিঙ্ক্রোনাইজড রাখার ইন্টারমিডিয়ারি; মূলত ডেল্টা অপারেশনর একটি সিরিজ প্রদান করে যেগুলো অর্ডারে অ্যাপ্লাই করা হবে। এটি কতিপয় অন্যান্য ডাটাবেস ক্লাস্টার কনফিগারেশনের সাথে assez similar।

অপ্টিমাইজড অপারেশনের সময়, oplog প্রায় রিয়েলটাইমে প্রাইমারি ছাড়া এক্সিকিউট হয়, যদিও MongoDB drift পারমিট করে। Multi-site অপারেশনের সময়, যাইহোক, ওয়ায়ার লেটেন্সি এবং অপারেশন লেটেন্সি স্ট্যাক হতে পারে Greater drift ইন্ট্রোডিউস করতে এবং এই কনফিগারেশনের জন্য নিচের চ্যালেঞ্জ প্রেজেন্ট করতে:

  • Oplog ফাংশনালি একটি কমান্ডের স্ট্যাক।
  • অনেক স্ট্যাকের মতো, এটি first-in - first-out।
  • স্ট্যাক বিহেভিয়ার নির্দেশ করে যে, যখন Next push একটি un-popped রেকর্ড ওভাররাইট করবে, ডেটা লস হবে।

MongoDB প্রোগ্রামাররা এই সিচুয়েশন ক্যাচ এবং অ্যাড্রেস করার জন্য ইলেক্ট করেছেন replica halt, rebuild, এবং sync forward from the (new) oplog after its rebuild করাতে।

সারফেসে, এই অপারেশনে কিছু এক্সোটিক বা ডেঞ্জারাস কিছু নেই। প্রথমে rebuild অপারেশন কনসিডার করুন, যা সকল ডেটা واিপ করে এবং তারপর known-good primary থেকে একটি ফ্রেশ কপি পুল করে। এমনকি এক্সপোর্ট শূন্য সেকেন্ডে কমপ্লিট হয়, লেটেন্ট ওয়ায়ার জুড়ে ডেটা ভলিউমের কপি inherentভাবে drift ইন্ট্রোডিউস করবে রিমোট রেপ্লিকাটা ইমপোর্ট ফিনিশ করার আগে। অনুমান করুন ওয়ায়ার লেটেন্সি একমাত্র চ্যালেঞ্জ, যাতে, rebuildের পর, oplog শুধু rebuild দ্বারা ইন্ট্রোডিউস করা drift ধারণ করে। মূল ইস্যু যেটি replication lag ট্রিগার করেছিলো সেটি এখনও আছে, তাই এক্সপেক্ট করা যেতে পারে যে, সময়ের সাথে, নতুন তৈরি সেকেন্ডারি আবার rebuild করতে বাধ্য হবে।

কিছু কেসে, এই বিহেভিয়ার replication lag এবং rebuild-এর একটি unending loop-এ এন্টার করে, যার ফলাফল রিমোট সেকেন্ডারি যারা কখনো ফাংশনাল স্টেটে নেই।

AEM-এর জন্য, এর মানে হলো MongoDB replicas ব্যবহার করা cross-site authoring-এর জন্য প্রাইমারি ডেটা সোর্স হিসেবে রিমোট লেখকদের Significant risk-এ রাখে।

  1. MongoDB টিপস: পার্ট ১ - উন্নত ডেটাবেস ব্যবস্থাপনার জন্য অপরিহার্য কৌশল

  2. মmongodb ব্যবহার করার শীর্ষ Кейস উন্নত কাস্টমার এক্সপেরিয়েন্সের জন্য

  3. MongoDB শার্ডিং দিয়ে স্কেল করুন: একটি রোবাস্ট, স্কেলেবল আর্কিটেকচার বানান

  4. MongoDB স্পেস ম্যানেজমেন্ট 습득: অ্যালোকেশন, ড্যাশবোর্ড, এবং স্কেলিং টিপস