پیاده سازی سیستم لایک مطالب

سلام،
بهترین روش برای پیاده سازی یک سیستم لایک مطالب و بعد دسترسی به اونها چیه؟چه مدل دیتابیسی به ما اون کارایی مناسب رو میده و در ادامه ی اون چجوری دیتابیس رو طراحی کنیم که بتونیم جواب قابل قبولی بگیریم؟پیاده سازی که همه جا پیشنهاد میکنن استفاده از روابط چند به چند بین کاربر و پست هست،این نحوه پیاده سازی کارآمده؟جستجو هایی که کردم متوجه شدم اینستاگرام هم از postgres استفاده میکنه و احتمالا همین مدل پیاده سازی که اشاره کردم.
ممنون میشم دوستان اگه میدونن کمک کنن یا اگه خودشون تجربه این مدل پیاده سازی رو در مقیاس بزرگ دارن.متشکر

سلام
میتونید یه Table ایجاد کنید که شامل دو column برای user_id و post_id باشه که هر دو foreign key هستن.
ترکیب این دو foreign key میتونه نقش primary key رو داشته باشه.
با توجه به integer بودن هر دو column نباید مشکلی توی performance ایجاد کنه.

1 پسندیده

ممنون از پاسختون،این روش رو تست کردید در مقیاس بالا یا میدونید که راه درستش اینه؟ممنون ازتون

دوست من مقیاس بالا یعنی چند عدد ؟ چه زمانی شما به مقیاس بالا می رسید ؟ به نظرم زود دنبال پیچیده کردن نرم افزارتون نرید

1 پسندیده

والا گفتن به سیصد هزار نفر میرسه،به نظرتون از اول بدونم چجوری پیاده سازی میشه و همونجور پیاده سازی کنم بهتر نیست؟من تجربه زیادی ندارم تو پروژه هایی با این مقیاسی که گفتم،ولی دوست دارم بدونم نحوه صحیح هر کاری چجوری هست.ممنون

1 پسندیده

300 هزار مقیاس بالا حساب میشه؟ :thinking:
حقیقتش خودم تست نکردم ولی با توجه به Integer بودن هر دو Column باید خیلی سریع و البته کم حجم باشه

حقیقتا نمی‌دونم مقیاس بالا از کجا حساب میشه،اشتباه از من بود تو پیام های بالا،ببخشید
ولی تعداد کاربر به تنهایی نیست،برای مثال اگه هر کاربر ۱۰ تا پست رو لایک بزنه تعداد سطر ها به سه میلیون میرسه،و نحوه ی دسترسی به اطلاعات این جدول حدس میزدم مشکل ساز بشه،چون وقتی که یه کاربر یه پست رو میبینه من باید این جدول رو سرچ کنم که ببینم ایا لایک کرده یا نه که بهش نشون بدیم،از این منظر نمیدونم دقیقا چه جوابی میگیرم،ولی با توجه به جواب شما حدس میزنم نگرانیم بیش از حد بوده،واقعا ممنون

1 پسندیده

برای ارتقا پذیری بیشتر به counter ها در cassandra نگاه کنید

5 پسندیده

ممنون