🔵 عنوان مقاله
Writing Nothing But Docs for a Week
🟢 خلاصه مقاله:
Lev Kokotov، سازنده PgDog (ابزار connection pooler و sharder برای Postgres)، یک هفته کامل را صرف نوشتن و بهبود مستندات کرد تا شروع کار، پیکربندی و اجرای تولیدی برای کاربران سادهتر و شفافتر شود. خروجی این تمرکز شامل راهنمای شروع سریع، آموزشهای گامبهگام، دستورالعملهای عملی برای مقیاسپذیری و رفع اشکال، و توضیح روشن معماری و محدودیتهاست. او تأکید میکند که «مستندسازی» خود نوعی بازبینی طراحی است: هنگام نوشتن، ابهامها و نقصها آشکار میشوند و همین باعث بهبود نامگذاریها، پیشفرضها و تجربه تنظیمات شد. این رویکرد، هم پذیرش PgDog را سریعتر میکند و هم مشارکت جامعه را تسهیل میکند، چون مستندات زندهاند و به بازخورد و اصلاحات کاربران تکیه دارند.
#Postgres #PgDog #Documentation #OpenSource #Sharding #ConnectionPooling #DeveloperExperience #Databases
🟣لینک مقاله:
https://postgresweekly.com/link/174759/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Writing Nothing But Docs for a Week
🟢 خلاصه مقاله:
Lev Kokotov، سازنده PgDog (ابزار connection pooler و sharder برای Postgres)، یک هفته کامل را صرف نوشتن و بهبود مستندات کرد تا شروع کار، پیکربندی و اجرای تولیدی برای کاربران سادهتر و شفافتر شود. خروجی این تمرکز شامل راهنمای شروع سریع، آموزشهای گامبهگام، دستورالعملهای عملی برای مقیاسپذیری و رفع اشکال، و توضیح روشن معماری و محدودیتهاست. او تأکید میکند که «مستندسازی» خود نوعی بازبینی طراحی است: هنگام نوشتن، ابهامها و نقصها آشکار میشوند و همین باعث بهبود نامگذاریها، پیشفرضها و تجربه تنظیمات شد. این رویکرد، هم پذیرش PgDog را سریعتر میکند و هم مشارکت جامعه را تسهیل میکند، چون مستندات زندهاند و به بازخورد و اصلاحات کاربران تکیه دارند.
#Postgres #PgDog #Documentation #OpenSource #Sharding #ConnectionPooling #DeveloperExperience #Databases
🟣لینک مقاله:
https://postgresweekly.com/link/174759/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
PgDog
Writing nothing but docs for a week
🤝2
🔵 عنوان مقاله
'the PostgreSQL creators totally nailed it.'
🟢 خلاصه مقاله:
در آخرین شماره Golang Weekly، مقالهای تأکید میکند که سازندگان PostgreSQL «کاملاً درست عمل کردند». نویسنده توضیح میدهد چرا این پایگاهداده با ترکیب استانداردهای شفاف SQL، قابلیت اتکا، کارایی بالا و امکاناتی مانند JSONB و ایندکسهای قدرتمند، برای طیف وسیعی از نیازها مناسب است. برای توسعهدهندگان Go، همنشینی PostgreSQL با ابزارهایی مثل pgx و GORM، سادگی در ادغام، و رفتار قابل پیشبینی در محیط تولید، ارزش ویژهای دارد. جامعه فعال، مستندسازی خوب و سازگاری عقبرو نیز استفاده بلندمدت را مطمئن میکند. جمعبندی مقاله این است که برای بسیاری از تیمهای Go، PostgreSQL یک انتخاب پیشفرض قوی و عملیاتی است و سازندگانش در رسیدن به این تعادل «حرفهای» عمل کردهاند.
#PostgreSQL #Golang #Go #Databases #GolangWeekly #OpenSource #Backend #SoftwareEngineering
🟣لینک مقاله:
https://postgresweekly.com/link/174751/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
'the PostgreSQL creators totally nailed it.'
🟢 خلاصه مقاله:
در آخرین شماره Golang Weekly، مقالهای تأکید میکند که سازندگان PostgreSQL «کاملاً درست عمل کردند». نویسنده توضیح میدهد چرا این پایگاهداده با ترکیب استانداردهای شفاف SQL، قابلیت اتکا، کارایی بالا و امکاناتی مانند JSONB و ایندکسهای قدرتمند، برای طیف وسیعی از نیازها مناسب است. برای توسعهدهندگان Go، همنشینی PostgreSQL با ابزارهایی مثل pgx و GORM، سادگی در ادغام، و رفتار قابل پیشبینی در محیط تولید، ارزش ویژهای دارد. جامعه فعال، مستندسازی خوب و سازگاری عقبرو نیز استفاده بلندمدت را مطمئن میکند. جمعبندی مقاله این است که برای بسیاری از تیمهای Go، PostgreSQL یک انتخاب پیشفرض قوی و عملیاتی است و سازندگانش در رسیدن به این تعادل «حرفهای» عمل کردهاند.
#PostgreSQL #Golang #Go #Databases #GolangWeekly #OpenSource #Backend #SoftwareEngineering
🟣لینک مقاله:
https://postgresweekly.com/link/174751/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Crunchy Data
Postgres’ Original Project Goals: The Creators Totally Nailed It | Crunchy Data Blog
Dig in to the original goals of the Postgres academic project at UC Berkeley and how they shaped the Postgres we use today.
❤3
🔵 عنوان مقاله
Understanding WAL and Optimizing It with a Dedicated Disk
🟢 خلاصه مقاله:
WAL روشی کلیدی برای پایداری و ریکاوری پس از کرش است: تغییرات ابتدا به شکل ترتیبی در یک لاگ نوشته و بهصورت پایدار flush میشوند و سپس در صورت نیاز روی دادههای اصلی اعمال یا بازپخش میگردند. گلوگاه اصلی معمولاً همان fsync/flush است که باید دوام را تضمین کند. وقتی WAL روی همان دیسکی باشد که فایلهای داده نیز روی آن I/O تصادفی انجام میدهند، وقفه و رقابت صف موجب جهش در تاخیر بهویژه در p99/p999 میشود. قرار دادن WAL روی یک دیسک اختصاصی این مسیر حساس را ایزوله میکند، الگوی نوشتن ترتیبی را حفظ میکند و تاخیر را قابل پیشبینیتر و بهرهوری را بیشتر میسازد.
در عمل میتوان از یک NVMe مستقل یا یک ولوم ابری جداگانه استفاده کرد؛ فایلسیستمهای رایج مانند ext4 یا XFS با تنظیمات ساده و بدون سربار اضافی مناسباند و باید اطمینان داشت که semantics مربوط به write barrier و cache flush مطابق نیازهای دوام هستند. از منظر Golang، بهینهسازی WAL معمولاً با سگمنتبندی و پیشاختصاص فایلها، نوشتن همتراز با بلوک، checksum، batch کردن درخواستها، group commit با آستانه زمانی/حجمی، استفاده سنجیده از O_DSYNC/fdatasync و مدیریت دقیق بافر انجام میشود. اندازهگیری دقیق قبل و بعد (میانگین و p99 fsync، نرخ نوشتن، و زمان انتهابهانتها) مشخص میکند آیا دیسک اختصاصی هزینهاش را جبران میکند یا خیر؛ برای بارهای نوشتاری بالا یا SLA سختگیرانه، این ایزولاسیون معمولاً ارزشمند است.
#WAL #Golang #Databases #Performance #Storage #NVMe #SystemsDesign
🟣لینک مقاله:
https://postgresweekly.com/link/174762/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Understanding WAL and Optimizing It with a Dedicated Disk
🟢 خلاصه مقاله:
WAL روشی کلیدی برای پایداری و ریکاوری پس از کرش است: تغییرات ابتدا به شکل ترتیبی در یک لاگ نوشته و بهصورت پایدار flush میشوند و سپس در صورت نیاز روی دادههای اصلی اعمال یا بازپخش میگردند. گلوگاه اصلی معمولاً همان fsync/flush است که باید دوام را تضمین کند. وقتی WAL روی همان دیسکی باشد که فایلهای داده نیز روی آن I/O تصادفی انجام میدهند، وقفه و رقابت صف موجب جهش در تاخیر بهویژه در p99/p999 میشود. قرار دادن WAL روی یک دیسک اختصاصی این مسیر حساس را ایزوله میکند، الگوی نوشتن ترتیبی را حفظ میکند و تاخیر را قابل پیشبینیتر و بهرهوری را بیشتر میسازد.
در عمل میتوان از یک NVMe مستقل یا یک ولوم ابری جداگانه استفاده کرد؛ فایلسیستمهای رایج مانند ext4 یا XFS با تنظیمات ساده و بدون سربار اضافی مناسباند و باید اطمینان داشت که semantics مربوط به write barrier و cache flush مطابق نیازهای دوام هستند. از منظر Golang، بهینهسازی WAL معمولاً با سگمنتبندی و پیشاختصاص فایلها، نوشتن همتراز با بلوک، checksum، batch کردن درخواستها، group commit با آستانه زمانی/حجمی، استفاده سنجیده از O_DSYNC/fdatasync و مدیریت دقیق بافر انجام میشود. اندازهگیری دقیق قبل و بعد (میانگین و p99 fsync، نرخ نوشتن، و زمان انتهابهانتها) مشخص میکند آیا دیسک اختصاصی هزینهاش را جبران میکند یا خیر؛ برای بارهای نوشتاری بالا یا SLA سختگیرانه، این ایزولاسیون معمولاً ارزشمند است.
#WAL #Golang #Databases #Performance #Storage #NVMe #SystemsDesign
🟣لینک مقاله:
https://postgresweekly.com/link/174762/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Stormatics
PostgreSQL WAL: Boost Performance with a Dedicated Disk
Learn how to speed up PostgreSQL by moving WAL to its own disk. Cut I/O contention and improve write performance safely.
❤1
🔵 عنوان مقاله
a behind-the-scenes look at EDB's program
🟢 خلاصه مقاله:
نگاهی پشتصحنه به برنامه EDB برای جذب و توانمندسازی مشارکتکنندگان جدید Postgres در شرکت ارائه میدهد. این برنامه با آموزش ساختاریافته، منتورینگ مستمر و استانداردسازی ابزار و گردشکار، ورود به جامعه متنباز را سادهتر میکند و زمان رسیدن به اولین مشارکت را کاهش میدهد. مسیر رشد با نقاط عطف مشخص (از اولین باگ و پچ تا پذیرش در بالادست) سنجیده میشود و بازخوردها مداوماً به بهبود فرآیند میانجامد. نتیجه، تقویت مهارت فردی و همسویی با هنجارهای جامعه Postgres و در نهایت پایداری و کیفیت بالاتر اکوسیستم است.
#Postgres #EDB #OpenSource #Onboarding #DeveloperExperience #OSSContributions #Mentorship #Databases
🟣لینک مقاله:
https://postgresweekly.com/link/175092/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
a behind-the-scenes look at EDB's program
🟢 خلاصه مقاله:
نگاهی پشتصحنه به برنامه EDB برای جذب و توانمندسازی مشارکتکنندگان جدید Postgres در شرکت ارائه میدهد. این برنامه با آموزش ساختاریافته، منتورینگ مستمر و استانداردسازی ابزار و گردشکار، ورود به جامعه متنباز را سادهتر میکند و زمان رسیدن به اولین مشارکت را کاهش میدهد. مسیر رشد با نقاط عطف مشخص (از اولین باگ و پچ تا پذیرش در بالادست) سنجیده میشود و بازخوردها مداوماً به بهبود فرآیند میانجامد. نتیجه، تقویت مهارت فردی و همسویی با هنجارهای جامعه Postgres و در نهایت پایداری و کیفیت بالاتر اکوسیستم است.
#Postgres #EDB #OpenSource #Onboarding #DeveloperExperience #OSSContributions #Mentorship #Databases
🟣لینک مقاله:
https://postgresweekly.com/link/175092/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
EDB
Barcelona beginnings: onboarding new PostgreSQL contributors
PostgreSQL is at the core of what we do at EDB, and several people here work on PostgreSQL full-time. However becoming a contributor and being successful in your contributions is not an easy task. That’s why PostgreSQL powerhouse Andrew Dunstan kicked off…
🔵 عنوان مقاله
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...
🔵 عنوان مقاله
A Postgres Trip Report from PGConf NYC 2025
🟢 خلاصه مقاله:
کلر، میزبان پادکست Talking Postgres، دو هفته پس از برگزاری موفق PGConf NYC 2025 گزارشی مفصل و صریح منتشر کرده است؛ او علاوه بر بیان برداشتها و روندهای برجسته و گفتگوهایش با اعضای جامعه، با مجموعهای از عکسها حالوهوای رویداد را برای کسانی که حضور نداشتند زنده میکند. این گزارش بدون ورود به ریزجزئیات جلسات، روی نکات کاربردی، روندهای قابلتوجه و حالوهوای روبهرشد جامعه Postgres تمرکز دارد و برای تازهواردها و متخصصان بهطور یکسان مفید است.
#Postgres #PGConfNYC #PGConf2025 #Databases #OpenSource #Conference #TalkingPostgres
🟣لینک مقاله:
https://postgresweekly.com/link/175715/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
A Postgres Trip Report from PGConf NYC 2025
🟢 خلاصه مقاله:
کلر، میزبان پادکست Talking Postgres، دو هفته پس از برگزاری موفق PGConf NYC 2025 گزارشی مفصل و صریح منتشر کرده است؛ او علاوه بر بیان برداشتها و روندهای برجسته و گفتگوهایش با اعضای جامعه، با مجموعهای از عکسها حالوهوای رویداد را برای کسانی که حضور نداشتند زنده میکند. این گزارش بدون ورود به ریزجزئیات جلسات، روی نکات کاربردی، روندهای قابلتوجه و حالوهوای روبهرشد جامعه Postgres تمرکز دارد و برای تازهواردها و متخصصان بهطور یکسان مفید است.
#Postgres #PGConfNYC #PGConf2025 #Databases #OpenSource #Conference #TalkingPostgres
🟣لینک مقاله:
https://postgresweekly.com/link/175715/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
TECHCOMMUNITY.MICROSOFT.COM
Postgres Trip Report from PGConf NYC 2025 (with lots of photos) | Microsoft Community Hub
Overview of my Postgres speaker, sponsor, & attendee experience at PGConf NYC 2025, with quotes from attendees, talk highlights, and lots of photographs.
❤2🍾1
🔵 عنوان مقاله
date and timestamp versions of random(min, max)
🟢 خلاصه مقاله:
این مقاله به دو بهروزرسانی کاربردی اشاره میکند: افزودهشدن نسخههای مبتنیبر نوعهای date و timestamp برای تابع random(min, max) و نمایش برآوردهای برنامهریز برای گره Memoize در خروجی EXPLAIN. با پشتیبانی جدید random(min, max)، میتوان مقادیر تصادفی از نوع تاریخ یا زمان را مستقیماً در یک بازه مشخص تولید کرد؛ کاری مفید برای تولید دادهی آزمایشی، شبیهسازی بار کاری و ناشناسسازی دادههای زمانی بدون نیاز به تبدیلهای اضافی. همچنین، EXPLAIN اکنون برآوردهای مربوط به Memoize را نشان میدهد تا روشنتر شود چرا برنامهریز از این گره استفاده کرده و تأثیر تخمینی کش و هزینهها چیست؛ موضوعی که به عیبیابی و بهینهسازی پرسوجوها کمک میکند.
#Databases #SQL #EXPLAIN #Memoize #Random #Date #Timestamp #Performance
🟣لینک مقاله:
https://postgresweekly.com/link/175090/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
date and timestamp versions of random(min, max)
🟢 خلاصه مقاله:
این مقاله به دو بهروزرسانی کاربردی اشاره میکند: افزودهشدن نسخههای مبتنیبر نوعهای date و timestamp برای تابع random(min, max) و نمایش برآوردهای برنامهریز برای گره Memoize در خروجی EXPLAIN. با پشتیبانی جدید random(min, max)، میتوان مقادیر تصادفی از نوع تاریخ یا زمان را مستقیماً در یک بازه مشخص تولید کرد؛ کاری مفید برای تولید دادهی آزمایشی، شبیهسازی بار کاری و ناشناسسازی دادههای زمانی بدون نیاز به تبدیلهای اضافی. همچنین، EXPLAIN اکنون برآوردهای مربوط به Memoize را نشان میدهد تا روشنتر شود چرا برنامهریز از این گره استفاده کرده و تأثیر تخمینی کش و هزینهها چیست؛ موضوعی که به عیبیابی و بهینهسازی پرسوجوها کمک میکند.
#Databases #SQL #EXPLAIN #Memoize #Random #Date #Timestamp #Performance
🟣لینک مقاله:
https://postgresweekly.com/link/175090/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
👍1
🔵 عنوان مقاله
pqr.sql: Generate QR Codes with Pure SQL in Postgres
🟢 خلاصه مقاله:
**pqr.sql یک ایدهی خلاقانه است که نشان میدهد میتوان QR Code را تنها با SQL و مستقیماً داخل Postgres تولید کرد. این کار بدون افزونه یا کد اپلیکیشن انجام میشود و برای محیطهای محدود یا سناریوهای خودبسنده مفید است و جنبه آموزشی خوبی برای توانمندیهای SQL در Postgres دارد. با این حال، به چندصد خط SQL نیاز دارد و برای تولید عملیاتی جایگزین کتابخانههای تخصصی نیست؛ اما نمونهای جذاب با کاربردهای غیربدیهی است.
#Postgres #PostgreSQL #SQL #QRCode #PureSQL #Databases #SQLTricks
🟣لینک مقاله:
https://postgresweekly.com/link/175728/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
pqr.sql: Generate QR Codes with Pure SQL in Postgres
🟢 خلاصه مقاله:
**pqr.sql یک ایدهی خلاقانه است که نشان میدهد میتوان QR Code را تنها با SQL و مستقیماً داخل Postgres تولید کرد. این کار بدون افزونه یا کد اپلیکیشن انجام میشود و برای محیطهای محدود یا سناریوهای خودبسنده مفید است و جنبه آموزشی خوبی برای توانمندیهای SQL در Postgres دارد. با این حال، به چندصد خط SQL نیاز دارد و برای تولید عملیاتی جایگزین کتابخانههای تخصصی نیست؛ اما نمونهای جذاب با کاربردهای غیربدیهی است.
#Postgres #PostgreSQL #SQL #QRCode #PureSQL #Databases #SQLTricks
🟣لینک مقاله:
https://postgresweekly.com/link/175728/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Tanelpoder
pqr.sql: Generate QR Codes with Pure SQL in PostgreSQL - Tanel Poder Consulting
As my cat woke me up way too early for a Saturday morning, I decided to put all this extra time (and my ChatGPT Pro subscription) into good use and generated a QR-code generator for PostgreSQL, written as a single pure SQL statement. No external libraries…
🔵 عنوان مقاله
Redis is Fast - I'll Cache in Postgres
🟢 خلاصه مقاله:
** این مقاله مقایسهای بین استفاده از Postgres و Redis برای کارهای کش ساده ارائه میکند و نتیجه میگیرد که هرچند Redis از نظر سرعت خام برتر است، در بسیاری از سناریوها این برتری آنقدر نیست که اضافهکردن یک سیستم جداگانه را توجیه کند. اگر دادههای پرتکرار در حافظه Postgres جا شوند و با یک جدول کلید-مقدار ساده (بههمراه expires_at و ایندکس مناسب)، prepared statements و connection pooling کار کنید، تأخیر بهحد کافی پایین و پایدار خواهد بود. زمانی Redis منطقی است که به تأخیر بسیار کم و QPS بسیار بالا نیاز دارید، کش مشترک بین سرویسها میخواهید، یا به قابلیتهای خاص آن مثل data structures، pub/sub و eviction policies نیاز دارید. در غیر این صورت، سادگی عملیاتی، هزینه کمتر و کاهش نقاط خرابی با استفاده از Postgres ارزشمندتر است؛ و در صورت آشکار شدن گلوگاه عملکردی، میتوان بعداً Redis را پشت یک رابط مناسب اضافه و بهتدریج مهاجرت کرد.
#Redis #Postgres #Caching #Performance #Databases #Architecture #DevOps #Scalability
🟣لینک مقاله:
https://postgresweekly.com/link/174758/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Redis is Fast - I'll Cache in Postgres
🟢 خلاصه مقاله:
** این مقاله مقایسهای بین استفاده از Postgres و Redis برای کارهای کش ساده ارائه میکند و نتیجه میگیرد که هرچند Redis از نظر سرعت خام برتر است، در بسیاری از سناریوها این برتری آنقدر نیست که اضافهکردن یک سیستم جداگانه را توجیه کند. اگر دادههای پرتکرار در حافظه Postgres جا شوند و با یک جدول کلید-مقدار ساده (بههمراه expires_at و ایندکس مناسب)، prepared statements و connection pooling کار کنید، تأخیر بهحد کافی پایین و پایدار خواهد بود. زمانی Redis منطقی است که به تأخیر بسیار کم و QPS بسیار بالا نیاز دارید، کش مشترک بین سرویسها میخواهید، یا به قابلیتهای خاص آن مثل data structures، pub/sub و eviction policies نیاز دارید. در غیر این صورت، سادگی عملیاتی، هزینه کمتر و کاهش نقاط خرابی با استفاده از Postgres ارزشمندتر است؛ و در صورت آشکار شدن گلوگاه عملکردی، میتوان بعداً Redis را پشت یک رابط مناسب اضافه و بهتدریج مهاجرت کرد.
#Redis #Postgres #Caching #Performance #Databases #Architecture #DevOps #Scalability
🟣لینک مقاله:
https://postgresweekly.com/link/174758/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Dizzy zone
Redis is fast - I'll cache in Postgres
There are books & many articles online, like this one arguing for using Postgres for everything. I thought I’d take a look at one use case - using Postgres instead of Redis for caching. I work with APIs quite a bit, so I’d build a super simple HTTP server…