‫۱ ماه قبل، شنبه ۲۰ مرداد ۱۴۰۳، ساعت ۱۹:۳۹

پیشنهاد می‌کنم، ابتدا با ابزاری مثل benchmarkdotnet نرخ دریافت و ذخیره رو اندازه‌گیری کنید. بعد ببینیم آیا گلوگاهی وجود داره یا نه، و اگر داره کجاست. چون الان هر بحث و راه‌حل پیشنهادی مثل پیشنهاد دکوراسیون یک اتاق کاملا تاریک است!

شاید لازم باشه بعدش پرفرمنس دیسک دیتابیس سرورتون رو با ابزاری مثل diskspd بسنجید. یا به فکر in-memory oltp روی slq server باشید که سرعت درج داده رو کاهش بده.

استفاده از Multithreading هم حتمن یکی از پیشنهادهای ضروری و خوب است.

‫۱ ماه قبل، جمعه ۱۹ مرداد ۱۴۰۳، ساعت ۱۳:۱۲

۱: راهکار بهینه، نیاز به دیتای بیشتری داره، چون مثلا سایز تیم تولید، دانش و امکانات نگهداری سیستم بعد از راه‌اندازی، زیرساخت و امکانات سخت‌افزاری و... می‌تونه پاسخ نهایی رو کلی تغییر بده.

۲: ۱۰۰۰ کالا از ۱۰۰ سایت، آیا دامنه تغییر این اعداد مثلا ۱۲۰۰ کالا از ۱۳۰ سایت خواهد بود؟ یا امکانش هست که در کوتاه/میان‌مدت تبدیل به ۱۰٬۰۰۰ کالا از ۵۰۰۰ سایت بشه؟ (پیش‌بینی رشد)

۳: ایندکس‌گذاری روی XML در SQL Server به خوبی پشتیبانی می‌شه، سایز XML در سریالایز/دیسریالایز شدن و طبیعتن در کارایی سیستم اثرگذار است

۴: برای محصولی مثل SQL Server نگهداری ۴۰ میلیون رکورد (۱ سال داده‌ با اعدادی که فرمودید) عدد کوچکی است، «ولی» بسیار وابسته به اینه که زیرساخت خوب و مدیردیتابیس با دانشی داشته باشید وگرنه حتی ۴۰۰٬۰۰۰ رکورد هم می‌تونه مشکل ایجاد کنه

۵: این نوع سیستم‌ها عموما در مرحله جمع‌آوری به صورت OLTP طراحی می‌شن و برای سابقه به DW با ساختار Dimensional تبدیل و منتقل می‌شن. باز هم بستگی به تیم و شرایط تولید داره

۶: نکته بعدی اینکه مثلا به راحتی می‌تونید دیتا رو روی جدول پارتیشن‌بندی کنید و پارتیشن‌های قدیمی رو فشرده کنید

‫۱ ماه قبل، جمعه ۱۲ مرداد ۱۴۰۳، ساعت ۱۶:۳۸

استاندارد خیر. ولی best practice هایی وجود داره.

و خیلی خیلی بستگی به سایزسازمان و تیم، ساختار تیم و روش توسعه، و عمق مستنداتی که تولید می‌کنید داره، مثال: گاهی یک تیم بزرگ تصمیم می‌گیره از ابزار wiki موجود در Gitlab, GitHub, Azure DevOps استفاده کنه (همون‌جایی که سورس کد قرار داره، ولی در بخش ویکی) یا در کانفلوئنس (اگر داشته باشن)

گاهی در فایل README.md در root پروژه به شکل قراردادی مشخصات ذکر می‌شه.

گاهی فایل‌های markdown در پوشه docs در سورس‌کد

گاهی شما نیاز به معرفی REST API دارید که OpenAPI Spec کمک می‌کنه

گاهی دیاگرام هم نیاز دارید برای یک سیستم بزرگ‌تر

گاهی فقط وابستگی‌ها مثل پکیج‌ها براتون مهمه، که فایل .packages.props کمک میاد

تجربه شخصی من، نسبت به هر تیم و شرکتی متناسب با همون تصمیم گرفتم (از فایل README.MD تا مدخل در ویکی که بعد از مدتی به چندصد صفحه تبدیل شده که چندین نفر به تدریج کاملش کردند)