transaction
transaction واحدی از کار در database است که تغییرات یک یا چند عملیات را با هم نهایی یا لغو میکند.
توضیح
وقتی چند تغییر به هم وابستهاند، آنها را در یک transaction قرار میدهیم تا فقط بخشی از کار ثبت نشود. اگر همهچیز موفق باشد، با commit تغییرات نهایی میشوند؛ اگر کار شکست بخورد، با rollback تغییرات آن transaction لغو میشوند. این رفتار کمک میکند دادهها در وضعیت نیمهکاره باقی نمانند.
مثال
برای انتقال پول، کمشدن مبلغ از حساب اول و اضافهشدن همان مبلغ به حساب دوم باید یک واحد باشند. اگر مرحلهٔ دوم شکست بخورد، تغییر مرحلهٔ اول هم لغو میشود؛ نه اینکه پول از یک حساب کم شود ولی به حساب دیگر نرسد.
چرا مهم است
هنگام نوشتن کدی مثل انتقال پول یا ثبت سفارش با transaction روبهرو میشوی؛ جایی که چند تغییر باید با هم انجام شوند تا شکست یک مرحله، دادههای ناسازگار باقی نگذارد.
مفهومهای مرتبط
این کارت را هوش مصنوعی نوشته و دو بار با هوش مصنوعی بررسی شده است.
مطالبی با این مفهوم
- AgensGraph
انتشار AgensGraph 2.18؛ پشتیبانی گستردهتر از ISO GQL روی PostgreSQL 18.6
AgensGraph v2.18.6.1 با clauseهای تازه ISO GQL، بهبود سرعت queryهای graph و تغییرات امنیتی منتشر شد. این نسخه ابزارهای Python و AI را هم پوشش میدهد و ارتقا از 2.17 به مراحل مشخصی نیاز دارد.
- NetWasm
NetWasm از سرعت ۲٫۸ برابری نسبت به Mono AOT در Benchmarkها خبر داد
طبق گزارش منتشرشده، NetWasm در ۲٬۲۱۳ مورد micro-benchmark به میانگین هندسی سرعت ۲٫۸ برابر Mono AOT رسیده است. اجرای DoomSharp و کاهش زمان rebuild نیز از دیگر نتایج گزارششدهاند.
- Wallet Security

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

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

معماری تازه GitHub برای هزاران push همزمان به یک repository
GitHub معماری جدید ذخیرهسازی Git خود با نام Rubicon را شرح داده است؛ معماریای که در آزمایش داخلی، ۵۰۰۰ agent همزمان و ۷۲۰۰ push در ثانیه به یک repository را پشتیبانی کرده است.
- PostgreSQL
myDBR 7.7 پشتیبانی از PostgreSQL را به گزارشگیری تحت وب اضافه کرد
myDBR 7.7 امکان نگهداری objectها و گزارشهای خود در PostgreSQL را فراهم کرده است. گزارشها با functionهای PL/pgSQL ساخته میشوند و کنترل دسترسی به ردیفها را میتوان به خود database سپرد.