مسئلهمجموعه داده ای رو درنظر بگیرید به صورت زیر(تصویر)هر ردیف داده، شامل چندین ستون هست که فقط دو مورد اون برامون مهمه:1. کلید اصلی که یکتا هست(با اسم id مشخص شده)2. داده هایی که با این ردیف مرتبط هستن(relation)
حالا بیاین این مجموعه داده رو تبدیل به یک مجموعه داده بزرگ بکنیم(BigData)، چه عمودی(تعداد داده یا تعداد ردیف)، چه افقی(تعداد relation در هر ردیف). تا حالا مشکلی وجود نداشته. مسئله از جایی شروع میشه که بخوایم یکی از داده ها رو حذف کنیم. در این مثال، تصور کنید میخوایم id=1 رو پاک کنیم.
موضوع اینه که این داده ممکنه در فهرست مرتبطین خیلی از داده ها باشه(3 و 5) و ما میخوایم این ردیف ها رو هم ویرایش کنیم.راه حل خودتون رو با درنظر گرفتن امکانات و محدودیت های زیر بنویسید:
محدودیت ها:سخت افزار قابل تغییر نیستترجیحا تعداد relation رو محدود نکنیداز حداقل ممکن پهنای شبکه استفاده بشهحجم پردازش نباید به حدی بالا بره که سرویس های دیگه مختل بشن(حتی برای مدت کوتاه)مراقب حجم پایگاه داده باشیدداده ای که حذف میشه باید به طور کامل از همه پایگاه داده حذف بشه**
امکانات:استفاده از چندین پایگاه دادهافزودن یا تغییر ساختار جداولاستفاده از multiproccessاستفاده از background proccessعدم نیاز به تغییر همه پایگاه داده در لحظه حذفاستفاده از cron job به شرط رعایت عدم اختلال در سرویس ها**اگر بخشی از پردازش رو سمت کلاینت میارید نیازی به این کار نیست
پ.ن: از دستاندرکاران ویراستی درخواست میکنم Markdown رو هم به ویرایشگرشون اضافه کنن 🌹
19:50 - 12 September 2024