বাল্ক ডেটা লোড করার জন্য সর্বোত্তম অনুশীলন

শুধুমাত্র ক্লাউড ফায়ারস্টোর এন্টারপ্রাইজ সংস্করণের জন্য প্রাসঙ্গিক।

mongoimport মতো টুলগুলির সাথে MongoDB সামঞ্জস্যের সাথে ক্লাউড ফায়ারস্টোরে বাল্ক ডেটা লোড করার সময় এই পৃষ্ঠাটি সর্বোত্তম অনুশীলনগুলি বর্ণনা করে৷

Cloud Firestore হল একটি উচ্চ বিতরণ করা সিস্টেম যা আপনার ব্যবসার চাহিদা মেটাতে স্বয়ংক্রিয় স্কেলিং অফার করে। Cloud Firestore সিস্টেম দ্বারা প্রাপ্ত লোডের উপর ভিত্তি করে আপনার ডেটাকে গতিশীলভাবে বিভক্ত করে এবং একত্রিত করে।

লোড-ভিত্তিক বিভাজন কোনো প্রয়োজনীয় প্রাক-কনফিগারেশন ছাড়াই স্বয়ংক্রিয়ভাবে ঘটে। Cloud Firestore লোড-ভিত্তিক স্প্লিটিং সিস্টেমে অন্যান্য ডকুমেন্ট ডেটাবেসের তুলনায় কিছু গুরুত্বপূর্ণ, অনন্য বৈশিষ্ট্য রয়েছে যা আপনার ডেটা মডেল করার সময় মনে রাখা গুরুত্বপূর্ণ।

Cloud Firestore বিতরণ করা প্রকৃতির পরিবর্তনের জন্য কিছু ডিজাইন পছন্দ পরিবর্তনের প্রয়োজন হতে পারে, বিশেষ করে ডাটাবেসের জন্য অপ্টিমাইজ করা ওয়ার্কলোডের জন্য যেখানে প্রাথমিক প্রতিরূপটি লেখার থ্রুপুটের জন্য বাধা।

সর্বোত্তম অনুশীলন

একটি একক থ্রেডেড ক্লায়েন্টে প্রচুর পরিমাণে ডেটা প্রসেস করে এমন ওয়ার্কলোডগুলি একটি বাধা তৈরি করতে পারে। ক্লায়েন্ট বাল্ক লোড ডেটার জন্য একক থ্রেডিং ব্যবহার করতে সক্ষম হতে পারে, কারণ ক্লায়েন্ট এবং সার্ভারের থ্রুপুট একইভাবে মিলে যায়। একটি Cloud Firestore ডাটাবেস উল্লেখযোগ্যভাবে আরও সমান্তরালতা পরিচালনা করতে পারে, তবে এর জন্য আপনাকে সমান্তরালভাবে অনুরোধ পাঠানোর জন্য ক্লায়েন্টদের কনফিগার করতে হবে।

mongoimport

mongoimport টুল ব্যবহার করার সময়, ডিফল্টভাবে অনুরোধগুলি ক্রমানুসারে করা হয়। Cloud Firestore লোডের সময় উন্নত করতে, --numInsertionWorkers পতাকা সহ কর্মীদের সংখ্যা সেট করুন। সঠিক সেটিং আপনার ক্লায়েন্টের আকারের উপর ভিত্তি করে টিউনিংয়ের প্রয়োজন হতে পারে, তবে আমরা সাধারণত কমপক্ষে 32 দিয়ে শুরু করার পরামর্শ দিই।

async প্রোগ্রামিং

MongoDB সামঞ্জস্যপূর্ণ API ব্যবহার করে আপনার নিজস্ব সফ্টওয়্যার বিকাশ করার সময়, আপনি নিম্নলিখিত উপায়ে সমান্তরালতা উন্নত করতে পারেন:

  • অ্যাসিঙ্ক ফ্রেমওয়ার্ক : অ্যাসিঙ্ক ফ্রেমওয়ার্ক ব্যবহার করে আপনি সমান্তরালভাবে অনুরোধগুলি প্রক্রিয়া করতে এবং প্রতিক্রিয়া জানাতে পারেন। আপনার ডাটাবেসে কল করার সময় কোনও জটিল পুলিং বা সারি তৈরি করার প্রয়োজন নেই। প্রতিটি অনুরোধ প্রবাহ স্বাধীন সংযোগ ব্যবহার করতে পারে এবং সমান্তরালভাবে তাদের ডাটাবেস কল করতে পারে।
  • সমান্তরাল গণনা অফারগুলি ব্যবহার করুন : Cloud Run মতো পরিষেবাগুলি ব্যবহার করে, আপনার সিস্টেম ডেটা প্রক্রিয়া করার জন্য প্রয়োজনীয় গণনা কর্মীদের সংখ্যা স্কেল করতে পারে৷

ক্ষণস্থায়ী ব্যর্থতা

Cloud Firestore মতো একটি বৃহৎ বিতরণ করা সিস্টেমের সাথে কাজ করার সময়, আপনি ক্ষণস্থায়ী ব্যর্থতার সম্মুখীন হতে পারেন যেমন নেটওয়ার্ক ব্লিপ বা নথিতে বিতর্ক।

যখন প্রচুর পরিমাণে তথ্য বাল্ক লোড করা হয়, তখন বৃহত্তর বাল্ক লোড অপারেশন ব্যর্থ না করে ব্যর্থ লেখার জন্য একটি পুনঃপ্রচেষ্টার কৌশল বজায় রাখা গুরুত্বপূর্ণ।