با درود خدمت شما. در یکی از پروژه هایی که در دست دارم که یک شبکه اجتماعی می باشد. بخشی رو به عنوان فالور و فالواینگ مثل اینستاگرام یا دیگر شبکه های اجتماعی داریم که در ساختار اون در دیتابیس و همینطور فراخوانی اون دچار مشکل شدم.
نکته: من از چیز زیادی نمی دونم فقط با مشورت هایی که گرفتم فکر می کنم باید استفاده کنم و وارد مبحث بیسیک بشم و یادش بگیریم: ولی یک مطلب در Functional Programming - Polymorphism خوندم.
جدولی که من در ذهنم درست کردم و اشتباه می باشد به شرح زیر می باشد.
در این جدول یک type
داریم که اگر یک باشد یعنی فالور و اگر دو باشد یعنی فالواینگ که در این بخش من از یک کتابخانه در الکسیر کمک گرفتم تا تمیز تر بنویسیمش
در فیلد دوم ما owenr_id
داریم که در حقیقت user_id
صاحب اکانت است و سومین فیلد که من اسمی براش پیدا نکردم کسی که ما فالوش کردیم یا فالور ما هست user_id
اون در این جدول قرار می گیره.
تا اینجا چیزی بود که من خودم فکر کردم که به احتمال خیلی زیاد اشتباه است. حال سوالات برای بنده پیش می یاد:
- ساختار مناسبی که در شبکه های اجتماعی بزرگ استفاده می کنند چی هست؟
- زمانی که همان کاربری که فالو ار ما باشد جزو فالو اینگ ما باشد چطور می شود؟
- وقتی رکورد های زیاد شوند محدود کردن به یک
owner_id
کفایت می کند مثلا بگردید در ۱۰ ملیون رکورد بر اساس صاحب اکان فالور و فالواینگش را بیاورد که از دست سرنوشت شناسه مذکور از فیلد ۹۰۵۰ شروع می شود. و ما تازه می خواهیمwhere
بزاریم بر اساسowener_id
- نحوه فراخوانی بر اساس
type
به چه صورت می باشد؟ - آیا ذخیره کاربر فالو شده یا فالور باید در همین جدول باشد یا خیر؟
پست هایی در استک اورفلو دیدم خیلی بچگانه بود در حد مثلا ۲۰ تا دونه کاربر داشته باشی فقط کارو جلو ببری یا شاید من خیلی خوب نتونستم سرچ بکنم.
با تشکر