আমি একটি RESTful API তৈরি করছি। আমি আমার সংস্থানসমূহের চারপাশে আমার ডাটাবেস টেবিলগুলি ডিজাইনের সর্বোত্তম উপায়ে সিদ্ধান্ত নিতে সংগ্রাম করছি am
প্রাথমিকভাবে, যদিও আমি সম্পদ প্রতি টেবিলটি যেতে ভাল উপায় হবে তবে আমি এখন শঙ্কিত যে এর ফলে আপনি যে রিসোর্স চেইনটি আরও নিচে চলে যাবেন তা তত দ্রুততর টেবিলের ফলস্বরূপ হবে।
উদাহরণস্বরূপ, কল্পনা করুন আমার কাছে তিনটি সংস্থান রয়েছে - ব্যবহারকারী, ক্লায়েন্ট, বিক্রয়। ব্যবহারকারীরা আমার এপিআই-র গ্রাহক, ক্লায়েন্টগুলি ব্যবহারকারী গ্রাহক এবং বিক্রয় প্রতিটি ক্লায়েন্টের ব্যবহারকারীর অ্যাকাউন্টে করা ক্রয়।
নিম্নলিখিত হিসাবে একটি বিক্রয় সম্পদ অ্যাক্সেস করা হয়
GET /users/{userID}/clients/{clientID}/sales/{salesID}
সুতরাং যদি 10 জন গ্রাহক সহ 10 জন ব্যবহারকারী থাকে এবং প্রতিটি গ্রাহকের জন্য 10 টি বিক্রয় থাকে তবে টেবিলের আকারটি আমরা যে রিসোর্স চেইনে যাবো তার নিচে আরও বড় হয়ে উঠবে।
আমি নিখুঁতভাবে আত্মবিশ্বাসী যে এসকিউএল বড় টেবিলগুলি মোকাবেলা করতে পারে তবে আমি নিশ্চিত নই যে কীভাবে পড়া এবং লেখাগুলি বিষয়গুলি ধীরে ধীরে কমিয়ে দেবে। উপরের উদাহরণটি সম্ভবত এটি চিত্রিত করে না, তবে আমার এপিআই প্রগতিশীলভাবে আরও বেশি লেখবে এবং আমরা যে রিসোর্স চেইনটি দিয়ে যাব তা আরও নিচে পাঠ করব। আমার সেই দৃশ্যটি রয়েছে যেখানে আমার ডাটাবেসের বৃহত্তম টেবিলগুলি ছোট টেবিলের চেয়ে বেশি বার পড়তে এবং লেখা হবে।
অনুসন্ধান চালানোর আগে টেবিলগুলিতে যোগদান করাও প্রয়োজনীয় হবে। কারণটি হ'ল আমি প্রতিটি ব্যবহারকারীর একই নামে ক্লায়েন্ট থাকার অনুমতি দিই। ভুল ক্লায়েন্টের ডেটা পেতে এড়াতে, ব্যবহারকারীর টেবিল এবং ক্লায়েন্টের টেবিলগুলি {ইউজারআইডি by এর সাথে যুক্ত হয়} এটি বিক্রয় ক্ষেত্রেও এটি। বড় টেবিলগুলিতে যোগ দেওয়া এবং দৌড়ানোর জিনিসগুলি আরও ধীরে ধীরে পড়তে এবং লিখতে হবে?