Database Labdon – Telegram
Database Labdon
836 subscribers
33 photos
3 videos
1 file
821 links
🕸 Database Academy

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
PL/Haskell 5.0: Use Haskell in Your SQL Functions

🟢 خلاصه مقاله:
خلاصه‌ای از PL/Haskell 5.0: این نسخه امکان نوشتن توابع SQL در Postgres با استفاده از زبان تابعی Haskell را فراهم می‌کند. با وجود غیر‌رویه‌ای بودن Haskell، کدها به‌گونه‌ای ارائه می‌شوند که Postgres بتواند آن‌ها را به‌عنوان توابع و رویه‌ها اجرا کند و شما منطق کاربردی را مستقیماً از داخل SQL فراخوانی کنید. در نسخه ۵.۰، پشتیبانی از انواع تاریخ و زمان اضافه شده است؛ بنابراین می‌توانید کارهای رایج مرتبط با داده‌های زمانی، مانند کار با timestampها، زمان‌بندی و محاسبات زمانی را داخل پایگاه‌داده و با اتکا به مزایای شفافیت و نوع‌محوری Haskell انجام دهید.

#Haskell #PostgreSQL #SQL #FunctionalProgramming #Database #PLHaskell #DateTime

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


👑 @Database_Academy
🔵 عنوان مقاله
Sanitizing SQL with SQL

🟢 خلاصه مقاله:
این مقاله یک تابع نمونه در PL/pgSQL معرفی می‌کند که SQL خام را می‌گیرد و نسخه‌ای Sanitized برمی‌گرداند تا اطلاعات هویتی حساس (PII) حذف یا ماسک شود. نتیجه این است که می‌توان کوئری‌ها را برای لاگ، دیباگ و اشتراک‌گذاری، بدون افشای داده‌های واقعی، امن‌تر کرد. چون این کار داخل PostgreSQL انجام می‌شود، ادغام آن با تریگرها، مسیرهای لاگ و کد موجود ساده است و نیاز به ابزار خارجی ندارد. البته این فقط یک اثبات ایده است و همه حالات و گویش‌های SQL را پوشش نمی‌دهد و ممکن است خطا یا هزینهٔ کارایی داشته باشد؛ بهبودهایی مثل توکنیزه‌کردن بهتر و قواعد پیکربندی‌پذیر پیشنهاد می‌شوند. پیام اصلی: می‌توان Sanitization را مستقیماً با خود SQL انجام داد و حریم خصوصی را حفظ کرد.

#SQL #PLpgSQL #PII #DataPrivacy #DatabaseSecurity #Logging #PostgreSQL

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


👑 @Database_Academy
1
🔵 عنوان مقاله
pg_ivm 1.13: Incremental View Maintenance (IVM) Extension

🟢 خلاصه مقاله:
pg_ivm 1.13 یک افزونه برای PostgreSQL است که رویکرد Incremental View Maintenance (IVM) را به کار می‌گیرد تا به‌جای بازمحاسبه کامل، فقط تغییرات لازم را روی materialized view اعمال کند. در مقایسه با REFRESH MATERIALIZED VIEW، این روش با به‌روزرسانی‌های افزایشی باعث کاهش زمان، مصرف منابع و قفل‌گذاری می‌شود و به‌ویژه برای پایگاه‌های داده حجیم، داشبوردهای تحلیلی و سناریوهای نزدیک به زمان واقعی مفید است.

#PostgreSQL #pg_ivm #IVM #MaterializedViews #DatabasePerformance #DataEngineering #IncrementalUpdates

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


👑 @Database_Academy
🔵 عنوان مقاله
several new contributors

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

#OpenSource #Contributors #Community #MajorContributors #Collaboration #Mentorship #ProjectGovernance #ReleasePlanning

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


👑 @Database_Academy
🔵 عنوان مقاله
pg_easy_replicate 0.4: Switch Databases with Minimal Downtime

🟢 خلاصه مقاله:
pg_easy_replicate 0.4 یک اورکستریتور مبتنی بر Ruby است که راه‌اندازی تکثیر منطقی بین دو پایگاه‌داده Postgres را ساده می‌کند و امکان سوییچ کنترل‌شده به دیتابیس جدید را با حداقل زمان توقف فراهم می‌سازد. به‌جای پیکربندی دستی publication و subnoscription و نظارت دستی بر snapshot اولیه و تأخیر، این ابزار مراحل حساس را هدایت و خودکار می‌کند.

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

این رویکرد برای ارتقا نسخه، جابه‌جایی به سخت‌افزار یا کلاود/منطقه جدید، یا بازآرایی داده‌ها بدون پنجره نگه‌داری طولانی ایده‌آل است. تکیه بر تکثیر منطقی امکان مهاجرت‌های بین‌نسخه‌ای و استقرار تدریجی تغییرات را فراهم می‌کند. همچنین به‌دلیل پیاده‌سازی با Ruby، ادغام آن در اسکریپت‌ها، runbookها و خطوط CI/CD آسان است و ریسک عملیات را کاهش می‌دهد.

#Postgres #LogicalReplication #Ruby #DatabaseMigration #ZeroDowntime #DevOps #SRE

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


👑 @Database_Academy
🔵 عنوان مقاله
pg_textsearch: True BM25 Ranking and Hybrid Retrieval

🟢 خلاصه مقاله:
با معرفی pg_textsearch، امکان رتبه‌بندی واقعی BM25 و Hybrid Retrieval به اکوسیستم Postgres می‌آید تا کیفیت جست‌وجوی تمام‌متن ارتقا یابد. Tiger Data که از عملکرد BM25 در ParadeDB تحت‌تأثیر قرار گرفته بود، به راهکاری نیاز داشت که مستقیماً روی زیرساخت Postgres خود اجرا کند. این قابلیت فعلاً به‌صورت پیش‌نمایش در Tiger Cloud ارائه شده و هنوز روشن نیست متن‌باز خواهد شد یا نه، هرچند امید می‌رود در دسترس عمومی و خود‌میزبان هم قرار گیرد. ترکیب رتبه‌بندی واژگانی BM25 با سیگنال‌های مکمل در Hybrid Retrieval می‌تواند دقت نتایج را بهبود دهد، آن هم بدون خروج از محیط آشنا و یکپارچه Postgres.

#Postgres #FullTextSearch #BM25 #HybridRetrieval #ParadeDB #TigerData #TigerCloud #OpenSource

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


👑 @Database_Academy
1
🔵 عنوان مقاله
Exploring Postgres to Parquet Archival for JSON Data with S3 Range Reads

🟢 خلاصه مقاله:
این مقاله یک الگوی بایگانی داده ارائه می‌کند: انتقال رکوردهای سرد JSON از Postgres به فایل‌های Parquet روی S3 برای کاهش هزینه و فشار عملیاتی، در حالی‌که امکان بازیابی سریع حفظ می‌شود. داده‌ها با کلیدهایی مثل tenant_id و تاریخ پارتیشن‌بندی می‌شوند، با ابزارهایی مانند pyarrow یا Spark به Parquet (با فشرده‌سازی Snappy/ZSTD و اندازه row group مناسب) تبدیل می‌گردند و در S3 با مسیرهای قابل پیش‌بینی ذخیره می‌شوند. برای بازیابی تند، با تکیه بر S3 Range Reads و متادیتای footer در Parquet فقط row group‌ها و column chunk‌های لازم خوانده می‌شود؛ اگر lookup کلیدی بسیار سریع نیاز باشد، کنار هر فایل Parquet یک index کوچک نگهداری می‌شود که id را به بایت‌رنچ‌های لازم نگاشت می‌کند. مسیر بازگردانی می‌تواند رکوردهای انتخابی را به Postgres برگرداند یا مستقیماً از S3 سرویس دهد؛ و موضوعاتی مانند رمزنگاری، نسخه‌بندی، lifecycle، و سنجش هزینه/کارایی نیز پوشش داده شده است.

#Postgres #Parquet #S3 #JSON #RangeReads #DataArchival #DataEngineering #AWS

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


👑 @Database_Academy
1
🔵 عنوان مقاله
Kafka is Fast, I'll Use Postgres

🟢 خلاصه مقاله:
الهام‌گرفته از پستی درباره استفاده از Postgres به‌جای Redis، نویسنده بررسی می‌کند آیا Postgres می‌تواند در بسیاری از سناریوهایی که معمولاً به Kafka فکر می‌کنیم «به‌قدر کافی خوب» باشد یا نه. نتیجه این است که Kafka برای مقیاس بسیار بالا، نگه‌داری طولانی‌مدت رویدادها، پخش به چندین مصرف‌کننده، و بازپخش تاریخچه انتخاب برتر است، اما هزینه عملیاتی و پیچیدگی بیشتری دارد. در مقابل، Postgres با الگوهایی مثل transactional outbox، صف مبتنی بر جدول با SKIP LOCKED، LISTEN/NOTIFY برای اعلام سبک، و حتی logical decoding برای جریان تغییرات، می‌تواند نیازهای متداول را با سادگی عملیاتی و تضمین‌های تراکنشی قوی پوشش دهد. البته محدودیت‌هایی مانند مدیریت دستی نگه‌داری و offset، محدودیت‌های LISTEN/NOTIFY، و برنامه‌ریزی برای بازپخش وجود دارد. جمع‌بندی: اگر نرخ رویداد متوسط، تعداد مصرف‌کننده کم، و سادگی عملیاتی اولویت دارد، Postgres انتخاب عملی است؛ و وقتی به پخش گسترده، بازپخش طولانی و توان عبوری بسیار بالا نیاز دارید، Kafka مناسب‌تر است.

#Postgres #Kafka #Redis #معماری_سیستم #پیام_محور #Outbox #EventDriven

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


👑 @Database_Academy
🔵 عنوان مقاله
Getting a Portable Setup for Postgres 18 on Windows

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

نویسنده توصیه می‌کند نسخه ZIP (قابل حمل) را دریافت و در یک پوشه مستقل استخراج کنید، سپس با initdb دایرکتوری data را با تنظیمات مناسب (مثل UTF8 و locale) بسازید. مدیریت سرور با pg_ctl انجام می‌شود و برای پورت یا مسیرها می‌توان از تنظیمات postgresql.conf یا پارامترهای خط فرمان استفاده کرد. برای سهولت، اسکریپت‌های start/stop و تنظیم PATH تنها در همان نشست پیشنهاد می‌شود تا چیزی در سیستم ثبت نشود.

اتصال با psql صورت می‌گیرد و در صورت نیاز می‌توان از ابزارهای گرافیکی مانند pgAdmin یا DBeaver بهره برد. راهنما بر امنیت پایه تأکید دارد: دسترسی پیش‌فرض محلی است و برای دسترسی شبکه‌ای باید pg_hba.conf و listen_addresses را با احتیاط تنظیم کنید. پشتیبان‌گیری با pg_dump انجام می‌شود و چون نصب سیستمی وجود ندارد، پاک‌سازی تنها با توقف سرویس و حذف پوشه انجام می‌گیرد. نتیجه، یک فرآیند تمیز، تکرارپذیر و واقعاً پرتابل برای Postgres 18 روی Windows است.

#PostgreSQL #Postgres #Windows #Portable #Database #SQL #DevEnvironment #Tutorial

🟣لینک مقاله:
https://postgresweekly.com/link/176023/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
🔵 عنوان مقاله
postgres-contrib.org

🟢 خلاصه مقاله:
postgres-contrib.org یک وبلاگ با رویکرد گردآوری هفتگی (اغلب هفتگی) است که مهم‌ترین مشارکت‌ها و تغییرات در پروژه Postgres را به‌صورت خلاصه و قابل‌خواندن ارائه می‌کند. این گردآورها حوزه‌هایی مانند بهبودهای هسته، افزونه‌ها، کارایی، رفع باگ، به‌روزرسانی مستندات و ابزارهای پیرامونی را پوشش می‌دهند و معمولاً در صورت امکان لینک‌هایی برای پیگیری کد یا بحث‌های مرتبط ارائه می‌شود. این رویکرد به توسعه‌دهندگان، DBAها و مشارکت‌کنندگان کمک می‌کند بدون جست‌وجوی پراکنده، از روندها و تغییرات مهم باخبر شوند، برای ارتقاها برنامه‌ریزی کنند و فرصت‌های مشارکت را ببینند. هدف، تکمیل یادداشت‌های رسمی انتشار با یک چکیده جامعه‌محور و منظم از فعالیت‌های جاری در اکوسیستم PostgreSQL است.

#Postgres #PostgreSQL #OpenSource #Database #Community #Contributions #WeeklyDigest

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


👑 @Database_Academy
🔵 عنوان مقاله
Streaming Patterns with DuckDB (6 minute read)

🟢 خلاصه مقاله:
** DuckDB با وجود ریشه‌های OLAP، با الگوهای معماری سازگارشده مثل الگوی Materialized View و رویکرد Streaming Engine می‌تواند تحلیل‌های جریانی را به‌خوبی پشتیبانی کند و در آزمون‌های اخیر بیش از یک میلیون ردیف بر ثانیه پردازش کرده است. یکپارچگی با فرمت‌های lakehouse مانند DuckLake و افزونه‌های جامعه برای دریافت مستقیم از Kafka نیز قابلیت‌های تحلیل بلادرنگ آن را گسترش می‌دهند. هرچند DuckDB فاقد Materialized View بومی و ویژگی‌های کامل stateful streaming است، اما سادگی، طراحی درون‌فرآیندی و کارایی بالای آن اجرای میکروبچ، به‌روزرسانی‌های نزدیک به بلادرنگ و پایپ‌لاین‌های سبک‌وزن را ممکن می‌کند و برای بسیاری از سناریوهای «به‌اندازه کافی بلادرنگ» گزینه‌ای عملی و کم‌هزینه است.

#DuckDB #StreamingAnalytics #RealTimeData #OLAP #Kafka #Lakehouse #MaterializedViews

🟣لینک مقاله:
https://duckdb.org/2025/10/13/duckdb-streaming-patterns.html?utm_source=tldrdata


👑 @Database_Academy
🔵 عنوان مقاله
Deploy anywhere at any scale with confidence

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

#PostgreSQL #استقرار #مقیاس‌پذیری #دیتابیس #پشتیبانی_فنی #Cloud #DevOps

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


👑 @Database_Academy
🔵 عنوان مقاله
"You Don't Need Kafka, Just Use Postgres" Considered Harmful

🟢 خلاصه مقاله:
** گونار مورلینگ به ادعای «You Don’t Need Kafka, Just Use Postgres» پاسخ می‌دهد و می‌گوید این توصیه اگر به‌صورت کلی پذیرفته شود گمراه‌کننده و مضر است. به‌زعم او، جایگزین‌کردن یک لاگ توزیع‌شده با یک پایگاه‌داده رابطه‌ای، تفاوت اساسی میان «event streaming» و «OLTP» را نادیده می‌گیرد: Kafka تضمین‌هایی مثل نگهداری رویدادها، ترتیب‌پذیری، قابلیت replay، fan-out مستقل و مدیریت backpressure ارائه می‌کند که Postgres ذاتاً برای آن ساخته نشده است. البته در مقیاس‌های کوچک و سناریوهای ساده، انتخاب Postgres می‌تواند کافی و ساده‌تر باشد؛ اما با رشد سیستم و نیاز به جداسازی سرویس‌ها و replay تاریخی، محدودیت‌ها آشکار می‌شوند. مورلینگ الگوهایی مثل outbox و CDC (با ابزارهایی مانند Debezium) را برای پیوندزدن دنیای تراکنشی Postgres با جریان رویداد در Kafka توصیه می‌کند. جمع‌بندی او: نسخه‌های کلی «فقط از X استفاده کنید» خطرناک‌اند؛ نیازها را دقیق تحلیل کنید و براساس مبادله‌های واقعی ابزار مناسب یا ترکیب ابزارها را برگزینید.

#Kafka #Postgres #EventStreaming #CDC #Debezium #SoftwareArchitecture #Scalability

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


👑 @Database_Academy
🔵 عنوان مقاله
Hybrid Search in Postgres: The Missing Manual

🟢 خلاصه مقاله:
** این مقاله راهنمایی عملی برای جست‌وجوی هیبریدی در Postgres ارائه می‌کند و نشان می‌دهد چرا ترکیب امتیازدهی BM25 با ParadeDB و جست‌وجوی شباهت برداری با pgvector از جست‌وجوی متنی داخلی Postgres در رده‌بندی مرتبط‌تر بهتر عمل می‌کند. BM25 پوشش دقیق کلیدواژه و عبارت را فراهم می‌کند، در حالی‌که بردارها معنای پرسش را با واژه‌های هم‌معنی و بازنویسی‌ها درمی‌یابند. الگوی معمول یا انتخاب نامزدها با BM25 و بازمرتب‌سازی با شباهت برداری است، یا ادغام نتایج هر دو با وزن‌دهی نرمال‌شده. همه این‌ها داخل یک پایگاه Postgres انجام می‌شود—با ایندکس‌های متن و بردار—و بدون نیاز به موتورهای خارجی، در سناریوهایی مثل جست‌وجوی محصول، مستندات و Q&A به بهبود محسوس ربط نتایج نسبت به FTS بومی می‌انجامد.

#Postgres #HybridSearch #BM25 #pgvector #VectorSearch #FullTextSearch #ParadeDB #RelevanceRanking

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


👑 @Database_Academy
🔵 عنوان مقاله
her experience of last week's PGConf EU event.

🟢 خلاصه مقاله:
تجربه نویسنده از PGConf EU هفته گذشته نشان می‌دهد که رویداد امسال ترکیبی از راهکارهای عملی، مطالعه‌های موردی واقعی و گفت‌وگوهای ارزشمند جانبی بود. تمرکز اصلی روی بهینه‌سازی کارایی، تاب‌آوری عملیاتی، مهاجرت‌ها، انتخاب Extensionها، استقرار ابری و Observability بود و نتیجه‌گیری او این است که اکوسیستم PostgreSQL بالغ‌تر و قابل‌دسترس‌تر از گذشته شده است. او در ادامه به آخرین مقاله Golang Weekly اشاره می‌کند که به‌خوبی با این موضوعات پیوند می‌خورد: الگوهای مؤثر در Go برای کار با پایگاه‌داده، از جمله استفاده بهینه از database/sql، زمان‌هایی که استفاده از pgx ترجیح دارد، مدیریت context برای Timeout و Cancellation، Pooling اتصال‌ها و راهبردهای Backpressure در بار همزمانی بالا. جمع‌بندی او این است که ترکیب درس‌های PGConf EU با نکات Golang Weekly یک نقشه راه عملی برای ساخت سرویس‌های داده‌محور در Go فراهم می‌کند؛ نقشه‌ای که به بهبود پایه‌های کارایی، پوشش تست مسیرهای دسترسی به داده و شفاف‌تر کردن SLOها با Observability بهتر منجر می‌شود.

#PGConfEU #PostgreSQL #Golang #GolangWeekly #DatabaseEngineering #PerformanceTuning #GoProgramming #Observability

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


👑 @Database_Academy
1
🔵 عنوان مقاله
Introducing pg_lake: Integrate Your Data Lakehouse with Postgres

🟢 خلاصه مقاله:
pg_lake مجموعه‌ای از افزونه‌ها برای Postgres است که اتصال مستقیم به درياچه‌داده و Lakehouse را ممکن می‌کند: پشتیبانی جامع از Iceberg و دسترسی به فایل‌های Parquet، CSV و JSON بدون جابه‌جایی داده یا خروج از محیط Postgres. این راهکار با ادغام شفاف DuckDB در موتور پرس‌وجوی Postgres، اجرای برداری و ستونی سریع را برای اسکن‌ها و تجمع‌های سنگین فراهم می‌کند، در حالی‌که همچنان با SQL آشنا کار می‌کنید. با pg_lake می‌توانید داده‌های دریاچه را مثل جدول‌های عادی بخوانید، آن‌ها را با جداول عملیاتی Postgres جوین بزنید و نیاز به ETL اضافی را کاهش دهید. پشتیبانی از Iceberg برای سناریوهایی مثل پارتیشن‌بندی و تکامل طرحواره مناسب است و مسیرهایی مانند تحلیل‌های موردی، کوئری‌های فدره، و مهاجرت تدریجی به Lakehouse را ساده می‌کند. کد و مستندات آن در GitHub در دسترس است.

#pg_lake #Postgres #DataLakehouse #Iceberg #DuckDB #Parquet #SQL #OpenSource

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


👑 @Database_Academy
🔵 عنوان مقاله
Don't Give Postgres Too Much Memory

🟢 خلاصه مقاله:
خلاصه‌ای از دیدگاه Tomas این است که در Postgres همیشه «حافظه بیشتر=بهتر» نیست. بالا بردن بی‌محابای maintenance_work_mem و work_mem می‌تواند اندازه مجموعه کاری را بزرگ‌تر از CPU cache کند و با افزایش cache miss، سرعت مرتب‌سازی و هش را کم کند. علاوه بر آن، تخصیص‌های بزرگ، بار مدیریت حافظه روی OS را زیاد می‌کند و در بار همزمان، چون work_mem به‌ازای هر نود و هر کوئری اعمال می‌شود، مصرف واقعی حافظه چندبرابر شده و افت کارایی رخ می‌دهد. نتیجه عملی: مقادیر را معقول و مرحله‌ای تنظیم کنید، با سناریوهای واقعی بنچمارک بگیرید، در صورت نیاز به‌صورت موردی با SET مقدار work_mem را برای عملیات سنگین بالا ببرید، و به تعامل CPU cache و مدیریت حافظه OS توجه کنید؛ همیشه مقدار بیشتر سریع‌تر نیست.

#Postgres #PostgreSQL #DatabasePerformance #work_mem #maintenance_work_mem #CPUCaches #OSMemory

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


👑 @Database_Academy
🔵 عنوان مقاله
pg_timetable 6.1 Released: Advanced Job Scheduling Extension

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

#pg_timetable #Postgres #JobScheduler #DatabaseAutomation #ETL #DevOps #OpenSource #DataEngineering

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


👑 @Database_Academy
🔵 عنوان مقاله
How Would You Like Your Iceberg Sir? Stream or Batch Ordered? (9 minute read)

🟢 خلاصه مقاله:
این مقاله توضیح می‌دهد که در جدول‌های Iceberg، چیدمان Stream-order با حفظ ترتیب ورود داده برای پردازش ترتیبی و راه‌اندازی سریع جریان‌ها مناسب است، در حالی‌که چیدمان Batch-order با خوشه‌بندی داده‌ها کارایی پرس‌وجوهای تحلیلی را بهینه می‌کند. تلاش برای پشتیبانی همزمان هر دو نیاز در یک جدول، به سربار محاسباتی پنهان منجر می‌شود؛ به‌ویژه هنگام راه‌اندازی jobهای جریانی از داده‌های Batch-order که مستلزم مرتب‌سازی و shuffling پرهزینه است. نتیجه این است که صرفه‌جویی ظاهری در فضای ذخیره‌سازی با افزایش هزینه‌های محاسباتی از بین می‌رود. راهکار پیشنهادی، Confluent Tableflow است که داده‌های جریانی را در Iceberg مادی‌سازی می‌کند و با نگه‌داشتن نمای مناسب برای هر سناریو، انعطاف‌پذیری و کارایی بهتری ارائه می‌دهد—even اگر به معنای تقریباً دو برابر شدن فضای ذخیره‌سازی باشد.

#ApacheIceberg #Streaming #BatchProcessing #DataEngineering #Confluent #Tableflow #DataLake #Lakehouse

🟣لینک مقاله:
https://jack-vanlightly.com/blog/2025/11/5/how-would-you-like-your-iceberg-sir-stream-or-batch-ordered?utm_source=tldrdata


👑 @Database_Academy