وقتی یک دیتابیس دیگه جوابگوی حجم دادهها یا تعداد درخواستها نیست، چطور بارِ کار رو بین چند دیتابیس مستقل تقسیم کنیم؟
برنامهنویسی
گیتهاب
وقتی یک سرور به سقف ظرفیتش میرسه، دیگه ایندکس و پارتیشنبندی هم کافی نیست. اینجاست که باید دادهها رو بین چند دیتابیس مستقل توزیع کنیم تا هر کدوم فقط بخشی از بار رو تحمل کنن. به این کار میگن شاردینگ (تقسیم افقی داده). توی این صفحه، ابتدا بررسی کردم دقیقاً چه زمانی شاردینگ منطقیه و چه زمانی زوده. بعد سه استراتژی اصلی توزیع Range، Hash و Directory رو با مثال توضیح دادم و گفتم Shard Key خوب چه ویژگیهایی داره و چرا انتخابش حیاتیترین تصمیم طراحی سیستم شارد شدهست. همچنین دو الگوی مسیریابی Targeted و Scatter/Gather رو بررسی کردم و توضیح دادم چرا وقتی کوئری Shard Key نداره، هزینهی درخواست چند برابر میشه. اگه براتون مفید بود، خوشحال میشم یه ⭐️ بهش بدین. 🔗 https://alireza-haeri.github.io/BackendDeepDives/DataSharding.html