Rethinking latency-sensitive DynamoDB apps for multicloud, multiregion deployment বিজ্ঞাপন প্রদানের পুরো প্রক্রিয়া 200 থেকে 300 মিলিসেকেন্ডের মধ্যে ঘটে। আমাদের ডাটাবেস অনুসন্ধানগুলি একক সংখ্যক মিলিসেকেন্ডের মধ্যে সম্পন্ন করতে হবে. প্রতিদিন বিলিয়ন ট্রান্সমিশনগুলির সাথে, ডাটাবেসটি দ্রুত, স্কেলযোগ্য এবং নির্ভরযোগ্য হওয়া উচিত। Todd Coleman, Yieldmo এর প্রযুক্তিগত সহ-প্রতিষ্ঠাতা এবং প্রধান আর্কিটেক্ট বিজ্ঞাপন প্রদানের পুরো প্রক্রিয়া 200 থেকে 300 মিলিসেকেন্ডের মধ্যে ঘটে। আমাদের ডাটাবেস অনুসন্ধানগুলি একক সংখ্যক মিলিসেকেন্ডের মধ্যে সম্পন্ন করতে হবে. প্রতিদিন বিলিয়ন ট্রান্সমিশনগুলির সাথে, ডাটাবেসটি দ্রুত, স্কেলযোগ্য এবং নির্ভরযোগ্য হওয়া উচিত। Todd Coleman, Yieldmo এর প্রযুক্তিগত সহ-প্রতিষ্ঠাতা এবং প্রধান আর্কিটেক্ট ইয়েল্ডমোর অনলাইন বিজ্ঞাপন ব্যবসাটি প্রতিদিন শত শত বিলিয়ন বিজ্ঞাপন অনুরোধগুলির প্রক্রিয়াকরণের উপর নির্ভর করে সাবসেকেন্ড ল্যাটিনেশন প্রতিক্রিয়াগুলির সাথে। কোম্পানির পরিষেবাগুলি প্রথমে ডাইনামোডিবি-এর উপর নির্ভর করে, যা দলটি সহজতা এবং স্থিতিশীলতার জন্য মূল্যায়ন করেছিল। সম্প্রতি একটি আলোচনায় ইয়েল্ডমো এর প্রযুক্তিগত সহ-প্রতিষ্ঠাতা ও প্রধান আর্কিটেক্ট, টোড কোলম্যান, কোম্পানির মুখোমুখি প্রযুক্তিগত চ্যালেঞ্জগুলি শেয়ার করেছেন এবং কেন দল অবশেষে ScyllaDB এর ডাইনামোডিবি-সংযুক্ত এপিআই দিয়ে এগিয়ে গেল। Monster Scale সম্মেলন আপনি নিচে তার সম্পূর্ণ আলোচনা দেখতে পারেন অথবা একটি পুনরাবৃত্তি জন্য পড়তে থাকুন। https://youtu.be/sk0mIiaOwM8?embedable=true Lost Business = হারিয়ে যাওয়া ব্যবসা Yieldmo একটি অনলাইন বিজ্ঞাপন প্ল্যাটফর্ম যা প্রকাশকদের এবং বিজ্ঞাপনদাতাদের একটি পৃষ্ঠা লোড হিসাবে বাস্তব সময়ে সংযুক্ত করে। প্রায় প্রতিটি বিজ্ঞাপন অনুরোধ একটি ডাটাবেস চাহিদা চালু করে যা মেশিন লার্নিং অভিজ্ঞতা এবং ডিভাইস-আইডেন্টিটি তথ্য পুনরুদ্ধার করে। কার্যকর বিক্রয় অংশীদাররা সিদ্ধান্ত নিতে সাহায্য করুন কোন বিজ্ঞাপনগুলি তারা ইতিমধ্যে একটি ডিভাইসে প্রদর্শন করেছে তা ট্র্যাক করুন যাতে বিজ্ঞাপনদাতারা ফ্রিকোয়েন্সি ক্যাপস পরিচালনা করতে পারে এবং বিজ্ঞাপন প্রেরণাকে অপ্টিমাইজ করতে পারে পুরো বিজ্ঞাপন পাইপলাইনটি মাত্র 200 থেকে 300 মিলিসেকেন্ডে সম্পন্ন হয়, যার অধিকাংশ সময় অংশীদাররা মূল্যায়ন এবং অফারগুলি স্থাপন করে। যখন একজন ব্যবহারকারী একটি ওয়েবসাইট পরিদর্শন করে, একটি বিজ্ঞাপন অনুরোধ Yieldmo পাঠানো হয়। Yieldmo এর প্ল্যাটফর্ম এই অনুরোধ বিশ্লেষণ করে। এটি তার অংশীদারদের থেকে সম্ভাব্য বিজ্ঞাপন অনুরোধ করে। তিনি বিজয়ী অফার নির্ধারণ করার জন্য একটি বিক্রয় পরিচালনা করে। ডাটাবেস অনুসন্ধান কোনও অংশীদারদের কল করার আগে ঘটতে হবে. এবং এই অনুসন্ধানগুলি একক সংখ্যক মিলিসেকেন্ডের দেরিতে সম্পন্ন করতে হবে. কোলম্যান ব্যাখ্যা করেছেন, "দৈনিক বিলিয়ন ট্র্যাঙ্কিংয়ের সাথে, ডাটাবেসটি দ্রুত, পরিমাপযোগ্য এবং নির্ভরযোগ্য হওয়া উচিত। DynamoDB ক্রমবর্ধমান ব্যথা Yieldmo এর উত্পাদন অবকাঠামো AWS উপর চলছে, তাই DynamoDB একটি যৌক্তিক পছন্দ ছিল যখন দল তাদের অ্যাপ্লিকেশন তৈরি করেছিল. DynamoDB সহজ এবং নির্ভরযোগ্য প্রমাণিত হয়, কিন্তু দুটি গুরুত্বপূর্ণ চ্যালেঞ্জ উপস্থিত হয়। দ্বিতীয়ত, কোম্পানিটি AWS এর বাইরে ক্লাউড প্রদানকারীদের উপর বিজ্ঞাপন সার্ভার চালানোর বিকল্প চায়। কোলম্যান বলেন, "যেমন, কিছু অঞ্চলে, মার্কিন পূর্ব উপকূলে, AWS এবং GCP [Google Cloud Platform] ডেটা সেন্টারগুলি যথেষ্ট কাছাকাছি থাকে যাতে দীর্ঘস্থায়ীতা কম থাকে। সেখানে, একটি বিজ্ঞাপন সার্ভার থেকে আমাদের ডাইনামোডিবি ডেটাবেসটি আঘাত করা কোনও সমস্যা নয় যা GCP-এ চলছে। DynamoDB বিকল্প Yieldmo এর টিম DynamoDB বিকল্পগুলি অনুসন্ধান শুরু করে যা তাদের অত্যন্ত পড়া ভারী ডাটাবেস ওয়ার্ক লোডের জন্য উপযুক্ত হবে। তাদের অংশীদারদের কাছ থেকে রিয়েল টাইম ডেটা ক্রমাগত প্রবাহ, ইয়েলডমো এর ডেটা তাদের ডেটা সঙ্গে সমন্বয় করার জন্য অপরিহার্য তাদের ঐতিহাসিক ডেটা থেকে উত্পাদিত মেশিন লার্নিং ধারণা দ্বারা চালিত ব্যাট আপডেট উচ্চ ফ্রিকোয়েন্সি পড়া এবং গঠিত লিখা এই ভারসাম্য বিবেচনা করে, তারা একটি ডাটাবেস খুঁজছিলেন যা বড় আকারের, কম দেরি অ্যাক্সেস পরিচালনা করতে পারে এবং কর্মক্ষমতা হ্রাস ছাড়াই একই সময়ে আপডেটগুলি কার্যকরভাবে পরিচালনা করতে পারে। দলটি প্রথমে DynamoDB এর সাথে থাকার এবং একটি ক্যাশিং স্তর যোগ করার বিষয়ে বিবেচনা করেছিলেন. তবে, তারা আবিষ্কার করেছিলেন যে ক্যাশিং ভূগোলিক ল্যাটেনশন সমস্যার সমাধান করতে পারে না এবং ক্যাশ মিসিং এই বিকল্পের সাথে আরও ধীরে ধীরে হবে। এছাড়াও তারা এয়ারোস্পাইকে অনুসন্ধান করেছিল, যা গতি এবং ক্রস-ক্লাউড সমর্থন অফার করেছিল. তবে, তারা জানতে পেরেছিল যে এয়ারোস্পাইকে এর মেমরি ইনডেক্সিংয়ের জন্য ইয়েলডমো এর ছোট ছোট ডেটা বস্তুগুলির বিশাল সংখ্যকগুলি পরিচালনা করার জন্য একটি বিপরীতভাবে বড় এবং ব্যয়বহুল ক্লাস্টার প্রয়োজন হবে. এছাড়াও, এয়ারোস্পাইকে মাইগ্রেশন বিস্তৃত এবং সময় ব্যয়বহুল কোড পরিবর্তন প্রয়োজন হবে. তারপর তারা ScyllaDB আবিষ্কার করেছিল, যা গতি এবং ক্রস ক্লাউড সমর্থনও সরবরাহ করেছিল, কিন্তু একটি DynamoDB-সংযুক্ত API (Alternator) এবং কম খরচ দিয়েছিল। Coleman শেয়ার করেছেন, "স্কিলাডিবি ক্রস-ক্লাউড বিতরণ সমর্থন করেছিল, একটি পরিচালনাযোগ্য সংখ্যক সার্ভার প্রয়োজন এবং প্রতিযোগী খরচ প্রস্তাব করেছিল। সবচেয়ে ভাল, এর এপিআই ডাইনামোডিবি-সংযুক্ত ছিল, যার মানে আমরা ন্যূনতম কোড পরিবর্তনগুলির সাথে মাইগ্রেশন করতে পারতাম। ScyllaDB মূল্যায়ন, অভিবাসন এবং ফলাফল তাদের পরিবেশে ScyllaDB কিভাবে কাজ করে তা মূল্যায়ন করার জন্য, দলটি একটি একক অঞ্চলে বিজ্ঞাপন সার্ভারের একটি সাবসেটকে স্থানান্তরিত করেছিল। এতে রিয়েল টাইম আপডেটগুলি রাখার সময় বেশ কয়েক টারাবাইট স্থানান্তর করা ছিল। প্রক্রিয়াগতভাবে, তারা ScyllaDB এর Spark-ভিত্তিক স্থানান্তর টুলের ঐতিহাসিক ডেটা কপি করেছিলেন, ML ব্যাচ কাজ স্থগিত করেছিলেন এবং তাদের Kafka আর্কিটেকচারটি ScyllaDB-এ সাম্প্রতিক লেখার পুনরাবৃত্তি করার জন্য ব্যবহার করেছিলেন। পরবর্তী পদক্ষেপটি ছিল পাঁচটি AWS অঞ্চলে সমস্ত ডেটা স্থানান্তর করা। এই পর্যায়ে প্রায় দুই সপ্তাহ সময় লেগেছিল। কর্মক্ষমতা মূল্যায়ন করার পরে, Yieldmo ScyllaDBকে প্রাথমিক পরিস্থিতিতে প্রচার করে এবং শেষ পর্যন্ত বেশিরভাগ অঞ্চলে DynamoDB-এ লেখাপড়া বন্ধ করে দেয়। প্রায় এক বছর পরে মাইগ্রেশন সম্পর্কে চিন্তা করলে, কোলম্যান সংক্ষেপে বলেন, "সবচেয়ে বড় সুবিধা হল মাল্টি-ক্লাউডের নমনীয়তা, কিন্তু এমনকি তা ছাড়াও, মাইগ্রেশনটি মূল্যবান ছিল। ডাটাবেসের খরচ ডাইনামোডিবিের তুলনায় প্রায় অর্ধেক কমে গেছে, এমনকি সংরক্ষিত ক্ষমতা মূল্যায়নের সাথে, এবং আমরা নমনীয় দেরি উন্নতি দেখেছি। কিভাবে ScyllaDB DynamoDB তুলনা