আমি একটি ডাটাবেসের ভিতরে বাছাই করা তালিকা সংরক্ষণ করতে চাই। আমি নিম্নলিখিত অপারেশনগুলি দক্ষতার সাথে সম্পাদন করতে চাই।
- সন্নিবেশ (এক্স) - সারণীতে রেকর্ড এক্স .োকান
- মুছুন (এক্স) - টেবিল থেকে রেকর্ড এক্স মুছুন
- (X, n) - এর আগে - সাজানো তালিকায় রেকর্ড এক্সের আগের 'এন' রেকর্ডগুলি ফিরিয়ে দিন।
- (X, n) এর পরে - সাজানো তালিকায় রেকর্ড এক্সকে সফল করে 'এন' রেকর্ডগুলি ফিরিয়ে দিন।
- প্রথম (এন) - সাজানো তালিকা থেকে প্রথম 'এন' রেকর্ডগুলি ফিরিয়ে দিন।
- সর্বশেষ (এন) - বাছাই করা তালিকা থেকে শেষ 'এন' রেকর্ডগুলি ফিরিয়ে দিন।
- (X, y) তুলনা করুন - টেবিল থেকে দুটি রেকর্ড দেওয়া x এবং y, x> y কিনা সন্ধান করুন।
আমি যে সহজ পদ্ধতিটি ভাবতে পারি তা হ'ল টেবিলে কোনও ধরণের 'র্যাঙ্ক' বৈশিষ্ট্য সংরক্ষণ করা এবং সেই বৈশিষ্ট্যটি বাছাই করে কোয়েরি। তবে এই পদ্ধতিতে র্যাঙ্ক সহ রেকর্ড সন্নিবেশ করা / সংশোধন করা ব্যয়বহুল ক্রিয়াকলাপে পরিণত হয়। এর চেয়ে ভাল পদ্ধতি আর কি আছে?
বিশেষত, আমি অ্যামাজনের সিম্পলডিবি ব্যবহার করে টেবিলটি প্রয়োগ করতে চাই। তবে একটি রিলেশনাল ডাটাবেসের জন্য সাধারণ উত্তরটিও সহায়ক হওয়া উচিত।
লোড প্রোফাইলে আপডেট করুন:
যেহেতু আমি এটি একটি ওয়েব অ্যাপ্লিকেশনের জন্য পরিকল্পনা করছি, এটি অ্যাপ ব্যবহারকারীর সংখ্যার উপর নির্ভর করে।
যদি 100k সক্রিয় ব্যবহারকারী থাকে (সুপার আশাবাদ: পি), তবে প্রতিদিন আমার প্রায় আনুমানিক অনুমান হবে
500k নির্বাচন করে, 100k সন্নিবেশ এবং মোছা, 500 কে আপডেট
আমি টেবিলটি মোট 500 কিলোমিটার বাড়ার আশা করব।
আমি আপডেটগুলি, sertোকানো এবং তুলনা অপারেশনগুলিতে অনুকূলিতকরণ করতে চাই। আইটেমের র্যাঙ্ক ক্রমাগত পরিবর্তিত হবে এবং আমার টেবিলটি আপডেট করা দরকার।