Database Labdon
873 subscribers
36 photos
3 videos
1 file
886 links
🕸 Database Academy

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
PGSync 5.0: Postgres to ElasticSearch/OpenSearch Syncing

🟢 خلاصه مقاله:
PGSync 5.0 یک میان‌افزار برای همگام‌سازی داده‌های Postgres با ElasticSearch/OpenSearch است. این ابزار تغییرات دیتابیس را به‌صورت لحظه‌ای دریافت می‌کند و آن‌ها را به اسناد ساخت‌یافته JSON تبدیل کرده و در ایندکس‌های جست‌وجو می‌نویسد. هدف آن کاهش پیچیدگی ETL سفارشی، پایداری و تاخیر پایین در به‌روزرسانی ایندکس‌ها است. PGSync از الگوهایی مثل backfill اولیه، استریم‌ تغییرات، denormalization، نگاشت انعطاف‌پذیر جدول‌به‌سند و upsertهای idempotent پشتیبانی می‌کند. در نسخه ۵ تمرکز بر کارایی، سادگی پیکربندی و سازگاری یکپارچه با ElasticSearch و OpenSearch است تا مسیر پایدار و سریعی از جدول‌های Postgres به اسناد قابل جست‌وجو فراهم شود.

#PGSync #Postgres #ElasticSearch #OpenSearch #CDC #SearchIndexing #DataSync #RealTime

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


👑 @Database_Academy
🔵 عنوان مقاله
PlanetScale for Postgres is Now GA

🟢 خلاصه مقاله:
PlanetScale اعلام کرد که PlanetScale for Postgres به مرحله GA رسیده و اکنون برای همه کاربران در دسترس است. این حرکت پس از آن انجام شد که شرکت در ماه جولای ورود خود به فضای PG را اعلام کرد و مجموعه‌ای از بنچمارک‌ها را منتشر نمود. این سرویس تا امروز در فاز private preview بود و اکنون برای استفاده در محیط‌های تولیدی آماده اعلام شده است. به این ترتیب، تیم‌هایی که بر Postgres تکیه دارند می‌توانند از پیشنهاد جدید PlanetScale استفاده کرده و آن را در مقیاس عملیاتی امتحان کنند.

#PlanetScale #Postgres #PG #Database #Cloud #GA #MySQL #DevOps

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


👑 @Database_Academy
🔵 عنوان مقاله
Building a Dev Experience for Postgres in VS Code

🟢 خلاصه مقاله:
مایکروسافت با حضور Rob Emanuele در پادکست Talking Postgres به میزبانی Claire Giordano درباره ساخت یک تجربه توسعه‌دهنده برای Postgres در VS Code صحبت می‌کند. محور گفتگو، افزونه تازهٔ «IDE for Postgres» است که اوایل امسال توسط Microsoft منتشر شد و هدفش آوردن کارهای روزمرهٔ پایگاه‌داده به دل محیط آشنای VS Code و کاهش جابه‌جایی بین ابزارهاست. در این قسمت به انگیزه‌ها، چالش‌های رایج برنامه‌نویسان، نقش بازخورد جامعه، و مسیر آیندهٔ ابزار پرداخته می‌شود تا نشان دهد این افزونه چگونه گردش‌کار نوشتن و آزمون SQL و مدیریت تغییرات را ساده‌تر می‌کند.

#Postgres #VSCode #Microsoft #DeveloperExperience #TalkingPostgres #IDE #DatabaseTools #VSCodeExtension

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


👑 @Database_Academy
🔵 عنوان مقاله
How to Listen to Database Changes Through the WAL

🟢 خلاصه مقاله:
شنیدن تغییرات دیتابیس از طریق WAL در Postgres یک روش پایدار برای CDC است که بدون تریگر و پولینگ اضافه، رویدادهای INSERT/UPDATE/DELETE را با ترتیب مبتنی بر LSN و قابلیت بازیابی استریم می‌کند. راه‌اندازی شامل wal_level=logical، ساخت replication slot، انتخاب output plugin مثل pgoutput یا wal2json، گرفتن snapshot اولیه و ذخیره LSN برای پیشرفت مصرف‌کننده است. از منظر عملیاتی باید نگه‌داری WAL توسط replication slot، backpressure، تراکنش‌های بزرگ، تغییرات schema، و مدیریت failover و امنیت را پایش کنید و با طراحی آیدمپوتنت در مقصد، تحویل at-least-once را کنترل کنید. در مطالب مرتبط، Peter Ullrich به transaction pooling با Pgcat و قیود آن می‌پردازد، Phil Eaton سفر یک کوئری SQL را در Postgres از parse تا execution روایت می‌کند، و Umair Shahid مفهوم Dirty Pages، نقش background writer/checkpointer و اثر تنظیمات بر پایداری I/O را توضیح می‌دهد.

#Postgres #WAL #ChangeDataCapture #LogicalDecoding #Pgcat #SQL #DirtyPages #DatabaseInternals

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


👑 @Database_Academy
🔵 عنوان مقاله
A PGConf EU 2025 Trip Summary

🟢 خلاصه مقاله:
کنفرانس PGConf EU 2025 دو هفته پیش در Latvia برگزار شد و به‌عنوان رویداد اصلی Postgres در اروپا، جمع زیادی از متخصصان و فعالان جامعه را گرد هم آورد. Claire از پادکست Talking Postgres گزارشی مفصل از سفرش منتشر کرده که تجربه‌های او را هم به‌عنوان سخنران و هم نماینده Microsoft پوشش می‌دهد؛ از روند آماده‌سازی و ارائه، پرسش‌و‌پاسخ‌های فنی و گفت‌وگوهای راهرویی تا تعامل با شرکت‌ها و جامعه متن‌باز. او در کنار نکات کاربردی درباره برنامه‌ریزی، فضا و ریتم رویداد، به جنبه‌های اجتماعی و شبکه‌سازی هم پرداخته است. این گزارش با عکس‌های فراوان از محل برگزاری، شرکت‌کنندگان و حال‌وهوای شهر همراه است و در نهایت تصویری روشن از وضعیت پویای اکوسیستم Postgres در اروپا ارائه می‌کند.

#Postgres #PGConfEU #PostgreSQL #Microsoft #Database #OpenSource #Latvia #TechConference

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


👑 @Database_Academy
1
🔵 عنوان مقاله
PgManage 1.4: Web Tool for Database Management

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

#PgManage #Postgres #DatabaseManagement #OpenSource #WebTool #MySQL #SQLite #Oracle

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


👑 @Database_Academy
🔵 عنوان مقاله
A SQL Query's Roadtrip Through Postgres

🟢 خلاصه مقاله:
این مطلب با الهام از توضیحات Jesús Espino و Umair Shahid نشان می‌دهد یک پرس‌وجوی SQL در Postgres چگونه از مرحله دریافت و parse، به plan‌نویسی و سپس اجرا می‌رسد. Postgres با اتکا به optimizer مسیرهای دسترسی مناسب را انتخاب می‌کند و هنگام اجرا، داده‌ها را از طریق buffer manager به حافظه می‌آورد و با MVCC دید سازگار هر تراکنش را تضمین می‌کند. در مسیر نوشتن، ابتدا تغییرات در WAL ثبت می‌شوند و صفحات به‌روزشده در حافظه به «dirty pages» تبدیل می‌گردند؛ یعنی نسخه درون‌حافظه‌ای با نسخه روی دیسک تفاوت دارد. سپس background writer و checkpointer به‌تدریج این صفحات را روی دیسک می‌نویسند تا پایداری داده و بازیابی سریع پس از خطا ممکن شود. تنظیماتی مثل shared_buffers و پارامترهای مربوط به checkpoint و WAL روی تأخیر، توان عملیاتی و الگوی I/O اثر مستقیم دارند. برای توسعه‌دهندگان، انتخاب شاخص‌های مناسب، شکل‌دهی درست پرس‌وجوها و پایش با ابزارهایی مانند pg_stat_bgwriter و pg_buffercache به درک فشار نوشتن، نسبت صفحات dirty و کارایی حافظه کمک می‌کند.

#Postgres #SQL #DatabaseInternals #WAL #DirtyPages #QueryPlanner #Checkpoints #Performance

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


👑 @Database_Academy
🔵 عنوان مقاله
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