Database Labdon
871 subscribers
35 photos
3 videos
1 file
882 links
🕸 Database Academy

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
Understanding and Setting Postgres JDBC Fetch Size

🟢 خلاصه مقاله:
این مقاله اهمیت تنظیم درست Fetch Size در JDBC برای Postgres را توضیح می‌دهد: مقدار پیش‌فرض 0 عملاً کل نتایج را یک‌باره در حافظه می‌ریزد و برای حجم‌های بزرگ خطرناک است. برای استریم واقعی باید auto-commit را خاموش کنید (setAutoCommit(false)) و روی Statement/PreparedStatement مقدار setFetchSize(n) بگذارید یا از defaultRowFetchSize در اتصال استفاده کنید؛ در حالت auto-commit فعال، درایور از cursor سمت سرور استفاده نمی‌کند و Fetch Size نادیده گرفته می‌شود. انتخاب مقدار به اندازه ردیف‌ها، تأخیر شبکه و حافظه بستگی دارد؛ معمولاً 100 تا 1000 شروع خوبی است و برای ردیف‌های بزرگ (JSON/BYTEA) بهتر است مقدار کوچک‌تر باشد. در Spring JdbcTemplate و jOOQ می‌توانید fetchSize را مستقیم تنظیم کنید؛ در JPA/Hibernate برای استریم با PostgreSQL علاوه بر hibernate.jdbc.fetch_size معمولاً نیاز به ResultSet رو به جلو و auto-commit خاموش دارید. حواستان باشد استریم باعث باز ماندن تراکنش می‌شود و می‌تواند VACUUM را به تأخیر بیندازد؛ پس جریان‌ها را کوتاه نگه دارید و برای سناریوهای تعاملی از صفحه‌بندی استفاده کنید. این موضوع اخیراً در Golang Weekly برجسته شده است و برای تیم‌هایی که Java و Go را ترکیب می‌کنند کاربردی است.

#PostgreSQL #JDBC #FetchSize #DatabasePerformance #Java #GolangWeekly #Streaming #PerformanceTuning

🟣لینک مقاله:
https://postgresweekly.com/link/175727/web


👑 @Database_Academy
🔵 عنوان مقاله
her experience of last week's PGConf EU event.

🟢 خلاصه مقاله:
تجربه نویسنده از PGConf EU هفته گذشته نشان می‌دهد که رویداد امسال ترکیبی از راهکارهای عملی، مطالعه‌های موردی واقعی و گفت‌وگوهای ارزشمند جانبی بود. تمرکز اصلی روی بهینه‌سازی کارایی، تاب‌آوری عملیاتی، مهاجرت‌ها، انتخاب Extensionها، استقرار ابری و Observability بود و نتیجه‌گیری او این است که اکوسیستم PostgreSQL بالغ‌تر و قابل‌دسترس‌تر از گذشته شده است. او در ادامه به آخرین مقاله Golang Weekly اشاره می‌کند که به‌خوبی با این موضوعات پیوند می‌خورد: الگوهای مؤثر در Go برای کار با پایگاه‌داده، از جمله استفاده بهینه از database/sql، زمان‌هایی که استفاده از pgx ترجیح دارد، مدیریت context برای Timeout و Cancellation، Pooling اتصال‌ها و راهبردهای Backpressure در بار همزمانی بالا. جمع‌بندی او این است که ترکیب درس‌های PGConf EU با نکات Golang Weekly یک نقشه راه عملی برای ساخت سرویس‌های داده‌محور در Go فراهم می‌کند؛ نقشه‌ای که به بهبود پایه‌های کارایی، پوشش تست مسیرهای دسترسی به داده و شفاف‌تر کردن SLOها با Observability بهتر منجر می‌شود.

#PGConfEU #PostgreSQL #Golang #GolangWeekly #DatabaseEngineering #PerformanceTuning #GoProgramming #Observability

🟣لینک مقاله:
https://postgresweekly.com/link/176359/web


👑 @Database_Academy
1
🔵 عنوان مقاله
From Text to Token: How Tokenization Pipelines Work

🟢 خلاصه مقاله:
** این مطلب در دو بخش به نکات کاربردی می‌پردازد. در بخش اول، «From Text to Token: How Tokenization Pipelines Work» به قلم James Blackwood-Sewell توضیح می‌دهد که چگونه متن خام طی مراحلی مانند نرمال‌سازی، پیش‌توکنیزه‌کردن و به‌کارگیری الگوریتم‌های زیرواژه‌ای مثل BPE، WordPiece و Unigram به توکن تبدیل می‌شود. نکاتی مانند ساخت واژگان، استفاده از توکن‌های ویژه (PAD، BOS/EOS، CLS/SEP)، مدیریت نویسه‌های ناشناخته، حفظ آفست‌ها، و چالش‌های چندزبانه و ایموجی‌ها مطرح می‌شود. همچنین بر ملاحظات مهندسی مانند تکه‌تکه‌کردن متن‌های بلند، اسلایدینگ ویندو، تفاوت نیازهای آموزش و استنتاج، و بهینه‌سازی عملکرد با ابزارهایی مانند Hugging Face Tokenizers و SentencePiece تأکید می‌شود؛ چرا که تعداد توکن‌ها مستقیماً بر هزینه و تأخیر سامانه‌های LLM اثر می‌گذارد.

در بخش دوم، «Understanding and Setting Postgres JDBC Fetch Size» نوشته Shane Borden توضیح می‌دهد که رفتار پیش‌فرض Postgres JDBC ممکن است برای نتایج بزرگ حافظه را پر کند و چگونه با فعال‌کردن سرور-ساید کرسرها و تنظیم setFetchSize (یا defaultRowFetchSize) می‌توان نتایج را به‌صورت batched و استریم‌شده دریافت کرد. به ارتباط این تنظیم با autocommit، بازه‌های پیشنهادی برای اندازه batch، موازنه بین تعداد رفت‌وبرگشت شبکه و مصرف حافظه، و نکات عملی مانند بستن به‌موقع ResultSet/Statement و هماهنگی با تنظیمات ORM (مثلاً hibernate.jdbc.fetch_size) پرداخته می‌شود. جمع‌بندی این است که کنار بهینه‌سازی fetch size، طراحی کوئری و ایندکس مناسب و پروفایل‌کردن حافظه و زمان، برای پایایی و کارایی ضروری است.

#Tokenization #NLP #Postgres #JDBC #PerformanceTuning #DataEngineering #LLM #Database

🟣لینک مقاله:
https://postgresweekly.com/link/175726/web


👑 @Database_Academy