🔵 عنوان مقاله
PostgreSQL R2DBC Driver 1.1
🟢 خلاصه مقاله:
PostgreSQL R2DBC Driver 1.1 دسترسی Reactive و غیرمسدودکننده به PostgreSQL را برای برنامههای Java فراهم میکند. با تکیه بر R2DBC و پشتیبانی از backpressure، اجرای کوئریها و استریم نتایج بهصورت asynchronous انجام میشود و زیر بار بالا کارایی و بهرهوری منابع بهبود مییابد. این درایور با Project Reactor، Spring WebFlux و Spring Data R2DBC یکپارچه است و اجازه میدهد کل مسیر از HTTP تا دیتابیس Reactive باقی بماند و قابلیتهایی مثل ترکیب، لغو و مدیریت جریانها را فراهم میکند. نسخه 1.1 بر بلوغ و پایداری تمرکز دارد و با بهبود همخوانی با R2DBC SPI و بهینهسازی رفتار تحت فشار، برای استفاده تولیدی مناسبتر شده است. اگر معماری شما Reactive است یا به همزمانی بالا و استریم داده نیاز دارید، این درایور انتخاب مناسبی است؛ در سناریوهای ساده و مسدودکننده، JDBC همچنان میتواند گزینهای عملی باشد.
#PostgreSQL #R2DBC #Java #SpringWebFlux #ReactiveProgramming #NonBlocking #Databases #Performance
🟣لینک مقاله:
https://postgresweekly.com/link/175405/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
PostgreSQL R2DBC Driver 1.1
🟢 خلاصه مقاله:
PostgreSQL R2DBC Driver 1.1 دسترسی Reactive و غیرمسدودکننده به PostgreSQL را برای برنامههای Java فراهم میکند. با تکیه بر R2DBC و پشتیبانی از backpressure، اجرای کوئریها و استریم نتایج بهصورت asynchronous انجام میشود و زیر بار بالا کارایی و بهرهوری منابع بهبود مییابد. این درایور با Project Reactor، Spring WebFlux و Spring Data R2DBC یکپارچه است و اجازه میدهد کل مسیر از HTTP تا دیتابیس Reactive باقی بماند و قابلیتهایی مثل ترکیب، لغو و مدیریت جریانها را فراهم میکند. نسخه 1.1 بر بلوغ و پایداری تمرکز دارد و با بهبود همخوانی با R2DBC SPI و بهینهسازی رفتار تحت فشار، برای استفاده تولیدی مناسبتر شده است. اگر معماری شما Reactive است یا به همزمانی بالا و استریم داده نیاز دارید، این درایور انتخاب مناسبی است؛ در سناریوهای ساده و مسدودکننده، JDBC همچنان میتواند گزینهای عملی باشد.
#PostgreSQL #R2DBC #Java #SpringWebFlux #ReactiveProgramming #NonBlocking #Databases #Performance
🟣لینک مقاله:
https://postgresweekly.com/link/175405/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
GitHub
Release v1.1.0.RELEASE · pgjdbc/r2dbc-postgresql
⭐ New Features
Expose API to subscribe to Postgres notice messages #570
Add codecs for DayOfWeek, Month, MonthDay, Period, Year, YearMonth #591
Make CodecMetadata.getDataTypes() more flexible #600...
Expose API to subscribe to Postgres notice messages #570
Add codecs for DayOfWeek, Month, MonthDay, Period, Year, YearMonth #591
Make CodecMetadata.getDataTypes() more flexible #600...
🔵 عنوان مقاله
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
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
🛩️ Shane Borden's Technology Blog
Understanding and Setting PostgreSQL JDBC Fetch Size
By default, the PostgreSQL JDBC driver fetches all rows at once and attempts to load them into memory vs. other drivers such as Oracle that by default only fetches 10 rows at a time. Both defaults …