882 subscribers
44 photos
3 videos
1 file
1.38K links
🕸 Database Academy

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
Storing Products, Prices and Orders in Postgres

🟢 خلاصه مقاله:
این مقاله نشان می‌دهد که در ذخیره‌سازی محصولات، قیمت‌ها و سفارش‌ها در Postgres نرمال‌سازی افراطی می‌تواند دقت تاریخی و کارایی را مختل کند. راهکار پیشنهادی، ترکیب یک هسته رابطه‌ای با دنرمال‌سازی هدفمند است: نگه‌داشتن اسنپ‌شات «همان‌طور که فروخته شد» در سطرهای سفارش (نام/SKU، قیمت، ارز، مالیات و تخفیف) و نسخه‌بندی یا تاریخ‌دار کردن قیمت‌ها برای حفظ سابقه. برای مقادیر پولی از NUMERIC/DECIMAL و کد ارز استفاده می‌شود، محاسبات مالیات و تخفیف ذخیره می‌گردد، و ویژگی‌های متغیر محصول در JSONB همراه با قیود و ایندکس‌های مناسب مدیریت می‌شوند. همچنین بر مهاجرت‌های افزایشی، تراکنش‌ها و ایندکس‌گذاری/پارتیشن‌بندی برای مقیاس‌پذیری تأکید می‌کند تا هم صحت داده و هم عملکرد تضمین شود.

#Postgres #DatabaseDesign #DataModeling #Ecommerce #Pricing #Normalization #Denormalization #SQL

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


👑 @Database_Academy
🔵 عنوان مقاله
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
🔵 عنوان مقاله
reflects on this year's Google Summer of Code event

🟢 خلاصه مقاله:
در این مقاله، نگاهی دارد به رویداد Google Summer of Code امسال و تأثیر آن بر پروژه‌های متن‌باز، به ویژه از دیدگاه پایگاه داده‌های Postgres. این برنامه فرصت منحصر به فردی برای توسعه‌دهندگان جوان فراهم می‌کند تا با مشارکت در پروژه‌های متن‌باز، مهارت‌های خود را تقویت کرده و تجربه‌های ارزشمندی کسب کنند.

از دیدگاه پروژه Postgres، امسال شاهد مشارکت فعال و پروژه‌های متنوعی بودیم که توانستند بر بهبود عملکرد، امنیت و امکانات پایگاه داده‌های ما تاثیرگذار باشند. شرکت‌کنندگان با تلاش و نوآوری‌های خود، به توسعه ویژگی‌های جدید و رفع مشکلات موجود کمک کردند، و این همکاری‌ها نشان‌دهنده قدرت جامعه متن‌باز در پیشبرد فناوری است.

در پایان، این رویداد نه تنها فرصت‌هایی برای پیشرفت فنی فراهم می‌کند، بلکه باعث ایجاد ارتباط و تبادل دانش میان توسعه‌دهندگان می‌شود. مشارکت در برنامه‌هایی مانند Google Summer of Code، هم برای فرد و هم برای پروژه‌ها، بسیار ارزشمند است و بی‌تردید در رشد و توسعه پروژه‌های متن‌باز نقش موثری دارد.

#Postgres #GoogleSummerOfCode #پروژه‌های_متن_باز #توسعه_فناوری

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


👑 @Database_Academy
🔵 عنوان مقاله
Introducing pg_clickhouse: A Postgres Extension for Querying ClickHouse

🟢 خلاصه مقاله:
پروژه جدیدی با نام pg_clickhouse معرفی شده است که یک افزونه برای پایگاه داده‌ی پستگرس (Postgres) است و امکان اجرای مستقیم و شفاف استعلام‌های تحلیلی روی سیستم ClickHouse را فراهم می‌کند.

ClickHouse یکی از سیستم‌های محبوب متن‌باز برای تحلیل داده‌های بزرگ و OLAP است که به خاطر سرعت بالا و کارایی‌اش در پردازش حجم عظیمی از اطلاعات شناخته شده است. این افزونه به توسعه‌دهندگان و کارشناسان داده‌ها اجازه می‌دهد تا بدون نیاز به مهاجرت یا استفاده از ابزارهای جداگانه، استعلام‌های تحلیلی خود را مستقیماً از محیط پستگرس اجرا کنند و نتیجه‌های سریع‌تری بگیرند.

با این ابزار، فرآیند تحلیل داده‌ها بسیار ساده‌تر، سریع‌تر و کارآمدتر می‌شود، چون می‌توان از قدرت هر دو سیستم بهره‌مند شد و عملیات داده‌ای پیچیده را به راحتی مدیریت کرد. این توسعه، یک راه حل مؤثر برای کسانی است که نیاز به تحلیل سریع و همزمان در پروژه‌های بزرگ داده دارند و می‌خواهند انعطاف‌پذیری و کارایی سیستم‌هایشان را افزایش دهند.

#تحلیل_داده #Postgres #ClickHouse #پایگاه_داده

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


👑 @Database_Academy
🔵 عنوان مقاله
How to Fix a Common Cause of Slow Queries in Postgres

🟢 خلاصه مقاله:
در دنیای مدیریت پایگاه‌های داده، یکی از مشکلات رایج که معمولا باعث کاهش سرعت اجرای کوئری‌ها می‌شود، نبود ایندکس‌های مناسب روی کلیدهای خارجی است. این مشکل، اگرچه در نگاه اول ساده و قابل حل به نظر می‌رسد، بسیاری از توسعه‌دهندگان و مدیران پایگاه داده را به سمت اتلاف زمان و منابع بی‌دلیل سوق می‌دهد. در واقع، این نقص کوچک اما تاثیرگذار، می‌تواند باعث شود کوئری‌هایی که باید سریع انجام شوند، به آهستگی و با تأخیر اجرا شوند و عملکرد کلی سیستم کاهش یابد.

در این مقاله، یک مهندس پایگاه داده در شرکت Render، به یکی از رایج‌ترین علل کاهش سرعت در کوئری‌های Postgres می‌پردازد: نبود ایندکس مناسب روی کلیدهای خارجی. این مشکل به سادگی قابل تشخیص است و با کمی توجه و اقدام، می‌توان به راحتی آن را برطرف کرد. افزودن ایندکس‌های مناسب می‌تواند تفاوت چشمگیری در زمان پاسخگویی پایگاه داده ایجاد کند و عملکرد کلی سیستم را بهبود بخشد، بنابراین شناسایی و رفع این مشکل از اهمیت ویژه‌ای برخوردار است.

همانطور که مشاهده می‌کنید، نداشتن ایندکس‌های لازم در جداول مرتبط، زمانی که کوئری‌های پیچیده یا بار زیاد درخواست داده می‌شود، بهره‌وری سیستم را به شدت کاهش می‌دهد. این موضوع، مخصوصاً در برنامه‌هایی که نیازمند سرعت بالا و پاسخ سریع هستند، می‌تواند مشکل‌ساز باشد. بنابراین، بررسی و اطمینان از وجود ایندکس‌های بهینه، یکی از مهم‌ترین وظایف مدیران و توسعه‌دهندگان پایگاه داده است تا از بروز این نوع مشکلات جلوگیری کنند و در صورت نیاز، سریع اقدام به رفع آن نمایند.

برای حل این مشکل، کافی است ایندکس‌های مناسب را بر روی کلیدهای خارجی در جداول مربوطه ایجاد کنید. این کار به پایگاه داده کمک می‌کند تا درخواست‌ها را سریع‌تر پردازش کند و نیاز به جستجوهای زمان‌بر در مسیرهای طولانی کاهش یابد. با این اقدام ساده، شاهد بهبود قابل توجه در عملکرد کوئری‌های خود خواهید بود و فرآیندهای برنامه‌نویسی و مدیریت داده‌ها را بهینه‌تر انجام خواهید داد.

#پایگاه_داده #Postgres #بهبود_عملکرد #ایندکس

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


👑 @Database_Academy
🔵 عنوان مقاله
The Hidden Cost of Postgres Arrays

🟢 خلاصه مقاله:
استفاده از نوع داده آرایه در جداول پایگاه داده‌های پس‌گرس می‌تواند امکانات فوق‌العاده‌ای فراهم کند؛ اما در کنار این مزایا، مشکلات پنهانی نیز ممکن است ظاهر شوند که در نگاه اول دیده نمی‌شوند. اگر تاکنون از آرایه‌ها در طراحی بانک اطلاعاتی خود بهره برده‌اید اما به‌طور عمیق درباره معایب و محدودیت‌هایشان فکر نکرده‌اید، نکات ارائه‌شده توسط رادیم ممکن است برایتان راهگشا باشد. این نکات کمک می‌کنند تا در محیط‌های تولید، از وقوع مشکلات نوظهور و پیچیده جلوگیری کنید و به بهبود کارایی و پایداری سیستم‌های خود بیفزایید.

در واقع، درک کامل هزینه‌های پنهان این نوع داده‌ها می‌تواند تفاوت قابل ملاحظه‌ای در فرآیند توسعه و نگهداری پروژه‌ها ایجاد کند. استفاده نادرست یا ناآگاهانه از آرایه‌ها ممکن است منجر به مشکلات مقیاس‌پذیری، سختی در نگهداری، یا کارایی پایین در عملیات‌های پایگاه داده شود. بنابراین، داشتن دیدی جامع نسبت به مزایا و معایب این فناوری، اهمیت زیادی دارد تا بتوانید تصمیم‌های هوشمندانه‌تری در طراحی سیستم‌های بانک اطلاعاتی خود اتخاذ کنید.

در نهایت، بررسی‌های عمیق‌تر و آگاهی از این نکات پنهان باعث می‌شود که بتوانید بهره‌وری و عملکرد پایگاه داده‌های خود را بهبود بخشید و پروژه‌های پایدارتری بسازید. این تحلیل‌ها و آگاهی‌ها ابزارهای ارزشمندی هستند که می‌توانند راهنمای شما در مسیر بهینه‌سازی سیستم‌های داده‌محور باشند.

#پایگاه_داده #Postgres #آرایه_در_بانک_اطلاعاتی #توسعه_نرم‌افزار

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


👑 @Database_Academy
🔵 عنوان مقاله
Don't Give Postgres Too Much Memory (Even On Busy Systems)

🟢 خلاصه مقاله:
در دنیای مدیریت پایگاه‌های داده، یکی از اشتباهات رایج این است که مدیران هنگام راه‌اندازی یا نگهداری سیستم، مقدار زیادی حافظه را به پایگاه داده Postgres اختصاص می‌دهند، حتی زمانی که سرورها تحت فشار کار زیادی قرار دارند. شاید تصور کنید اختصاص دادن حافظه بیشتر می‌تواند عملکرد سیستم را بهبود بخشد، اما در واقع، این کار ممکن است برعکس عمل کند و باعث کاهش کارایی شود.

پروژه‌های مبتنی بر هوش مصنوعی، با حجم بالای داده و نیاز مبرم به پاسخ‌گویی سریع، باعث شده است بسیاری از توسعه‌دهندگان و مدیران سیستم به سمت استفاده از پایگاه‌های داده مانند Postgres برگردند. این موضوع اهمیت مدیریت منابع در پایگاه‌های داده را بیشتر می‌کند، زیرا بیش‌ازحد اختصاص دادن حافظه می‌تواند منجر به اثرات منفی مانند کمبود حافظه عملیاتی و کاهش عملکرد کلی سیستم شود. در نتیجه، مهم است که در تخصیص منابع حافظه، تعادل برقرار شود تا این پایگاه داده به بهترین شکل ممکن و بدون ایجاد تداخل با سایر فرآیندهای سیستم، عمل کند.

در نتیجه، توصیه می‌شود که مدیران سیستم، به جای صرف‌نظر کردن از محدودیت‌ها و اختصاص منابع بیش‌ازحد، استراتژی‌های بهینه‌سازی و تنظیم دقیق پارامترهای Postgres را در نظر بگیرند. این رویکرد نه تنها موجب بهره‌وری بهتر سیستم می‌شود، بلکه از بروز مشکلات مرتبط با مصرف بیش‌ازحد حافظه جلوگیری می‌کند و سیستم‌هایی پایدار و سریع‌تر را ایجاد می‌کند. پس بهتر است که مدیریت منابع را با دقت انجام دهید و هرگز حافظه را بیش‌ازحد به پایگاه داده اختصاص ندهید، حتی در سیستم‌های پُرکار.

#پایگاه_داده #Postgres #مدیریت_حافظه #بهینه‌سازی

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


👑 @Database_Academy
🔵 عنوان مقاله
Building Personalized Search Without Leaving Postgres

🟢 خلاصه مقاله:
در دنیای امروز، ارائه نتایج جستجوی شخصی‌سازی شده برای کاربران اهمیت بسیاری پیدا کرده است. به جای ارائه نتایج عمومی و ثابت، سیستم‌های توصیه‌گر باید بتوانند بر اساس ترجیحات، تاریخچه جستجو و علایق هر کاربر، محتوا را به شکل مختص به هر فرد ارائه دهند. این رویکرد نه تنها تجربه کاربری را بهبود می‌بخشد بلکه نرخ تعامل و رضایت کاربران را نیز افزایش می‌دهد. در این مقاله، راهنمای عملی و گام به گام برای ساخت یک موتور پیشنهاد شخصی‌سازی شده با استفاده از پایگاه داده پرکاربرد و محبوب، یعنی Postgres، ارائه شده است.

در ابتدا، اهمیت استراتژی‌های مختلف در پیاده‌سازی سیستم‌های پیشنهاد شخصی مطرح می‌شود. یکی از رویکردهای رایج، بهره‌گیری از تحلیل‌های مبتنی بر تاریخچه حرکات و ترجیحات کاربران است. این کار نیازمند طراحی ساختارهای داده و الگوریتم‌های مناسب است که بتوانند اطلاعات مربوط به ترجیحات را پردازش کنند و پیشنهادهای مرتبط را ارائه دهند. نکته مهم این است که با بهره‌گیری از قابلیت‌های پیشرفته PostgreSQL، مانند توابع تحلیلی، جداول موقت و عملیات پیچیده بر روی داده‌ها، می‌توان یک سیستم پیشنهاد کارآمد و مقیاس‌پذیر ساخت.

در ادامه، روش‌های پیاده‌سازی این سیستم شرح داده می‌شود. ابتدا، داده‌های مورد نیاز مانند تاریخچه فعالیت‌های کاربران، دسته‌بندی‌های محتوا و امتیازدهی‌ها جمع‌آوری و سازماندهی می‌شود. سپس، با کمک کوئری‌های SQL و توابع مخصوص، الگوهای ترجیحات کاربر استخراج شده و بر اساس آن، پیشنهادهای شخصی‌سازی شده شکل می‌گیرند. همچنین، بهینه‌سازی عملکرد و کاهش بار سرور در این فرآیند اهمیت زیادی دارد، که با استفاده از شاخص‌ها و عملیات‌های پیش‌پردازش می‌توان آن‌ها را تضمین کرد.

در پایان، مزایای استفاده از PostgreSQL برای پیاده‌سازی سیستم‌های پیشنهاد شخصی‌سازی شده توضیح داده شده است. این سیستم نه‌تنها از پایداری و امنیت بالا برخوردار است، بلکه به دلیل قابلیت‌های قدرتمندش، به راحتی می‌تواند با حجم بالای داده‌ها مواجه شود و پاسخگوی نیازهای تجاری و کاربران باشد. به این ترتیب، توسعه‌دهندگان و شرکت‌ها می‌توانند بدون نیاز به ابزارهای خارجی پیچیده، یک سیستم پیشنهاد پرکاربرد و موثر در داخل پایگاه داده خود پیاده‌سازی کنند.

در نهایت، این مقاله نمونه عملی منحصربه‌فرد و قابل اجرا است که نشان می‌دهد چگونه با بهره‌گیری هوشمندانه از قابلیت‌های PostgreSQL، می‌توان سیستم‌های پیشنهاد شخصی‌سازی شده را ساخت و پیاده‌سازی کرد، بدون نیاز به ابزارهای پیچیده و خارج از پایگاه داده.

#پیشنهاد_شخصی_سازی #پایگاه_داده #Postgres #توسعه_نرم‌افزار

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


👑 @Database_Academy
🔵 عنوان مقاله
significantly updated its site

🟢 خلاصه مقاله:
این وب‌سایت به‌طور قابل توجهی به‌روزرسانی شده است و اکنون نقش مهمی در حمایت از برندها و علائم تجاری مختلف مربوط به Postgres دارد. در این بخش، توضیح داده می‌شود چگونه این سازمان می‌تواند در حفاظت از نام‌ها و نشان‌های تجاری مربوط به Postgres نقش داشته باشد و چگونه جامعه و توسعه‌دهندگان می‌توانند در این مسیر از آن حمایت کنند. این تغییرات نشانگر تعهد مستمر این مجموعه به حفظ و تقویت هویت و اعتبار پروژه‌های مرتبط با Postgres است، و همه علاقه‌مندان و فعالان در این حوزه را تشویق می‌کند تا در این فعالیت‌ها سهیم باشند و کنار این حرکت مهم بایستند.

#Postgres #حمایت_از_برند #توسعه_پایدار #مشارکت

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


👑 @Database_Academy
🔵 عنوان مقاله
When upserts don't update but still write: Debugging Postgres performance at scale (11 minute read)

🟢 خلاصه مقاله:
در هنگام ایجاد و بروزرسانی داده‌ها، گاهی اوقات مشاهده می‌شود که عملیات آپ‌سرت به‌درستی انجام نمی‌شود اما همچنان داده‌ها نوشته می‌شوند. این موضوع در ‎Postgres‎، وقتی اتفاق می‌افتد که قصد دارید رکوردهای موجود را با استفاده از دستور ‎UPSERT‎ بروزرسانی کنید، اما در عین حال عملکرد سیستم کاهش پیدا می‌کند و تعداد نوشته‌ها و همزمان‌سازی‌های WAL به طور غیرمنتظره‌ای افزایش می‌یابد.

در یک تجربه عملی، تیم Datadog هنگام پاک‌سازی میلیونی میزبان‌های موقتی متوجه مشکلی در ‎Postgres‎ شد. در این فرآیند، عملیات ساده‌ای برای به‌روزرسانی زمان مشاهده آخرین بار در سرویس داده شد؛ ولی این عمل منجر به دو برابر شدن تعداد نوشتن‌های روی دیسک و چهار برابر شدن همزمان‌سازی‌های WAL شد. بررسی‌های بعدی نشان داد که مشکل اصلی از نحوه مدیریت عملیات ‎ON CONFLICT DO UPDATE‎ ناشی می‌شود، زمانی که این دستور همواره قفل ردیف مورد نظر را می‌گیرد و حتی در مواردی که داده تغییری نمی‌کند، عملیات نوشتن در WAL انجام می‌گیرد.

راه‌حل این مشکل، جلوگیری از قفل شدن در مواردی است که آپ‌سرت بدون تغییر داده‌ها انجام می‌شود. به عبارت دیگر، باید راهی پیدا کنیم که در صورت عدم نیاز به بروزرسانی، عملیات قفل و نوشته انجام نگیرد تا کارایی سیستم حفظ شود و فشار روی دیسک و WAL کاهش یابد. این رویکرد باعث می‌شود که سیستم پایدارتر و بهینه‌تر عمل کند، مخصوصاً در فرآیندهای بزرگ و مقیاس‌پذیر.

#پایگاه_داده #Postgres #بهینه‌سازی #عملکرد

🟣لینک مقاله:
https://www.datadoghq.com/blog/engineering/debugging-postgres-performance/?utm_source=tldrdata


👑 @Database_Academy
🔵 عنوان مقاله
Rotating Postgres Credentials in Production Without Downtime

🟢 خلاصه مقاله:
در فرآیند مدیریت پایگاه‌های داده، مخصوصاً در محیط‌های تولیدی، نگهداری و به‌روزرسانی اطلاعات اعتبارسنجی کاربران اهمیت زیادی دارد. یکی از چالش‌های رایج، تغییر و به‌روزرسانی مجوزها و اطلاعات کاربری بدون توقف سرویس است. این مسئله به منظور جلوگیری از اختلال در دسترسی کاربران و حفظ عملیات بی‌وقفه سیستم، نیازمند راهکارهای فنی دقیق و امن است.

برای این منظور، تیم‌های توسعه و مدیران سیستم به راهکارهایی نیاز دارند که امکان چرخش مجوزهای کاربری در دیتابیس‌های Postgres را بدون نیاز به توقف سرویس فراهم کند. این فرآیند، به ویژه در محیط‌های حساس و پرکاربرد، نشان‌دهنده اهمیت برنامه‌ریزی دقیق و استفاده از ابزارهای مناسب است تا عملکرد سیستم در حین تعویض مجوزها ثابت بماند و هیچ وقفه‌ای ایجاد نشود.

در آینده، با عرضه نسخه جدید Postgres 19، امکانات جدیدی مانند توابع pg_get_*_ddl() ارائه خواهد شد که امکان مدیریت خودکار و امن‌تر مجوزها و اسناد دیتابیسی را فراهم می‌آورد. این ویژگی‌ها به مدیران کمک می‌کنند تا فرآیندهای نگهداری و بروزرسانی را ساده‌تر، سریع‌تر و بدون مشکل انجام دهند، بدون آنکه نیاز به توقف سیستم باشد.

در نتیجه، داشتن راهکارهای مؤثر برای چرخش مجوزهای کاربری در دیتابیس‌ها و بهره‌برداری از قابلیت‌های جدید نسخه‌های آینده، کلید حفظ عملیات روان و امن در محیط‌های تولید است. این استراتژی‌ها نه تنها به کاهش ریسک‌های احتمالی کمک می‌کنند بلکه بهره‌وری سیستم را نیز بالا می‌برند و اطمینان از استمرار خدمات را تضمین می‌کنند.

#مدیریت_دیتابیس #Postgres #امنیت_سایبر #توسعه_نرم‌افزار

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


👑 @Database_Academy
🔵 عنوان مقاله
pg_column_tetris: Enforce Optimal Column Alignment to Minimize Row Padding Waste

🟢 خلاصه مقاله:
در بانک‌های اطلاعاتی پستگرس، ستون‌ها بر اساس مرزهای خاصی به بایت‌ها هم‌راستا می‌شوند تا کارایی بهینه حفظ شود. این فرآیند شامل افزودن فضاهای خالی یا «پدینگ» است که برای پر کردن فضای خالی و رسیدن به مرزهای تعیین‌شده مورد نیاز است. اما این پدینگ گاهی منجر به هدر رفتن فضای ذخیره‌سازی می‌شود و اثر منفی بر کارایی و بهینه‌سازی پایگاه داده دارد.

با افزونه pg_column_tetris، می‌توان میزان فضای تلف شده به دلیل پدینگ در جداول موجود را مشاهده کرد و یا هشدار گرفت که جدول‌هایی با چیدمان نابه‌جا و غیراقتصادی ستون‌ها ایجاد نکنید. این ابزار نه تنها به شناسایی و کاهش هدررفت فضای بیهوده کمک می‌کند، بلکه می‌تواند در فرآیند طراحی جداول جدید نیز کارایی و بهینگی سیستم شما را تضمین کند. به این ترتیب، با رعایت چیدمان صحیح ستون‌ها، بهره‌وری و سرعت اجرای پایگاه داده به شکل قابل توجهی بهبود می‌یابد.

#پایگاه_داده #بهینگی_فضا #Postgres #پرده‌برداری

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


👑 @Database_Academy
🔵 عنوان مقاله
a myriad of sources and destinations

🟢 خلاصه مقاله:
در دنیای امروز، حجم عظیمی از منابع و مقصدهای مختلف برای انتقال داده‌ها وجود دارد که نیازمند روشی کارآمد و قابل اطمینان برای مدیریت آنها است. یکی از نکات کلیدی این است که بتوان بدون نیاز به نوشتن کد، این مسیرها را مدیریت و ارتباطات را برقرار کرد، مخصوصاً در سیستم‌های پایگاه داده مانند Postgres، که یکی از محبوب‌ترین سیستم‌های مدیریت پایگاه داده است. این قابلیت به تیم‌های فنی امکان می‌دهد تا فرآیندهای انتقال و ترافیک داده را به سادگی و با کمترین خطا انجام دهند، بدون اینکه نیاز به برنامه‌نویسی پیچیده داشته باشند.

در این رویکرد، ابزارها و پلتفرم‌های مخصوص فراهم شده است که امکان ارتباط میان منابع داده مختلف و مقصدهای متنوع را بدون نیاز به توسعه کد فراهم می‌کنند. این امر نه تنها فرآیندهای انتقال داده را ساده‌تر می‌کند، بلکه سرعت و انعطاف‌پذیری سیستم‌ها را نیز افزایش می‌دهد، که برای بسیاری از کسب‌وکارها اهمیت ویژه‌ای دارد. استفاده از چنین روش‌هایی، به ویژه در کنار سیستم‌های پایگاه داده پیشرفته مانند Postgres، می‌تواند بهره‌وری را به شکل قابل توجهی ارتقاء دهد.

از این رو، بهره‌گیری از راه‌حل‌های بدون نیاز به کد در مدیریت منابع و مقصدهای داده، تحولی بزرگ در دنیای فناوری اطلاعات است. این امر به تیم‌ها امکان می‌دهد تمرکز خود را بر روی توسعه و بهبود استراتژی‌های تجاری قرار دهند و از صرف وقت و منابع زیاد برای تنظیم و نگهداری فرآیندهای پیچیده صرفه‌جویی کنند.

#مدیریت_داده #پایگاه_داده #Postgres #بدون_کد

🟣لینک مقاله:
https://github.com/bruin-data/ingestr#supported-sources--destinations


👑 @Database_Academy
🔵 عنوان مقاله
Absurd: A Postgres-Native Durable Workflow System

🟢 خلاصه مقاله:
سیستم Absurd، یک سیستم گردش کار مقاوم در برابر خطا و مبتنی بر پایگاه داده PostgreSQL، است که به عنوان «ساده‌ترین سیستم اجرای مداوم و مقاوم در برابر خطا» توصیف می‌شود. این سامانه بر پایه یک فایل SQL طراحی شده است و وظیفه مدیریت مجموعه‌ای از فعالیت‌ها، صف‌ها و کارگران را بر عهده دارد. هدف آن ارائه راهکاری است که بتواند عملیات چندمرحله‌ای را به صورت پیوسته و بدون نگرانی از توقف یا خطا اجرا کند.

این سیستم به گونه‌ای طراحی شده است که به راحتی قابل پیاده‌سازی و استفاده در پروژه‌های مختلف باشد. برای سهولت در توسعه و ادغام، SDKهای مخصوصی برای زبان‌های برنامه‌نویسی محبوب نظیر تایپ‌اسکریپت، پایتون و گو وجود دارد. با استفاده از این ابزارهای توسعه، برنامه‌نویسان می‌توانند به راحتی گردش‌های کاری پیچیده را در پروژه‌های خود راه‌اندازی و مدیریت کنند، بدون آن‌که نیاز به زیرساخت‌های پیچیده یا موتورهای اجرای جداگانه داشته باشند.

در نهایت، Absurd با بهره‌گیری از قابلیت‌های اهل‌من در Postgres، بستری قدرتمند، مستحکم و کاربرپسند برای پیاده‌سازی گردش‌های کاری مقاوم ارائه می‌دهد که میتواند در هر پروژه‌ای که نیازمند اجرای چندمرحله‌ای و پایدار است، نقش مهمی ایفا کند.

#پایگاه_داده #Postgres #سیستم_گردش_کار #پروژه_مقاوم

🟣لینک مقاله:
https://earendil-works.github.io/absurd/


👑 @Database_Academy
🔵 عنوان مقاله
Multigres v0.1 Alpha: An 'Operating System' for Postgres

🟢 خلاصه مقاله:
یک سال پیش، شرکت Supabase اعلام کرد که قصد دارد فردی را استخدام کند که یکی از هم‌مؤسسان پروژه Vitess است تا روی توسعه سیستم خوشه‌بندی پایگاه داده‌ای با قابلیت مقیاس‌پذیری افقی برای پایگاه داده PostgreSQL کار کند. این پروژه، که در مرحله اول به عنوان نسخه آزمایشی عرضه شده است، نشان‌دهنده یک نگاه اولیه به چیزی است که در حال ساخت است. آنها در حال توسعه یک سیستم شبیه به Vitess، اما مختص PostgreSQL، هستند که می‌تواند امکانات گسترده‌تر و مقیاس‌پذیری بهتر برای این بانک اطلاعات محبوب را فراهم کند. این پروژه جدید، با هدف بهبود عملکرد و مدیریت حجم بالای داده‌ها در محیط‌های بزرگ، توجه بسیاری را جلب کرده است و نشان می‌دهد که چگونه ابزارهای متن‌باز و فناوری‌های نوین می‌توانند در کنار هم، سیستم‌های پایگاه داده قوی‌تر و مقیاس‌پذیرتری بسازند.

#پایگاه_داده #Postgres #مقیاس‌پذیری #فناوری

🟣لینک مقاله:
https://supabase.com/blog/multigres-v0-1-alpha


👑 @Database_Academy
🔵 عنوان مقاله
British Columbia, Time Zones, and Postgres

🟢 خلاصه مقاله:
منطقه‌ی بریتیش‌کلمبیا در ماه مارس به ساعتی ثابت و دائمی درون‌ساعت تابستانی تغییر یافته است، که این تصمیم نمونه‌ای از یک مشکل ظریف در مدیریت زمان در پایگاه‌های داده است. این تغییر خاص باعث بروز یک تله مخفی در هنگام استفاده از نوع داده‌ی timestamptz در سیستم‌های مبتنی بر پستگرس می‌شود. به طور خاص، زمانی که تاریخ‌های محلی آینده قبل از به‌روزرسانی داده‌های منطقه زمانی (tzdata) ذخیره شده باشند، ممکن است این تاریخ‌ها بازگردند و اشتباه یک ساعتی در نشان دادن زمان صحیح ایجاد شود.

برای جلوگیری از بروز چنین مشکلی، نیاز است که توسعه‌دهندگان و مدیران پایگاه داده موضوع تفاوت‌های منطقه زمانی و نحوه مدیریت تغییرات دائمی در زمان‌ها را بدانند و راهکارهای مناسب را پیاده‌سازی کنند. استفاده از روش‌های به‌روزرسانی منظم داده‌ها و پیروی از بهترین تمرین‌ها در کار با timestamptz می‌تواند این خطاهای غیرمنتظره را کاهش دهد. با درک بهتر این جزئیات، می‌توان از بروز خطاهای غیرقابل تصور در برنامه‌های زمانی جلوگیری کرد و داده‌های زمان واقعی صحیح و قابل اعتماد داشت.

در نهایت، مدیریت صحیح منطقه‌های زمانی در پایگاه‌های داده اهمیت ویژه‌ای دارد، به‌خصوص در مناطقی مانند بریتیش‌کلمبیا که تغییرات دائم در ساعات تابستانی دارند. این موضوع نکته‌ای حیاتی است برای تیم‌های توسعه و مدیران دیتابیس که می‌خواهند اطمینان پیدا کنند اطلاعات زمان در سیستم‌هایشان دقیق باقی می‌ماند و از وقوع خطاهای ناخواسته جلوگیری کنند.

#مدیریت_زمان #postgres #منطقه‌زمان #دیتابیس

🟣لینک مقاله:
https://www.crunchydata.com/blog/british-columbia-and-time-zone-changes


👑 @Database_Academy
🔵 عنوان مقاله
New SQL Standard Features with Postgres Implications

🟢 خلاصه مقاله:
در جدیدترین نشست‌های استانداردسازی زبان SQL، توسعه‌دهندگان و اعضای کمیته استانداردهای SQL به بحث و بررسی ویژگی‌های جدیدی پرداختند که تأثیرات قابل توجهی بر پایگاه‌های داده مدرن، از جمله پستگرس، دارد. یکی از مهم‌ترین این ویژگی‌ها، افزودن قابلیت QUALIFY بود که به کاربران امکان می‌دهد نتایج فیلتر شده پس از اعمال توالی‌های مرتب‌سازی و پنجره‌ای‌ها، به راحتی مشخص و محدود شوند. این ویژگی آینده‌ای روشن برای نوشتن کوئری‌های پیچیده و کارآمد تر دارد.

در کنار QUALIFY، توسعه‌دهندگان همچنین در مورد امکانات جدید برای دستورات INSERT صحبت کردند که قرار است فرآیند افزودن داده‌ها را ساده‌تر و انعطاف‌پذیرتر کند. این تغییرات در استاندارد، فرصت‌هایی را برای بهبود کارایی و سهولت توسعه و نگهداری کوئری‌ها در پایگاه‌های داده ایجاد می‌کند، و انتظار می‌رود که پسگرس بتواند از این قابلیت‌ها بهره‌مند شده و به عنوان یک پایگاه داده قدرتمند، امکانات بیشتری در اختیار کاربران قرار دهد.

در نتیجه، این تحولات در استانداردهای SQL نه تنها بر روند توسعه پایگاه‌های داده تأثیر می‌گذارد، بلکه با افزودن ویژگی‌های نوآورانه، پتانسیل‌های جدیدی برای توسعه‌دهندگان و مدیران پایگاه داده فراهم می‌آورد تا داده‌های خود را با کارایی و دقت بیشتری مدیریت کنند. آینده SQL و پایگاه‌های داده، با این تغییرات، پر از امکانات نوین و فرصت‌های پیشرفت است.

#Postgres #SQLStandard #پایگاهداده #توسعه

🟣لینک مقاله:
https://peter.eisentraut.org/blog/2026/06/30/waiting-for-sql-202y-stockholm-meeting-report


👑 @Database_Academy
🔵 عنوان مقاله
44 Talks from POSETTE 2026

🟢 خلاصه مقاله:
مایکروسافت تمام سخنرانی‌های کنفرانس مجازی POSETTE 2026 خود را در یوتیوب منتشر کرده است. این رویداد، فرصتی منحصر به فرد برای علاقه‌مندان به پایگاه داده و فناوری‌های متن‌باز بود تا با جدیدترین تحولات و نوآوری‌ها در حوزه Postgres آشنا شوند.

در این کنفرانس، کارشناسان و توسعه‌دهندگان برجسته در مورد موضوعاتی مانند بهبود عملکرد، امنیت، مقیاس‌پذیری و امکانات جدید در پایگاه داده‌های Postgres سخن گفته‌اند. شرکت‌کنندگان از فرصت شرکت در این برنامه‌های آموزشی و تبادل نظر بهره‌مند شدند و می‌توانند حالا از طریق لینک‌های موجود، به تمامی صحبت‌ها دسترسی داشته باشند و به روزرسانی‌های ایجاد شده در این حوزه پررونق را مشاهده کنند.

این مجموعه سخنرانی‌ها، بخش مهمی از روند توسعه و آینده‌نگری در زمینه پایگاه داده‌های متن‌باز را نشان می‌دهد و برای هر فردی که در این حوزه فعالیت می‌کند، منبعی ارزشمند و غنی محسوب می‌شود. حالا، علاقه‌مندان می‌توانند با تماشای این سخنرانی‌ها، آخرین دستاوردها و فناوری‌های نوین را به راحتی درک و بهره‌برداری کنند.

#پایگاه_داده #Postgres #تکنولوژی #مقالات

🟣لینک مقاله:
https://www.youtube.com/playlist?list=PLOBORF8Y_l8g


👑 @Database_Academy
🔵 عنوان مقاله
Why PgDog Built Yet Another Postgres Connection Pooler

🟢 خلاصه مقاله:
چرا PgDog دوباره یک مجموعه ارتباط (Connection Pooler) برای پایگاه‌داده Postgres ساخته است؟ هدف اصلی این توسعه، کاهش محدودیت‌ها و تداخل‌های کاربر در فرآیند مدیریت اتصالات است تا تجربه‌ای بی‌وقفه و بدون مشکل فراهم کند. یکی از تفاوت‌های مهم این مجموعه، نسبت به ابزارهایی مانند PgBouncer، در نگه داشتن کارکردهای خاصی مانند فرمان‌های SET و سیستم اطلاع‌رسانی LISTEN/NOTIFY در حالت تراکنش است. این قابلیت به کاربران اجازه می‌دهد تا در حین انجام تراکنش‌ها، همچنان از این امکانات استفاده کنند، که این امر بطور قابل توجهی انعطاف‌پذیری و کارایی سیستم را افزایش می‌دهد.
در نتیجه، PgDog با طراحی هوشمندانه و تمرکز بر نیازهای عملیاتی کاربران، نه تنها از محدودیت‌های معمول در مجموعه‌های ارتباطی می‌کاهد، بلکه تجربه کاربری بهتری را نیز فراهم می‌آورد و به توسعه‌دهندگان امکان می‌دهد بدون نگرانی از اختلال در عملیات‌های مربوط به اتصالات پایگاه‌داده، بهتر تمرکز کنند.
#پایگاه‌داده #Postgres #ارتباط #توسعه

🟣لینک مقاله:
https://pgdog.dev/blog/why-yet-another-connection-pooler


👑 @Database_Academy
🔵 عنوان مقاله
The Four Horsemen Behind Thousands of Postgres Outages

🟢 خلاصه مقاله:
دو هفته پیش، به پروژه‌ای به نام pgrust اشاره کردیم؛ این پروژه یک بازنویسی از پایگاه داده پرکاربرد Postgres است که با کمک هوش مصنوعی به زبان Rust توسعه یافته است. اکنون، این پروژه توانسته است تمامی تست‌های رگرسیون مربوط به Postgres را با موفقیت پشت سر بگذارد و به یک نسخه پایدار و بهبود یافته تبدیل شود. در این مقاله، خالق این پروژه درباره بزرگ‌ترین مشکلات و چالش‌هایی که قصد دارد آن‌ها را با بازنویسی جدید حل کند، توضیح می‌دهد.

در آغاز، باید به یکی از مهم‌ترین دلایلی که این پروژه را شکل داد اشاره کنیم: مشکلات مربوط به عملکرد و پایداری پایگاه داده در شرایط بارگذاری سنگین و مدیریت حجم گسترده اطلاعات. خرابی‌ها و قطعی‌هایی که در برخی موارد باعث توقف کامل سیستم می‌شد، همواره یکی از بزرگ‌ترین دردسرهای مدیران سیستم و توسعه‌دهندگان بود. این مسائل، نه تنها باعث اختلال در عملیات روزمره شد، بلکه اعتماد کاربران و شرکت‌ها را نسبت به این فناوری کاهش داد.

خالق پروژه pgrust معتقد است که مشکل اصلی در ساختار قدیمی و محدودیت‌های زبان C، که نسخه اصلی Postgres بر مبنای آن ساخته شده، قرار دارد. استفاده از زبان C، با وجود کارایی بالا، سبب بروز خطاهای حافظه و مشکلات مربوط به مدیریت منابع می‌شد که در نهایت منجر به ناپایداری سیستم می‌شد. او تصمیم گرفت با بازنویسی این سیستم در زبان Rust، نه تنها بهبودهای کارایی و امنیت را هدف قرار دهد، بلکه مشکلات رایج مرتبط با خطاهای حافظه و ناپایداری‌ها را نیز رفع کند.

در کنار این موارد، مشکلات مربوط به مقیاس‌پذیری و مدیریت تراکنش‌ها نیز از دیگر دغدغه‌هایی بود که در مسیر توسعه پروژه وجود داشت. وظایف سنگین و تراکنش‌های هم‌زمان در پایگاه‌های داده قدیمی، باعث کندی پاسخگویی سیستم و افزایش احتمال بروز خطاهای همزمانی می‌شد. راهکارهای جدید در نسخه بازنویسی شده قرار است این محدودیت‌ها را برطرف و امکان مدیریت بیشتر تراکنش‌های هم‌زمان را فراهم کند، که این امر می‌تواند تاثیر مستقیمی بر بهبود عملکرد و کارایی سیستم داشته باشد.

در مجموع، پروژه pgrust نمونه‌ای است از تلاش برای حل مهم‌ترین مشکلات پایگاه داده Postgres، با امید به اینکه نسخه جدید، سیستم پایدارتر، امن‌تر و مقیاس‌پذیرتری را برای کاربران فراهم کند. این تلاش نشان می‌دهد که با نوآوری و بهره‌گیری از فناوری‌های نوین، می‌توان به سمت توسعه سیستم‌هایی پیشرفته‌تر و کارآمدتر حرکت کرد.

#پایگاه_داده #Postgres #توسعه_نرم_افزار #امنیت

🟣لینک مقاله:
https://malisper.me/the-four-horsemen-behind-thousands-of-postgres-outages/


👑 @Database_Academy