সাধারণীকরণের সাথে আপনার কতদূর যেতে হবে?


30

আমার কাছে একটি ডাটাবেসে একটি শালীন পরিমাণের ডেটা রয়েছে। আমার ডেটাতে কিছু অপ্রয়োজনীয়তার সাথে আমি তাদের মধ্যে ভাল টেবিল এবং ভাল সম্পর্ক তৈরি করেছি। তবে আমার স্বাভাবিকার সাথে আরও কতদূর যেতে হবে? অত্যধিক স্বাভাবিকায়নের কর্মক্ষমতা রয়েছে কি?

উত্তর:


37

আপনার যতদূর যাওয়া উচিত এবং আরও কিছু করা উচিত নয়। অবশ্যই. ~ সমস্যাটি হতে পারে যে এটি একটি শিল্পের কিছুটা, এবং এই কারণেই এটি খাঁটি বিজ্ঞান নয়।

আমাদের প্রধান পণ্য হ'ল একটি বিশ্লেষণ এবং প্রতিবেদনের ব্যবস্থা, এবং সেই ক্ষেত্রে আমাদের কাছে বেশ কয়েকটি বিশদ রেকর্ড রয়েছে। আমরা প্রাথমিকভাবে এটি কয়েকটি শিশু রেকর্ডের জন্য একটি প্রচলিত আইডিতে প্রচুর যোগদানের সাথে ডিজাইন করেছিলাম, তবে আমরা দেখতে পেয়েছি যে আমরা কয়েকটি ক্ষেত্রকে অস্বীকৃতি জানাতে পারলে আমরা প্রচুর যোগদান করতে পারি এবং আমরা প্রচুর পারফরম্যান্সের মাথা ব্যথা দূর করতে পারি।

তবে আমরা কেবল জানতাম যে আমরা 1) একটি "নরমালাইজড" ডিজাইন তৈরি করেছি, 2) এটি ব্যবহার শুরু করেছি, 3) কয়েক মিলিয়ন টেবিল জুড়ে কয়েক মিলিয়ন সারি পরে আসল পারফরম্যান্সটির প্রোফাইল দেয়।

শেষের গল্পটি হ'ল আমরা প্রোফাইলিং না করা পর্যন্ত আমরা নিশ্চিতভাবে জানতে পারি না যে আমাদের জন্য কী কাজ করবে। আমরা সাধারণকরণের ধারণাটি পছন্দ করি যাতে আমরা আরও সহজেই আপডেট করতে পারি তবে শেষ পর্যন্ত প্রকৃত পারফরম্যান্সই ছিল সিদ্ধান্ত নেওয়া ফ্যাক্টর। এটি আপনার জন্য আমার পরামর্শ: প্রোফাইল, প্রোফাইল, প্রোফাইল।


4
আর্ট এবং কোনও বিজ্ঞান আমাকে বিশ্বাস করে না যে এটি ভুডু। কোন রেফারেন্স?
আবেল

3
@ আবুল সাধারণভাবে আমার উপাখ্যান সম্পর্কে কীভাবে? কোনও প্রোফাইলার ডেনারমালাইজেশনের জন্য নিয়মগুলি প্রস্তাব করতে সক্ষম হতে পারে তবে সেই নিয়মগুলি প্রোগ্রামার থেকে অভিজ্ঞতা থেকে আসে। সমস্ত প্রোগ্রামিং একটি শিল্প। আমি আরও বিখ্যাত এমন কাউকে খুঁজে পাব যিনি পরে পুরো কীবোর্ডে উঠলে একই কথা বলেছিলেন।
jcolebrand

1
@ আবেল ওহ ভাল তারপর সকলের in ('forgiven','pardoned');): পি
জকোলেব্রান্ড

2
@ ফার্গাস খুশী হয়ে আপনি এটি পছন্দ করেছেন। আমি সবসময়ই উপাখ্যানগুলিকে সবচেয়ে ভালভাবে কাজ করতে পেয়েছি।
jcolebrand

2
@ আবেল - 'একটি শিল্প হ'ল একটি বিজ্ঞান যা 7 ডিগ্রিরও বেশি স্বাধীনতার সাথে রয়েছে'। কোনও সমস্যার জন্য নির্দিষ্ট স্তরের জটিলতা অ্যাক্সেসটিভ পদ্ধতির অকেজো হয়ে ওঠে। সেই মুহুর্তে অভিজ্ঞতার ভিত্তিতে হিউরিস্টিক পন্থাগুলি সবচেয়ে কার্যকর। দুঃখের বিষয়, কম্পিউটিংয়ের ক্ষেত্রে জটিলতার সেই স্তরটি তুচ্ছ সফ্টওয়্যার সিস্টেম ব্যতীত অন্য যে কোনও কিছুই অর্জন করা বেশ সহজ।
কনফারডঅফটুনব্রিজ

10

সাধারণকরণ কেবল তখনই একটি লক্ষ্য যখন এটি আপনার ডেটা মডেলটিকে যথাযথভাবে সমর্থন করে তা সমর্থন করে। এটি বৃদ্ধি, পরিচালনা এবং রক্ষণাবেক্ষণের অনুমতি দেওয়ার জন্য গাইড হতে বোঝানো হয়েছে। মনে রাখবেন নরমালাইজেশন সম্পর্কিত বইটি, না এর লেখক আপনার ডেটাবেস বা এর প্রয়োগ তৈরি বা রক্ষণাবেক্ষণ করতে চলেছেন।

"অত্যধিক নরমালাইজেশন" বিষয়ে একটি ভাল পঠন এখানে।

এবং, হ্যাঁ খুব স্বাভাবিকীকরণের পারফরম্যান্সের প্রভাব থাকতে পারে। স্থিতি সূচক টেবিলের মতো জিনিসগুলি যখন আলাদা টেবিলে টানা হবে তখন এটি বাছাইয়ের জন্য এটি গভীরতর টেবিল ট্র্যাভারসাল হবে in কেউ বলবেন এটি আপডেট আপডেটের গতিতে ("ভাল" থেকে "ভাল" বা এর মতো কোনও কিছুতে স্থিতির পাঠ্য পরিবর্তন করা) বা রক্ষণাবেক্ষণের ক্ষেত্রে অবহেলিত।


2
এখানে বিষয় উপর এবং আরো অনেক কিছু রসাল একটি অতিরিক্ত ভাল পঠিত এর qntm.org/gay
jcolebrand

5

ক্রিস ডেটের আরও কয়েকটি সাম্প্রতিক বইয়ের মধ্যে নিম্নলিখিত পরিশিষ্ট পড়ার পরামর্শ দিচ্ছি :

সাধারণকরণের জন্য দুটি চিয়ারস

সাধারণীকরণ হ'ল পেনেসিয়া হওয়া তো দূরের কথা, কারণ এর লক্ষ্যগুলি কী এবং এটি তাদের বিরুদ্ধে কীভাবে ব্যবস্থা গ্রহণ করে আমরা সহজেই তা বিবেচনা করে দেখতে পারি ...

আমাকে অবশ্যই এটি পরিষ্কার করে দিতে হবে যে আমি চাই না যে এই বিভাগে আমার মন্তব্যগুলি কোনও ধরণের আক্রমণ হিসাবে দেখা উচিত। আমি দৃly়ভাবে বিশ্বাস করি যে সম্পূর্ণরূপে সাধারণ নকশার চেয়ে কম কিছু দৃ়ভাবে বিপরীত হয় ...


2

আমি মনে করি সুস্পষ্ট যুক্ত সংযোজনগুলি দেখার জন্য এটি সমান গুরুত্বপূর্ণ, বিবরণী অনুলিপিতে অনুলিপি করা একটি মাস্টার টেবিল থেকে মোট মান বা কিছু ক্ষেত্র যুক্ত করা উচিত।

যুক্তি বেশিরভাগ কার্যকারিতা যুক্তি being

আপনি যদি এমনটি প্রয়োগ করেন তবে সেই ক্ষেত্রগুলি ট্রিগার দ্বারা আপডেট করা হয়েছে এবং এগুলি ধারাবাহিক রাখতে ডেটাবেসের উপর নির্ভর করে।


2

আমি @ jcolebrand এর সাথে পুরোপুরি একমত আপনি যখন নিজের অ্যাপ্লিকেশনটির জন্য মডেল ডিজাইন করছেন, আপনার যা করা সম্ভব সবগুলি স্বাভাবিক করা উচিত। তবে তারপরে আপনার মডেলকে কেন্দ্র করে তৈরি করা প্রশ্নগুলি প্রোফাইল করা উচিত, বিশেষত ঘন ঘন মৃত্যুদন্ড কার্যকর করা।

আমার নিজস্ব অভিজ্ঞতা: যে গুণাবলী পৌঁছাতে দুটি যোগদান করেছে (তার মানে তিনটি টেবিল যোগ হয়েছে) বেশিরভাগই পারফরম্যান্স হগ হবে। এবং জিনিসগুলি সবচেয়ে খারাপ করতে, এটি লাইন লেনদেনে ব্যবহৃত হয়। আমি বৈশিষ্ট্যটিকে অস্বীকৃতি জানাই, সুতরাং এটির জন্য কেবল একটি যোগ হওয়া প্রয়োজন এবং প্রোগ্রামারকে কোয়েরি এবং বৈশিষ্ট্যটি আপডেট করার জন্য তাদের অ্যাপ্লিকেশনটি সামঞ্জস্য করতে বলে। এখন এটি আরও ভাল কাজ করে ...

অন্য কথায়, আপনার পারফরম্যান্সের সাথে স্বাভাবিককরণের ভারসাম্য বজায় রাখা উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.