বিদেশী কী, চেক সীমাবদ্ধতা ইত্যাদির পরিবর্তে অ্যাপ্লিকেশনটি ডাটাবেস অখণ্ডতা প্রয়োগ করে তা বোধগম্য হতে পারে?
অভ্যন্তরীণ ডাটাবেস সরঞ্জামের মাধ্যমে ডাটাবেস অখণ্ডতা প্রয়োগ না করার জন্য কেউ কতটা পারফরম্যান্সের উন্নতি আশা করতে পারে?
বিদেশী কী, চেক সীমাবদ্ধতা ইত্যাদির পরিবর্তে অ্যাপ্লিকেশনটি ডাটাবেস অখণ্ডতা প্রয়োগ করে তা বোধগম্য হতে পারে?
অভ্যন্তরীণ ডাটাবেস সরঞ্জামের মাধ্যমে ডাটাবেস অখণ্ডতা প্রয়োগ না করার জন্য কেউ কতটা পারফরম্যান্সের উন্নতি আশা করতে পারে?
উত্তর:
সত্যই বলা হবে, আপনি কেবলমাত্র ডাটাবেসে বিদেশী কী সীমাবদ্ধতা থেকে খুব বেশি পারফরম্যান্সের ক্ষতি দেখতে পাবেন না, তবে আপনি পারফরম্যান্সের বর্ধনগুলি দেখতে পাবেন। এসকিউএল সার্ভার কোয়েরি অপ্টিমাইজারটি প্রাথমিক এবং ফোরইগেন কীগুলির পাশাপাশি অন্যান্য ধরণের ডেটা সীমাবদ্ধতার ধারণার চারপাশে নির্মিত। এগুলি যদি স্থানে থাকে এবং কার্যকর করা হয় তবে আপনাকে আরও ভাল পারফরম্যান্স পেতে অপ্টিমাইজার সেগুলি গ্রহণ করতে পারে। এখানে একটি সাধারণ উদাহরণ সহ একটি ব্লগ পোস্ট এটি কার্যকরভাবে দেখায়।
আপনি যদি এমন প্রান্তের ক্ষেত্রে থাকেন যেখানে আপনার পাঠকের চেয়ে সত্যিকারের আরও সন্নিবেশ রয়েছে (এবং আপডেটগুলি এবং মুছে ফেলার জন্য পঠনগুলির প্রয়োজন হয়, সুতরাং তারা সাধারণত পড়ার গণনায় যোগ করে) তবে পারফরম্যান্সের জন্য ডেটা থেকে সীমাবদ্ধতাগুলি সরিয়ে ফেলা বোধগম্য হতে পারে । তবে যেহেতু প্রচুর পরিমাণে ডাটাবেসগুলি ওরিয়েন্টেড পড়ে, তাই আপনি কর্মক্ষমতা ত্যাগ করছেন, এটি বাড়িয়ে তোলেন না।
এবং এর কোনওটিই এই তথ্যের উল্লেখ করে না যে ডাটাবেসে ডেটা অখণ্ডতা আরও ভালভাবে পরিচালনা করা হয় যেহেতু আপনাকে কেবল একবার এটি তৈরি করতে হবে যেখানে আপনি কোডে সমস্ত কাজ করেন, আপনি একাধিক অ্যাপ্লিকেশানের জন্য একাধিক বার এটি করতে হতে পারেন (যদি না আপনি ডিজাইন করেন তবে আপনার ডেটা অ্যাক্সেস স্তরটি সাবধানতার সাথে এবং প্রতিটি অ্যাপ্লিকেশনটিকে একই স্তরের মধ্য দিয়ে যেতে ডিবি অ্যাক্সেসের প্রয়োজন হয়)।
আপনি যদি কোনও সম্পর্কিত সম্পর্কযুক্ত ডাটাবেস সিস্টেম ব্যবহার করেন তবে আমি বলছি কেন এটি সত্যই ব্যবহার করবেন না। আপনার যদি রিলেশনাল ডেটা প্রয়োজন না হয়, হাদুপ বা অন্য কোনও কিছুর সাথে যান।
অ্যাপ্লিকেশন বিকাশকারীদের অনেক এটি মনে করেন।
আপনি যখন অ্যাপ্লিকেশন কোডে ডেটা অখণ্ডতা অর্পণ করার জন্য প্রলুব্ধ হন, তখন মনে করুন "প্রতিটি প্রোগ্রামার এবং প্রতিটি অ্যাপ্লিকেশন যা এই ডাটাবেসটিকে এখন থেকে শেষ পর্যন্ত অবধি আঘাত করে, প্রতিটি সময় একেবারে সঠিকভাবে পেয়ে যায়" "
মতভেদ কি?
এমনকি যদি কোনও কার্যকারিতা লাভ হয়, তবে রেফারেন্সিয়াল অখণ্ডতা এবং সাধারণ ডেটা অখণ্ডতার প্রত্যাবর্তনের তুলনায় এটি উপেক্ষণীয়।
অনেক দিন চলে গেছে যেখানে ডেটাবেস বোবা ডেটা স্টোর। আরডিবিএমএসের প্রস্তাবিত পাওয়ারটি উত্তোলন করুন।
পারফরম্যান্স লাভগুলি সব কিছু নয়, বিশেষত এটির মতো ছোট আকারে। কিন্তু যখন আপনি জানতে পারেন যে আপনার একটি অনুমিত বৈদেশিক কী সম্পর্ক রয়েছে যা আপনার অ্যাপ্লিকেশনটি প্রয়োগ করার কথা, এবং এটি প্রমাণিত হয় যে এটি রেফারেন্সিং টেবিলের কোনও প্রাথমিক কী নয় তবে আপনি পারফরম্যান্স লাভ সম্পর্কে খুব কম যত্ন নেবেন (যদি কোনও হয় তবে আমি করতে পারি) এর সুনির্দিষ্ট বিষয়ে কথা বলব না)।
আপনি যদি প্রচুর পরিমাণে ডেটা লোড করছেন, এবং পরে সীমাবদ্ধতা এবং সূচকগুলি পুনরায় সক্ষম / কার্যকর করতে পারেন তবে সীমাবদ্ধতা (বিদেশী কী, চেক, ইত্যাদি) এবং সূচকগুলি ফেলে দেওয়া সাধারণ অভ্যাস। এই বৈধতার একটি সময় ব্যয় আছে। এটি ধরে নেওয়া হচ্ছে আপনি ডাটাবেস নির্দিষ্ট বাল্ক লোড সিনট্যাক্স ব্যবহার করতে পারবেন না (অন্তর্ভুক্ত লগিং অন্তর্ভুক্ত)।
পারফরম্যান্স কতটা প্রত্যাশা করে তা বলা অসম্ভব - প্রতিটি পরিস্থিতি অনন্য (ডেটা ধরণের, নকশা ইত্যাদি)। সত্যিকারের জানার একমাত্র উপায় হ'ল পরীক্ষা করা।
কিছু সময় আছে যখন প্রতিবন্ধকতাগুলি পথে আসে:
যখন আপনার একক টেবিল উত্তরাধিকার (এসটিআই) ব্যবহার করতে হবে । কল্পনা করুন আপনি ব্যক্তি এবং সংস্থা উভয়কেই বিক্রি করেন। আপনার একটি একক "পার্টি" টেবিলের প্রয়োজন হবে যার সারিটি পৃথক বা একটি org is এসটিআই এর অর্থ আপনার এমন কিছু ক্ষুদ্র ক্ষেত্র দরকার যা শূন্য হওয়া উচিত নয়। ক্লাস টেবিল উত্তরাধিকারী এটি সমাধান করে তবে কিছু ওআরএম এর পক্ষে এটি আরও শক্ত। রুবির অ্যাক্টিভেকর্ড কেবলমাত্র এসটিআই সমর্থন করে, উদাহরণস্বরূপ।
যখন আপনাকে কোনও সত্তার খসড়া সংস্করণগুলি সমর্থন করতে হবে, এটি সম্পূর্ণরূপে বৈধ হবে না। আপনি জসন হিসাবে একটি খসড়া সংরক্ষণ করতে পারেন তবে ক্লায়েন্টের কাছে একই শনাক্তকারীর পুনরায় ব্যবহার করা আরও শক্ত - ধারণা করুন এটি আইডি = 5 দিয়ে সংরক্ষণ করা হয়েছে, বৈধ নয় বলে সম্পাদনা করা হয়েছে এবং ড্রাফটিড = 99 হিসাবে স্বতঃ সংরক্ষণ করা হয়েছে। এক্ষেত্রে আপনার সমস্ত ক্ষেত্র সম্ভবত নলাবদ্ধ হতে হবে।