আমি এমন একটি অ্যাপ্লিকেশন নিয়ে কাজ করছি যা ডেটাবেসে আপডেট / সিলেক্ট কোয়েরিগুলির খুব উচ্চতর কার্যকর করা জড়িত।
আমার একটি বেস টেবিল (এ) রয়েছে যা এক দিনের জন্য সত্তার জন্য প্রায় 500 রেকর্ড থাকবে। এবং সিস্টেমে প্রতিটি ব্যবহারকারীর জন্য, ব্যবহারকারীর কিছু পছন্দ অনুসারে এই সত্তার বিভিন্নতা তৈরি করা হয় এবং সেগুলি অন্য সারণীতে (বি) সঞ্চিত থাকে। এটি একটি ক্রোন জব দ্বারা করা হয় যা প্রতিদিন মধ্যরাতে চলে।
সুতরাং যদি টেবিল এ তে 10,000 ব্যবহারকারী এবং 500 টি রেকর্ড থাকে তবে সেদিনের জন্য টেবিল বিতে 5 এম রেকর্ড থাকবে। আমি এই টেবিলে সর্বদা এক দিনের জন্য ডেটা রাখি এবং মধ্যরাতে আমি এইচবিজে historicalতিহাসিক ডেটা সংরক্ষণ করি। এই সেটআপটি ঠিকঠাক কাজ করছে এবং আমার এখন পর্যন্ত কোনও পারফরম্যান্স সমস্যা নেই।
ইদানীং ব্যবসায়ের প্রয়োজনীয়তায় কিছু পরিবর্তন হয়েছে এবং এখন বেস টেবিল এ এর কয়েকটি বৈশিষ্ট্য (15 - 20 রেকর্ডের জন্য) প্রতি 20 সেকেন্ডে পরিবর্তিত হবে এবং তার ভিত্তিতে আমাকে টেবিল বিতে এই সমস্ত পরিবর্তনের রেকর্ডের জন্য কিছু মানগুলি পুনরায় গণনা করতে হবে based সকল ব্যবহারকারী. যদিও কেবল ২০ টি মাস্টার রেকর্ড পরিবর্তন হয়েছে, আমার পুনরায় গণনা করতে হবে এবং 200,000 ব্যবহারকারীর রেকর্ড আপডেট করতে হবে যা 20 সেকেন্ডেরও বেশি সময় নেয় এবং তারপরে পরবর্তী আপডেটটি অবশেষে দেখা দেয় ফলস্বরূপ সমস্ত সিলেক্ট ক্যোয়ারী সারি করে রাখা হবে। আমি অনলাইন ব্যবহারকারীদের কাছ থেকে প্রায় 3 অনুরোধ / 5 সেকেন্ড পাচ্ছি যা ফলাফলগুলি 6-9 নির্বাচন করে ফলাফল নির্বাচন করে। একটি এপিআইয়ের অনুরোধের প্রতিক্রিয়া জানাতে, আমি সর্বদা সারণি বিতে ক্ষেত্রগুলি ব্যবহার করি
আমি আরও প্রসেসিং শক্তি কিনতে পারি এবং এই পরিস্থিতি সমাধান করতে পারি তবে আমি সঠিকভাবে স্কেলড সিস্টেমটি পেতে আগ্রহী যা এমনকি দশ মিলিয়ন ব্যবহারকারীকে পরিচালনা করতে পারে।
এখানে কেউ আরও ভাল বিকল্প প্রস্তাব করতে পারেন? Nosql + রিলেশনাল ডাটাবেস কি আমাকে এখানে সহায়তা করে? এমন কোনও প্ল্যাটফর্ম / ডাটাস্টোর রয়েছে যা আমাকে লক না করেই প্রায়শই ডেটা আপডেট করতে দেয় এবং একই সাথে আমাকে কোনও সত্তায় বিভিন্ন ক্ষেত্রে নির্বাচিত প্রশ্নগুলি চালনার নমনীয়তা দেয়?