transaction

transaction واحدی از کار در database است که تغییرات یک یا چند عملیات را با هم نهایی یا لغو می‌کند.

توضیح

وقتی چند تغییر به هم وابسته‌اند، آن‌ها را در یک transaction قرار می‌دهیم تا فقط بخشی از کار ثبت نشود. اگر همه‌چیز موفق باشد، با commit تغییرات نهایی می‌شوند؛ اگر کار شکست بخورد، با rollback تغییرات آن transaction لغو می‌شوند. این رفتار کمک می‌کند داده‌ها در وضعیت نیمه‌کاره باقی نمانند.

مثال

برای انتقال پول، کم‌شدن مبلغ از حساب اول و اضافه‌شدن همان مبلغ به حساب دوم باید یک واحد باشند. اگر مرحلهٔ دوم شکست بخورد، تغییر مرحلهٔ اول هم لغو می‌شود؛ نه اینکه پول از یک حساب کم شود ولی به حساب دیگر نرسد.

چرا مهم است

هنگام نوشتن کدی مثل انتقال پول یا ثبت سفارش با transaction روبه‌رو می‌شوی؛ جایی که چند تغییر باید با هم انجام شوند تا شکست یک مرحله، داده‌های ناسازگار باقی نگذارد.

این کارت را هوش مصنوعی نوشته و دو بار با هوش مصنوعی بررسی شده است.

مطالبی با این مفهوم

  1. AgensGraph

    انتشار AgensGraph 2.18؛ پشتیبانی گسترده‌تر از ISO GQL روی PostgreSQL 18.6

    AgensGraph v2.18.6.1 با clause‌های تازه ISO GQL،؜ بهبود سرعت query‌های graph و تغییرات امنیتی منتشر شد. این نسخه ابزارهای Python و AI را هم پوشش می‌دهد و ارتقا از 2.17 به مراحل مشخصی نیاز دارد.

    یادگیری: ۵ مفهومافزوده‌شده postgresql.org

  2. NetWasm

    NetWasm از سرعت ۲٫۸ برابری نسبت به Mono AOT در Benchmark‌ها خبر داد

    طبق گزارش منتشرشده، NetWasm در ۲٬۲۱۳ مورد micro-benchmark به میانگین هندسی سرعت ۲٫۸ برابر Mono AOT رسیده است. اجرای DoomSharp و کاهش زمان rebuild نیز از دیگر نتایج گزارش‌شده‌اند.

    یادگیری: ۵ مفهومافزوده‌شده reddit.com

  3. Wallet Security

    درس حمله به Binance: امضای معتبر هم می‌تواند اختیار wallet را به مهاجم بدهد

    این گزارش با بررسی حمله به Binance هشدار می‌دهد که محافظت از کلید به‌تنهایی کافی نیست؛ دسترسی به سرویس امضا هم می‌تواند برای سوءاستفاده کافی باشد. این گزارش چهار محور برای بررسی امنیت زیرساخت wallet پیشنهاد می‌کند.

    یادگیری: ۳ مفهومافزوده‌شده blog.trailofbits.com

  4. Postgres

    هزینه UUIDv4 در Postgres؛ افت سرعت INSERT وقتی index از حافظه بزرگ‌تر می‌شود

    در آزمایش Postgres 18.6 با ۱۰۰ میلیون ردیف، نرخ INSERT با UUIDv4 به ۶۲ تا ۶۹ درصد کلید مرتب رسید. این تفاوت پس از بزرگ‌تر شدن index از حافظه آشکار شد؛ حجم write-ahead log نیز بیشتر بود.

    یادگیری: ۵ مفهومافزوده‌شده postgr.es

  5. Architecture & optimization

    معماری تازه GitHub برای هزاران push هم‌زمان به یک repository

    GitHub معماری جدید ذخیره‌سازی Git خود با نام Rubicon را شرح داده است؛ معماری‌ای که در آزمایش داخلی، ۵۰۰۰ agent هم‌زمان و ۷۲۰۰ push در ثانیه به یک repository را پشتیبانی کرده است.

    یادگیری: ۵ مفهومافزوده‌شده github.blog

  6. PostgreSQL

    myDBR 7.7 پشتیبانی از PostgreSQL را به گزارش‌گیری تحت وب اضافه کرد

    myDBR 7.7 امکان نگهداری object‌ها و گزارش‌های خود در PostgreSQL را فراهم کرده است. گزارش‌ها با function‌های PL/pgSQL ساخته می‌شوند و کنترل دسترسی به ردیف‌ها را می‌توان به خود database سپرد.

    یادگیری: ۵ مفهومافزوده‌شده postgresql.org