رفتن به مطلب

بهترین روش پیاده سازی دیتابیس برای پیام رسان


DexterFstone

ارسال‌های توصیه شده

سلام

بنده درحال کار روی یک پروژه هستم

بخشی داریم برای ارسال و دریافت پیام (پیام رسان)

حال سوال پیش میاد که دیتابیس پیام رسان به چ صورت باشه؟

شامل یک جدول در دیتابیس باشه و آی دی و پیام ما بقی مقادیر در اون ذخیره کنیم؟ این کار ب مرور باعث کند شدن لود شدن پیام ها نمیشه؟

یا بیایم و در ازای هر گفتگو یک جدول ایجاد کنیم؟ یا اصن یک دیتبابیس مخصوص پیام ها ایجاد کنیم و از دیتابیس بقیه اطلاعات جداش کنیم و در اون شروع ب ساخت جدول در ازای گفتگو کنیم؟

اصولی ترین راه کار چیه ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

۱ ساعت قبل، DexterFstone گفته است:

سلام

بنده درحال کار روی یک پروژه هستم

بخشی داریم برای ارسال و دریافت پیام (پیام رسان)

حال سوال پیش میاد که دیتابیس پیام رسان به چ صورت باشه؟

شامل یک جدول در دیتابیس باشه و آی دی و پیام ما بقی مقادیر در اون ذخیره کنیم؟ این کار ب مرور باعث کند شدن لود شدن پیام ها نمیشه؟

یا بیایم و در ازای هر گفتگو یک جدول ایجاد کنیم؟ یا اصن یک دیتبابیس مخصوص پیام ها ایجاد کنیم و از دیتابیس بقیه اطلاعات جداش کنیم و در اون شروع ب ساخت جدول در ازای گفتگو کنیم؟

اصولی ترین راه کار چیه ؟

 

سلام من تجربه ی زیادی ندارم و اصولش رو نمیدونم اما برای برنامه ای که برای یک تریدر می‌نوشتم و روزانه بالغ بر ۳۰, ترید میکرد ک هرترید ده تا ورودی داشت  و علاوه بر بازخوانی ،اطلاعات باید آنالیز هم میشد درنتیجه حجم زیادی داده میشد روش های زیادی امتحان کردم سرعت برنامه پایین نیاد،بهترین حالت جدول های با کد گذاری های زیاد id های طبقه بندی شده که  خوانش های محدود رو بیارن،تا حدی که کرسرمن علی رقم جدول های بزرگم «بیشتر از چیزی که در صفحه نمایش داده میشد،اطلاعاتی رو فراخوانی نمیکرد»

Id های + لیمیت+ آفست

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام و درود.

اول اینکه اسکیل پروژه چقدر هست؟ اگه کلا هزار نفر قراره استفاده کنه که مهم نیست چه روشی میرید با php و mysql و هاست معمولی هم جواب میده

اما اگه یوزرها زیاد هست اینجا داستان فرق میکنه طراحی دیتابیس باید جوری باشه که نوشتن و خوندن سریع باشه که بهتره از دیتابیسهای nosql مثل مانگو دیبی استفاده کنید. همینطور از زبان بک مناسب برای ارتباط ریلتایم یا همون سوکت استفاده کنید گزینه پیشنهادی نود جی اس هست از go هم میتونید استفاده کنید یا جاوا که خب هزینه بر هست و بهتره همون nodjs استفاده کنید.

روی دیتابیس اندیسهای مناسب بزارید.

اگه تعدا یوزرها خیلی زیاده باید از لودبالانسر و اسکیل افقی استفاده کنید یعنی تعدادی سرور رو به هم وصل کنید و اینها یکپارچه به ریکوئستها جواب بدن.

در کل اگه تخصص ندارید تو این حوزه بهتره از یه مشاور حرفه ای کمک بگیرید اگه پروژتون بزرگه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

۲ دقیقه قبل، محمدرضا شاهپیری گفته است:

سلام و درود.

اول اینکه اسکیل پروژه چقدر هست؟ اگه کلا هزار نفر قراره استفاده کنه که مهم نیست چه روشی میرید با php و mysql و هاست معمولی هم جواب میده

اما اگه یوزرها زیاد هست اینجا داستان فرق میکنه طراحی دیتابیس باید جوری باشه که نوشتن و خوندن سریع باشه که بهتره از دیتابیسهای nosql مثل مانگو دیبی استفاده کنید. همینطور از زبان بک مناسب برای ارتباط ریلتایم یا همون سوکت استفاده کنید گزینه پیشنهادی نود جی اس هست از go هم میتونید استفاده کنید یا جاوا که خب هزینه بر هست و بهتره همون nodjs استفاده کنید.

روی دیتابیس اندیسهای مناسب بزارید.

اگه تعدا یوزرها خیلی زیاده باید از لودبالانسر و اسکیل افقی استفاده کنید یعنی تعدادی سرور رو به هم وصل کنید و اینها یکپارچه به ریکوئستها جواب بدن.

در کل اگه تخصص ندارید تو این حوزه بهتره از یه مشاور حرفه ای کمک بگیرید اگه پروژتون بزرگه

استاد یعنی اینکه بخوایم Sql بصورت افقی گسترش بدید کار‌ اشتباهیه؟ برای مثال یک دیتابیس مخصوص پیام ها داشته باشیم و در ازای هر یوزر یک جدول ایجاد کنیم و اطلاعات ذخیره کنیم؟ و حالا من اگر از این روشی ک گفتم استفاده کنم آیا مشکل ساز میشه

چون من خودم روش فکر کردم مشکلی ب وجود نمیاد و چون روش دستیابی هم Rest API هست مشکلی پیش نباید بیاد

برای مثال یک جدول ب این صورت ایجاد میکنم MSG1001002000 برای یک یوزر با ای دی 1001002000با فیلد های id msg timestamp 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

۳ ساعت قبل، DexterFstone گفته است:

استاد یعنی اینکه بخوایم Sql بصورت افقی گسترش بدید کار‌ اشتباهیه؟ برای مثال یک دیتابیس مخصوص پیام ها داشته باشیم و در ازای هر یوزر یک جدول ایجاد کنیم و اطلاعات ذخیره کنیم؟ و حالا من اگر از این روشی ک گفتم استفاده کنم آیا مشکل ساز میشه

چون من خودم روش فکر کردم مشکلی ب وجود نمیاد و چون روش دستیابی هم Rest API هست مشکلی پیش نباید بیاد

برای مثال یک جدول ب این صورت ایجاد میکنم MSG1001002000 برای یک یوزر با ای دی 1001002000با فیلد های id msg timestamp 

عزیر ارتقای افقی مبحث دیگه ایه و برای اسکیل دادن به پروژه هست نه تعداد جداول دیتابیس.

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...