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

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
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
🤝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
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
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
🔵 عنوان مقاله
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
🔵 عنوان مقاله
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
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
👍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
🔵 عنوان مقاله
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