Transaction در پایگاه داده چیست ؟

ذخیره‌سازی اطلاعات در پایگاه داده در بسیاری موارد شامل چند تراکنش موازی و مرتبط با هم است. برای مثال به موارد زیر توجه کنید:

  1. ذخیره‌سازی سند حسابداری یک ردیف برای بدهکار و یک ردیف برای بستانکار
  2. ذخیره‌سازی انتقال وجه از حساب بانکی A به حساب بانکی B شامل یک ردیف برای کسر پول و یک ردیف برای اضافه کردن پول
  3. ذخیره‌سازی یک فاکتور فروش شامل یک ردیف برای سربرگ فاکتور و چندین ردیف برای اجناس خریداری شده
  4. ذخیره‌سازی یک خبر در پایگاه داده یک سایت خبری شامل یک ردیف اطلاعات کلی خبر و چندین ردیف جزئیات دیگر مانند کامنت‌ها، گالری تصاویر، …

پایگاه داده

در تمامی موارد بالا و بسیاری کاربردهای دیگر، اگر ذخیره‌سازی اطلاعات به دلایل مختلف نیمه کاره بماند، ممکن است باعث ایجاد خطاهای جبران‌ناپذیر و غیرقابل ردیابی باشد.

یکی از دلایل استفاده از Transaction یا ترنزاکشن برای حل این مشکل است. Transaction در پایگاه داده تضمین می‌کند که چندین تراکنش روی پایگاه داده همگی به صورت موازی و قطعی انجام شوند و چنانچه هر یک از تراکنش‌ها به دلایل مختلف از جمله خطاهای فنی، خطاهای سخت‌افزاری یا نرم‌افزاری نیمه کاره بمانند، بقیه‌ی تراکنش‌های موازی نیز انجام نخواهند شد.

کاربردهای دیگر Transaction

استفاده از ترنزاکشن برای افزایش سرعت در فعالیت‌های متعدد

ترنزاکشن علاوه بر کاربرد فوق، کاربردهای دیگری نیز دارد. پایگاه داده برای تضمین ذخیره‌سازی کامل هر ردیف به تنهایی یک Transaction ضمنی ایجاد می‌کند و به این وسیله از ذخیره‌سازی نیمه‌کاره‌ی یک رکورد در پایگاه داده جلوگیری می‌کند.

ایجاد هر Transaction مستلزم انجام فعالیت‌های مختلف است که موجب اتلاف زمان و افزایش استهلاک دیسک می‌شوند.

هنگامی که قصد درج تعداد زیادی ردیف به پایگاه داده را داریم، می‌توانیم با ایجاد یک Transaction به صورت صریح، از ایجاد ده‌ها ترنزاکشن ضمنی و اتلاف زمانی زیاد جلوگیری کنیم.

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

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

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


مشاهده‌ی تمامی نوشته‌ها در گروه: پایگاه داده. ‏ فهرست برچسب‌ها: .

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *