CodeShot
Seniorسختی 3 از ۵· در 15٪ مصاحبه‌های این حوزه پرسیده شده

چه زمانی Denormalization (بازگشت عمدی از حالت نرمال) توجیه دارد؟

نشان کردن

پاسخ کوتاه

وقتی کارایی خواندن (Read) در مقیاس بالا مهم‌تر از جلوگیری از تکرار داده باشد، مثلاً در سیستم‌های گزارش‌گیری سنگین.

پاسخ کامل

Denormalization با پذیرفتن مقداری تکرار داده، تعداد JOINهای لازم برای یک کوئری را کم می‌کند و سرعت خواندن را بالا می‌برد؛ هزینه‌اش پیچیدگی بیشتر در نگه‌داشتن سازگاری هنگام نوشتن است.

نکته مهم

این Trade-off کلاسیک بین سرعت خواندن و سادگی نوشتن، سؤال رایج مصاحبه‌های ارشدتر است.