PDA

View Full Version : بهترین ایده برای عملیات لاگ جداول



IMANAZADI
دوشنبه 29 مهر 1398, 15:34 عصر
با سلام خدمت دوستان
میخواستم یه راهنمایی ازتون بگیرم

در یک دیتابیس برای لاگ کردن عملیات کاربران از جمله insert/update/delete کدوم طرح رو پیشنهاد میدید .

1- اینکه در داخل هر جدول 4 فیلد بنام های create_by, modify_by,create_date,modify_date ایجاد کنیم و هز زمان کاربر عملیات انجام داد هر کدوم از این فیلدها رو تغییر بدیم

2- اینکه تمام عملیات ها رو در یک فایل text خارج از دیتابیس ذخیره کنیم

3- اینکه یک جدول بنام log با فیلدهای table_name,row_id,user_id,date,operation_type بسازیم و هر زمان هر تغییری در جداول مربوطه انجام شد در جدول لاگ یک رکورد ایجاد کنیم .

کدوم سناریو منطقی تر بنظر میرسه .

hamid_hr
سه شنبه 30 مهر 1398, 14:44 عصر
بنظر من روش CDC خوبه و خودش خیلی از کارها رو انجام میده
درموردش سرچ کنید

Davidd
سه شنبه 30 مهر 1398, 16:29 عصر
سلام. روش دوم به نظرم جالب نیست. چون ذخیره در فایل قابلیت کوئری گرفتن نداره و چون مجزا از دیتابیس هست مشکل بکاپ گیری و هماهنگی بکاپ فایل با بکاپ دیتابیس وجود داره. این روش برای زمانی مناسبه که داده های لاگ خیلی مهم نیستند و برای روز مبادا و شرایط خاص مورد استفاده قرار می گیرند مثلا ثبت درخواست های رسیده به سرور وب.
روش اول در صورتی که تعداد جداول محدود باشه و نیاز به تاریخچه تغییرات نداشته باشی مناسبه مزیت این روش اینه که گزارش گیری و نمایش آخرین تغییرات به کاربر راحته ولی مشکلی که داره اینه که تاریخچه تغییرات ذخیره نمیشه. روش سوم برای زمانی که بخوای تاریخچه تغییرات رکوردهارو ذخیره کنی مناسبه. به نظر بهترین روش ترکیب روش اول و سوم بر اساس ماهیت جداول هست