benchANT compares MongoDB and ScyllaDB architectures, with a focus on what the differences mean for performance and scalability একটি NoSQL ডাটাবেস নির্বাচন করার সময়, বিকল্পগুলি বিরাট হতে পারে। সবচেয়ে জনপ্রিয় বিকল্পগুলির মধ্যে একটি হল MongoDB, যা তার সহজ ব্যবহারের জন্য পরিচিত। প্রতিবেদনে উভয় ডাটাবেসের প্রযুক্তিগত দৃষ্টিভঙ্গি নেওয়া হয় - তাদের আর্কিটেকচারগুলি স্বাধীন, প্রযুক্তিগত দৃষ্টিভঙ্গি থেকে তুলনা করা হয়। বেনজেন MongoDB এবং ScyllaDB উভয়ই উচ্চ উপলব্ধ, পারফরম্যান্স এবং স্কেলযোগ্য আর্কিটেকচারের প্রতিশ্রুতি দেয়। কিন্তু তারা এই লক্ষ্যগুলি অর্জনের উপায়গুলি প্রথম দিকে তাকানোর চেয়ে অনেক বেশি আলাদা। উদাহরণস্বরূপ, একটি অভিজ্ঞতা রিপোর্ট দেখায় যে AWS EC2 স্পট ইনস্টিটিউটগুলিতে ScyllaDB কিভাবে সহজেই পরিচালিত হতে পারে তার বিতরণীয় আর্কিটেকচারের কারণে, যখন MongoDB এর বিতরণীয় আর্কিটেকচার এটি একটি খুব চ্যালেঞ্জিং কাজ করে। এই পার্থক্যগুলি চিহ্নিত করার জন্য, আমরা অভ্যন্তরীণ স্টোরেজ আর্কিটেকচার এবং বিতরণ করা আর্কিটেকচারগুলির একটি গভীর আলোচনা প্রদান করি যা উচ্চ উপলব্ধতা এবং হাইড্রোজেন্টাল স্ক্যালারিং সক্ষম করে। আমরা এছাড়াও এই পার্থক্যগুলির প্রভাবকে পরিমাপ করার জন্য একটি রেফারেল প্রকাশ করেছি। Note: DynamoDB vs MongoDB Benchmark সংক্ষিপ্ত পড়ুন এই তুলনা প্রতিবেদনটি ডাউনলোড করুন Read the DynamoDB vs MongoDB Benchmark Summary DynamoDB vs MongoDB Benchmark সংক্ষিপ্ত পড়ুন Download this Comparison Report এই তুলনা প্রতিবেদনটি ডাউনলোড করুন MongoDB vs ScyllaDB এর স্টোরেজ আর্কিটেকচারের উপর একটি কর্মক্ষমতা দৃষ্টিকোণ উভয় ডাটাবেস C++ এ বাস্তবায়িত হয় এবং XFS ফাইল সিস্টেম ব্যবহারের সুপারিশ করে। , ScyllaDB টার্মিনালে Commit Log এবং MongoDB টার্মিনালে Oplog. write-ahead-logging দিয়ে, সব অপারেশনগুলি অপারেশনটি সম্পন্ন হওয়ার আগে একটি লগ টেবিলে লিখিত হয়. write-ahead-log অন্য নোটগুলিতে ডেটা পুনরাবৃত্তি করার জন্য একটি উৎস হিসাবে কাজ করে, এবং এটি ব্যর্থতার ক্ষেত্রে ডেটা পুনরুদ্ধার করতে ব্যবহৃত হয় কারণ ডেটা পুনরুদ্ধার করার জন্য অপারেশনগুলি 'পুনরাবৃত্তি' করা সম্ভব। পূর্ববর্তী নিবন্ধবিস্তারিত MongoDB ডিফল্ট স্টোরেজ ইঞ্জিন হিসাবে ডেটা স্টোরেজ এবং পুনরুদ্ধারের জন্য একটি B+-Tree সূচক (Wired Tiger) ব্যবহার করে। B+-Tree সূচকগুলি ভারসাম্যপূর্ণ গাছের ডেটা কাঠামোগুলি যা ডেটা সুরক্ষিত আদেশে সঞ্চয় করে, যা দৈর্ঘ্য ভিত্তিক অনুরোধগুলি সহজ করে তোলে। ScyllaDB তার সংশ্লিষ্ট মেমরি (RAM) এবং স্থায়ী স্টোরেজ (যেমন NVMe SSD) সহ একটি নির্দিষ্ট CPU এর জন্য একটি নির্দিষ্ট CPU এর মধ্যে মোট ডেটা অঙ্কন দ্বারা ডেটা বিভক্ত করে। ScyllaDB এর অভ্যন্তরীণ স্টোরেজ ইঞ্জিনটি একটি ডিস্ক স্থায়ী কম্পম লগ এবং মেমরি ভিত্তিক memtables প্রয়োগ করে যা সময়ের সাথে সাথে সাথে সংশ্লিষ্ট মেমরি (RAM) এবং স্থায়ী স্টোরেজ (যেমন NVMe SSD)। ScyllaDB এর অভ্যন্তরীণ স্টোরেজ ইঞ্জিনটি একটি হ্যাশিং রিং অনুসরণ করে যেখানে হ্যাশিং রিং এবং সংশ্লিষ্ট পার্টিশন সংরক্ষণ করা হয়। এবং পার্টিশনের মধ্যে, ScyllaDB এই ভিন্ন স্টোরেজ আর্কিটেকচারগুলি কাজের লোড পরিচালনা করার জন্য উপলব্ধ হার্ডওয়্যারের ভিন্ন ব্যবহারের ফলাফল। MongoDB উপলব্ধ CPU কোরগুলিতে অভ্যন্তরীণ থ্রেডগুলি পিন করে না, কিন্তু কোরগুলিতে বিতরণ থ্রেডগুলির জন্য একটি অবিচ্ছেদ্য পদ্ধতি প্রয়োগ করে। CPU আর্কিটেক্টরগুলির ক্ষেত্রে, এটি পারফরম্যান্স হ্রাসের কারণ হতে পারে, বিশেষ করে বড় সার্ভারগুলির ক্ষেত্রে, কারণ স্ট্রাইডগুলি আলাদা মেমরি নোডগুলির সাথে বিভিন্ন সকেটগুলিতে আলাদাভাবে কোরগুলিতে সংযুক্ত করা যেতে পারে। যা এটি নির্দিষ্ট কোরগুলিতে দায়িত্বশীল থ্রেডগুলি পিন করতে সক্ষম করে এবং বিভিন্ন কোর এবং মেমরি স্পেসগুলির মধ্যে স্যুইচিং এড়িয়ে চলতে পারে। ফলস্বরূপ, স্ক্র্যাড কীটি সঠিকভাবে নির্বাচন করা উচিত যাতে স্ক্র্যাডগুলির মধ্যে সমান ডেটা বিতরণ নিশ্চিত করা হয় এবং হট স্ক্র্যাডগুলি প্রতিরোধ করা যায়। যা দীর্ঘস্থায়ী সংবেদনশীল এবং অসহিষ্ণু অনুরোধগুলির জন্য ভিত্তিক অগ্রাধিকার ক্লাসগুলি সরবরাহ করে, এবং একটি নোটের ভাগগুলির মধ্যে সমন্বিত আই / ও পরিকল্পনা করে ডিস্ক পারফরম্যান্সকে সর্বোচ্চ করতে। নম্বর ভিত্তি Shard per Core পদ্ধতি I/O পরিকল্পনা ScyllaDB ব্যবহারকারীকে নিয়ন্ত্রণ করতে দেয় যে ডেটা ডিবি ক্যাশে থাকবে কিনা বা বিরলভাবে অ্যাক্সেসযোগ্য পার্টিশনগুলির জন্য এটি অতিক্রম করতে পারে কিনা। ScyllaDB ক্লায়েন্টকে ডেটা মালিকানাধীন নোট এবং সিপিউ কোর (শার্ড) অ্যাক্সেস করতে দেয়. এটি কম দীর্ঘস্থায়ীতা, সামঞ্জস্যপূর্ণ কর্মক্ষমতা এবং নিখুঁত লোড ভারসাম্য প্রদান করে. ScyllaDB এছাড়াও নির্দিষ্ট, গুরুত্বপূর্ণ কাজ লোডগুলির জন্য কম দীর্ঘস্থায়ীতা নিশ্চিত করার জন্য বিভিন্ন কাজ লোডগুলির জন্য ব্যবহারকারীর জন্য বিভিন্ন এসএলএলএ প্রদান করে। MongoDB Distributed Architecture - উচ্চ উপলব্ধতা এবং স্ক্যালারি জন্য দুই অপারেটিং মোড MongoDB ডাটাবেস আর্কিটেকচারটি দুটি ক্লাস্টার মোডগুলি সরবরাহ করে যা নিম্নলিখিত বিভাগগুলিতে বর্ণিত হয়: একটি রিপ্লিকেশন সেট ক্লাস্টার উচ্চ উপলব্ধতা লক্ষ্য করে, যখন একটি বিচ্ছিন্ন ক্লাস্টার উচ্চ উপলব্ধতা এবং হাই স্ক্যালারি লক্ষ্য করে। Replica সেট ক্লাস্টার: সীমিত স্ক্যালারি সঙ্গে উচ্চ উপলব্ধতা MongoDB সংস্কৃতির ধারণা দ্বারা MongoDB সংস্কৃতির সেট দ্বারা উচ্চ উপলব্ধতা সম্ভব করে তোলে। MongoDB সংস্কৃতির সেট Primary-Secondary নোডের ধারণা অনুসরণ করে, যেখানে শুধুমাত্র প্রাইমারি WRITE অপারেশনগুলি পরিচালনা করে। সেকেন্ডারিগুলি ডেটাগুলির একটি কপি রাখে এবং শুধুমাত্র READ অপারেশনগুলি পরিচালনা করতে সক্ষম করা যেতে পারে। একটি সাধারণ সংস্কৃতির সেট বিতরণ দুটি সেকেন্ডারি থেকে গঠিত হয়, কিন্তু অতিরিক্ত সেকেন্ডারিগুলি উপলব্ধতা বৃদ্ধি বা পড়া ভারী ওয়ার্ক লোডগুলির জন্য যোগ করা যেতে পারে। MongoDB এক ভৌগোলিক বিতরণের ক্ষেত্রে, MongoDB ডাটা সেন্টার ব্যর্থতার ক্ষেত্রে উচ্চ উপলব্ধতা নিশ্চিত করার জন্য পুনরাবৃত্তি সেটের জন্য ভৌগোলিক বিতরণ সমর্থন করে. এই ক্ষেত্রে, নিম্নলিখিত চিত্রে দেখানো হিসাবে, একাধিক ডাটা সেন্টারে দ্বিতীয় ইন্সটিউটগুলি বিতরণ করা যেতে পারে. উপরন্তু, সীমিত সম্পদ বা নেটওয়ার্ক সীমাবদ্ধতার সাথে দ্বিতীয় ইন্সটিউটগুলি একটি ব্যর্থতার ক্ষেত্রে তাদের নির্বাচনযোগ্যতাকে প্রাথমিক হিসাবে নিয়ন্ত্রণ করার জন্য একটি অগ্রাধিকার সঙ্গে কনফিগার করা যেতে পারে. Sharded ক্লাস্টার: অপারেটিং জটিলতা সঙ্গে হাইড্রোজেন্টাল স্ক্যালারি এবং উচ্চ উপলব্ধতা MongoDB ক্রমবর্ধমান কাজের লোড এবং ক্রমবর্ধমান ডেটা আকারের সাথে মোকাবেলা করার জন্য একাধিক প্রাথমিক ইন্সটিপগুলির মধ্যে ডেটা sharding দ্বারা হাইড্রোস্টাল স্ক্যালিং সমর্থন করে. in a sharded cluster, each replica set consisting of one primary and multiple secondaries represents a shard. Since MongoDB 4.4 secondaries can also be used to handle read requests using the hedged read option. Sharding সক্ষম করার জন্য, অতিরিক্ত MongoDB নোট টাইপ প্রয়োজন: এবং সার্ভারগুলি কনফিগ করুন. একটি mongos ইনস্টিটিউট একটি query router হিসাবে কাজ করে, ক্লায়েন্ট অ্যাপ্লিকেশনগুলি এবং sharded cluster এর মধ্যে একটি ইন্টারফেস সরবরাহ করে. ফলস্বরূপ, ক্লায়েন্টগুলি ক্লায়েন্টগুলির সাথে কখনোই সরাসরি যোগাযোগ করে না, কিন্তু সবসময় query router এর মাধ্যমে। চাহিদা রুট (Mongos) ক্লাস্টারের অ্যাক্সেসযোগ্যতা নিশ্চিত করার জন্য একাধিক প্রশ্নের রাউটারগুলি ব্যবহার করা উচিত কারণ ক্লাস্টার রাউটারগুলি ক্লাস্টার ড্রাইভারগুলির জন্য সরাসরি ইন্টারফেস। প্রশ্নের রাউটারগুলির সংখ্যা সীমাবদ্ধ নয়, তবে কারণ তারা প্রায়শই কনফিগ সার্ভারগুলির সাথে যোগাযোগ করে, এটি উল্লেখ করা উচিত যে অতিরিক্ত ক্লাস্টার রাউটারগুলি কনফিগ সার্ভারগুলিকে অতিরিক্তভাবে লোড করতে পারে। কনফিগ সার্ভারগুলি সমস্ত ডেটা এবং উপাদানগুলির জন্য অবস্থা এবং সংগঠন সহ ক্লাস্টারগুলির মেটাডেটগুলি সংরক্ষণ করে। মেটাডেটে প্রতিটি MongoDB মধ্যে ডেটা sharding সংগ্রহের স্তরে করা হয়, এবং একটি সংগ্রহ একটি shard key উপর ভিত্তি করে sharded করা যেতে পারে. MongoDB একটি shard key ব্যবহার করে কোন ডকুমেন্টগুলি কোন shard উপর অন্তর্ভুক্ত হয় তা নির্ধারণ করতে. সাধারণ shard key options include the _id field and a field with a high cardinality, such as a timestamp or user ID. MongoDB three sharding strategies supports: range based, hash based and zone based. Sharded sharding partitions documents across shards according to the shard key value. This keeps documents with shard key values close to each other and works well for range-based queries, e.g. on time series data. hashed sharding guarantees a uniform distribution of writes across shards, which favors writing workloads. Zoneed sharding enables developers to define custom sharding rules, for example to ensure that the most relevant data resides on shards that are geographically closest to the application servers. Sharded sharding documents across shards according to the shard key value. এই ফাংশনগুলি একসাথে কাছাকাছি থাকে। এছাড়াও, ডাটা সেন্টারের ব্যর্থতা অতিক্রম করার জন্য ভৌগোলিকভাবে বিতরণযোগ্য সেটিংসে বিতরণ করা যেতে পারে, যেমনটি নিম্নলিখিত চিত্রে দেখা যায়। ScyllaDB আর্কিটেকচার - উচ্চ উপলব্ধতা এবং হাইড্রোজেন্টাল স্ক্যালারি জন্য মাল্টি-প্রাইমারি MongoDB এর বিপরীতে, ScyllaDB একক প্রাথমিক নোড এবং একাধিক সেকেন্ডারি নোডের সাথে ক্লাসিকাল RDBMS আর্কিটেকচারগুলি অনুসরণ করে না, কিন্তু একটি ডিজেন্ট্রাল গঠন ব্যবহার করে, যেখানে সমস্ত ডেটা সিস্টেমিকভাবে বিতরণ করা হয় এবং একাধিক নোডের মধ্যে পুনরাবৃত্তি করা হয় যা একটি গ্রুপ গঠন করে। একটি ক্লাস্টার একটি ভার্চুয়াল রিং আর্কিটেকচারে সংগৃহীত একটি সংযুক্ত ক্লাস্টার, যাতে ডেটা বিতরণ করা হয়। রিংটি ভিএনডে ভাগ করা হয়, যা একটি শারীরিক ক্লাস্টারকে নির্ধারিত টোকেনগুলির একটি পরিসীমা প্রতিনিধিত্ব করে এবং ক্লাস্টারের জন্য রিপ্লিকেশন ফ্যাক্টর সেট অনুযায়ী শারীরিক ক্লাস্টারগুলির মধ্যে পুনরাবৃত্তি করা হয়। সমস্ত ক্লাস্টারগুলি সমান, একাধিক প্রাথমিক মানে বিতরণ করা হয়। একটি নির্ধারিত নেতা ছাড়া, ক্লাস্টারটি কোনও একক ব্যর্থতা পয়েন্ট নেই। ক্লাস্টারগুলি একটি নির্দিষ্ট ভিত্তিক সার্ভার সব নোট একে অপরের সাথে যোগাযোগ করে। এই প্রোটোকলটি নির্ধারণ করে যে কোন পার্শ্বে কোন ডেটা লেখা হয় এবং সঠিক পার্শ্বে ডেটা রেকর্ড অনুসন্ধান করে ইন্ডেক্স ব্যবহার করে। গুজব প্রোটোকল স্ক্যালিংয়ের ক্ষেত্রে, ScyllaDB এর আর্কিটেকচারটি সহজে একাধিক সার্ভার এবং অঞ্চলের মধ্যে হাইড্রোজেনটন শার্ডিংয়ের জন্য তৈরি করা হয়। ScyllaDB এর শার্ডিং টেবিল স্তরে করা হয়, এবং একটি টেবিল একটি পার্টিশন কী উপর ভিত্তি করে শার্ড করা যেতে পারে। উপরন্তু, ScyllaDB ডেটা উচ্চ উপলব্ধতা এবং কম দেরি জন্য একাধিক ডেটা সেন্টারে পুনরাবৃত্তি করার অনুমতি দেয়. In this multi-data-center or multi-region setup, the data between data centers is asynchronously replicated. ক্লায়েন্ট দিক থেকে, অ্যাপ্লিকেশনগুলি একাধিক ডাটা সেন্টার বিতরণ সম্পর্কে সচেতন হতে পারে বা না হতে পারে, এবং এটি অ্যাপ্লিকেশন ডেটা সেন্টার (স) সম্পর্কে সচেতনতা সম্পর্কে সিদ্ধান্ত নেওয়ার জন্য অ্যাপ্লিকেশন ডেটা সেন্টার (স) ডেটা সেন্টার (স) ডেটা সেন্টার (স) ডেটা সেন্টার (স) ডেটা সেন্টার (স) ডেটা সেন্টার (স) ডেটা সেন্টার (স) ডেটা সেন্টার (স) ডেটা সেন্টার (স) ডেটা সেন্টার (স) ডেটা সেন্টার (স) ডেটা সেন্টার (স) ডেটা সেন্টার (স) ডেটা সেন্টার (স MongoDB এবং ScyllaDB এর বিতরণিত আর্কিটেকচারগুলির উপর একটি তুলনামূলক স্ক্যালারিভিত্তিক দৃষ্টিভঙ্গি স্কেলিংয়ের ক্ষেত্রে, ScyllaDB এবং MongoDB এর উভয় বিতরণ পদ্ধতিগুলির উল্লেখযোগ্যভাবে ভিন্ন পদ্ধতিগুলি বিবেচনা করা উচিত, বিশেষ করে স্থানীয়ভাবে বা IaaS এ পরিচালিত স্বয়ংক্রিয়ভাবে পরিচালিত ক্লাস্টারগুলির জন্য। যাইহোক, উল্লেখযোগ্য লিখা অনুপাতের সাথে কাজের লোডগুলি স্ক্যালিং করার জন্য, রিপ্লিকেশন সেটগুলি একটি স্ক্যালড রিপ্লিকেশন সেটে রূপান্তরিত করতে হবে এবং এটি কয়েকটি চ্যালেঞ্জের সাথে আসে। প্রথমত, দুটি অতিরিক্ত MongoDB পরিষেবাগুলি প্রয়োজন: একটি চাহিদা রুটার (মঙ্গোস) এবং একটি স্ক্যালড রিপ্লিকেশন সেট কনফিগ সার্ভারগুলি উচ্চ উপলব্ধতা নিশ্চিত করার জন্য। ফলস্বরূপ, প্রথমত, স্ক্যালডিং সক্ষম করার জন্য অনেক বেশি সম্পদ প্রয়োজন। উপরন্তু, অপারেটিং জটিলতা স্পষ্টভাবে বৃদ্ধি পায়। উদাহরণস্বরূপ, তিনটি স্ক্যালডের সাথে দ্বিতীয় চ্যালেঞ্জ হল ভাগ করা ক্লাস্টারে ডেটা পুনর্গঠন করা। এখানে, MongoDB একটি ক্রমাগত চলমান ব্যাকআউট টাস্ক প্রয়োগ করে যা স্বয়ংক্রিয়ভাবে ভাগগুলিতে ডেটা পুনর্গঠন করতে সক্ষম করে। পুনর্গঠনটি ক্লাস্টারে একটি নতুন ভাগ যোগ করার পরে নয়, কিন্তু নির্দিষ্ট অভ্যন্তরীণ সীমা পৌঁছানোর পরে ঘটে। ফলস্বরূপ, ভাগের সংখ্যা বৃদ্ধি ক্লাস্টারকে অবিলম্বে পরিমাপ করবে কিন্তু একটি দ্রুত পরিমাপের প্রভাব থাকতে পারে। MongoDB সংস্করণ 5.0 পর্যন্ত, MongoDB প্রকৌশলীরা নিজেদেরকে ভাগ না করার পরামর্শ দেয়, তবে সম্ভব ScyllaDB গ্রুপের স্ক্যালিং ব্যবহারকারীর জন্য ScyllaDB এর মাল্টি-প্রাইমারি আর্কিটেকচারের কারণে তুলনামূলকভাবে সহজ এবং স্বচ্ছ। এখানে, প্রতিটি নোট সমান এবং ক্লাস্টারকে শত শতাধিক নোট পর্যন্ত স্ক্যালিং করার জন্য কোন অতিরিক্ত পরিষেবাগুলি প্রয়োজন হয় না। উপরন্তু, ডেটা পার্শ্ববর্তীকরণ যখন গ্রুপে একটি নতুন নোট যোগ করা হয় তখন চালানো হয়। এই ক্ষেত্রে, ScyllaDB MongoDB এর তুলনায় স্পষ্ট সুবিধা প্রদান করে। প্রথমত, সামঞ্জস্যপূর্ণ হ্যাশিং পদ্ধতি অনুযায়ী, ডেটা পুরো গ্রুপে পার্শ্ববর্তী করা উচিত নয়, শুধুমাত্র নোটগুলির একটি সাব প্রধান স্ক্যালারিযোগ্যতা পার্থক্যগুলি নিম্নলিখিত টেবিলে সংক্ষিপ্ত করা হয়েছে: পর্যালোচনা এবং Outlook যখন আপনি দুটি ভাগের তুলনা করেন ডাটাবেস, আপনি সবসময় কিছু সামঞ্জস্য খুঁজে পেতে পারেন, কিন্তু অনেক উল্লেখযোগ্য পার্থক্য। . উভয় ডাটাবেসগুলি একই ধরনের ব্যবহারের ক্ষেত্রে কাজ করে এবং একটি অনুরূপ পণ্য এবং সম্প্রদায়ের কৌশল রয়েছে। তবে প্রযুক্তিগত দিকের ক্ষেত্রে, আপনি বিভিন্ন পদ্ধতি এবং ফোকাসগুলি দেখতে পারেন। উভয় ডাটাবেসগুলি একটি বিতরণী আর্কিটেকচারের মাধ্যমে উচ্চ উপলব্ধতা সক্ষম করার জন্য তৈরি করা হয়। নজরদারি MongoDB vs ScyllaDB ScyllaDB স্পষ্টভাবে কর্মক্ষমতা গুরুত্বপূর্ণ কাজের লোডগুলি মোকাবেলা করে যা সহজ এবং উচ্চ স্কেলযোগ্যতা, উচ্চ পারফরম্যান্স, কম এবং স্থিতিশীল দীর্ঘস্থায়ীতা, এবং একাধিক ডাটা সেন্টার বিতরণে সবকিছু প্রয়োজন। এবং তাদের প্রাসঙ্গিক কর্মক্ষমতা সম্পর্কে আরও ধারণা প্রদান করার জন্য, আমরা একটি স্বচ্ছ এবং পুনরাবৃত্তিযোগ্য কর্মক্ষমতা তুলনা সরবরাহ করি, যা MongoDB Atlas এবং ScyllaDB ক্লাউডের কর্মক্ষমতা, স্কেলিং এবং খরচ তদন্ত করে। অতিরিক্ত ScyllaDB vs. MongoDB তুলনা বিস্তারিত সম্পূর্ণ দেখুন এই প্রযুক্তিগত তুলনা একটি বিস্তৃত সংস্করণের জন্য, তুলনা বিস্তারিত সহ: BenchANT MongoDB vs ScyllaDB তুলনা ডাটা মডেল ভাষা চান ব্যবহারের ক্ষেত্রে এবং গ্রাহক উদাহরণ ডাটা সংশ্লিষ্টতা বিকল্প প্রথম দিকে অপারেশন অভিজ্ঞতা