📌 Database Administration (DBA) Engineering Manager
📝 Type: Visa Sponsorship
🌍 Relocation Package: ✅
🏢 Company: TradingView
📍 Location: UNITED KINGDOM
⌨️ Category: #Programming
🔗 Tags: #javascript #python #reactjs #typescript #golang #mysql #postgresql #redis #kubernetes #aws #cloud
📝 Type: Visa Sponsorship
🌍 Relocation Package: ✅
🏢 Company: TradingView
📍 Location: UNITED KINGDOM
⌨️ Category: #Programming
🔗 Tags: #javascript #python #reactjs #typescript #golang #mysql #postgresql #redis #kubernetes #aws #cloud
🔵 عنوان مقاله
a visual explainer of processes and threads
🟢 خلاصه مقاله:
** این مقاله با یک توضیح تصویری، تفاوتهای بنیادین بین فرآیند و رشته را توضیح میدهد: فرآیندها فضای حافظهای جدا دارند و ارتباطشان از طریق مکانیزمهای سیستمعامل انجام میشود، در حالیکه رشتهها داخل یک فرآیند حافظه مشترک دارند، ارتباطشان سریعتر است اما ریسک تداخل و خرابی گستردهتر میشود. سپس این دیدگاه به معماری پایگاههای داده تعمیم داده میشود: Postgres از مدل process-per-connection با فرآیندهای جداگانه برای هر اتصال و حافظه مشترک برای هماهنگی استفاده میکند؛ MySQL در یک mysqld واحد با مدل thread-per-connection (یا thread pool) و رشتههای متعدد اجرا میشود. نتیجه مقایسه: Postgres ایزولاسیون قویتری در سطح حافظه دارد اما سربار هر اتصال بیشتر است و خرابی یک backend میتواند به بازراهاندازی برای حفظ سازگاری منجر شود؛ MySQL از نظر حافظه برای اتصالات زیاد بهینهتر و تعویض متن در آن سریعتر است، ولی خطا یا ازدحام در یک رشته میتواند کل فرایند را متاثر کند و نیازمند تنظیم دقیق برای جلوگیری از رقابت قفلهاست. در عمل، هر دو با ابزارهای connection pooling مانند PgBouncer و ProxySQL افراطها را تعدیل میکنند و انتخاب نهایی به اولویتهای بارکاری بین ایزولاسیون/قابلیت مشاهده در برابر بازده و مقیاسپذیری اتصال بستگی دارد.
#OperatingSystems #Concurrency #Postgres #MySQL #DatabaseArchitecture #Threads #Processes #Performance
🟣لینک مقاله:
https://postgresweekly.com/link/174753/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
a visual explainer of processes and threads
🟢 خلاصه مقاله:
** این مقاله با یک توضیح تصویری، تفاوتهای بنیادین بین فرآیند و رشته را توضیح میدهد: فرآیندها فضای حافظهای جدا دارند و ارتباطشان از طریق مکانیزمهای سیستمعامل انجام میشود، در حالیکه رشتهها داخل یک فرآیند حافظه مشترک دارند، ارتباطشان سریعتر است اما ریسک تداخل و خرابی گستردهتر میشود. سپس این دیدگاه به معماری پایگاههای داده تعمیم داده میشود: Postgres از مدل process-per-connection با فرآیندهای جداگانه برای هر اتصال و حافظه مشترک برای هماهنگی استفاده میکند؛ MySQL در یک mysqld واحد با مدل thread-per-connection (یا thread pool) و رشتههای متعدد اجرا میشود. نتیجه مقایسه: Postgres ایزولاسیون قویتری در سطح حافظه دارد اما سربار هر اتصال بیشتر است و خرابی یک backend میتواند به بازراهاندازی برای حفظ سازگاری منجر شود؛ MySQL از نظر حافظه برای اتصالات زیاد بهینهتر و تعویض متن در آن سریعتر است، ولی خطا یا ازدحام در یک رشته میتواند کل فرایند را متاثر کند و نیازمند تنظیم دقیق برای جلوگیری از رقابت قفلهاست. در عمل، هر دو با ابزارهای connection pooling مانند PgBouncer و ProxySQL افراطها را تعدیل میکنند و انتخاب نهایی به اولویتهای بارکاری بین ایزولاسیون/قابلیت مشاهده در برابر بازده و مقیاسپذیری اتصال بستگی دارد.
#OperatingSystems #Concurrency #Postgres #MySQL #DatabaseArchitecture #Threads #Processes #Performance
🟣لینک مقاله:
https://postgresweekly.com/link/174753/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Planetscale
Processes and Threads — PlanetScale
Processes and threads are fundamental abstrations for operating systems. Learn how they work and how they impact database performance in this interactive article.
🔵 عنوان مقاله
ChartDB (Tool)
🟢 خلاصه مقاله:
ChartDB ابزاری برای تبدیل سریع schema پایگاهداده به ER diagram است که با ویرایش هوشمند مبتنی بر AI، همکاری همزمان و همگامسازی خودکار با دیتابیس زنده، کار تیمهای مهندسی را ساده میکند. از Postgres، MySQL، SQL Server و Oracle پشتیبانی میکند، DDL تمیز تولید میکند و مستندات قابل اشتراکگذاری با نسخهبندی ارائه میدهد تا مدلها و مستندات همیشه بهروز و قابل پیگیری بمانند.
#DatabaseDesign #ERD #DataModeling #AI #DevTools #Postgres #MySQL #SQLServer
🟣لینک مقاله:
https://chartdb.io/?utm_source=tldrdata
➖➖➖➖➖➖➖➖
👑 @Database_Academy
ChartDB (Tool)
🟢 خلاصه مقاله:
ChartDB ابزاری برای تبدیل سریع schema پایگاهداده به ER diagram است که با ویرایش هوشمند مبتنی بر AI، همکاری همزمان و همگامسازی خودکار با دیتابیس زنده، کار تیمهای مهندسی را ساده میکند. از Postgres، MySQL، SQL Server و Oracle پشتیبانی میکند، DDL تمیز تولید میکند و مستندات قابل اشتراکگذاری با نسخهبندی ارائه میدهد تا مدلها و مستندات همیشه بهروز و قابل پیگیری بمانند.
#DatabaseDesign #ERD #DataModeling #AI #DevTools #Postgres #MySQL #SQLServer
🟣لینک مقاله:
https://chartdb.io/?utm_source=tldrdata
➖➖➖➖➖➖➖➖
👑 @Database_Academy
chartdb.io
ChartDB - Database schema diagrams visualizer
Free and Open-source database diagrams editor, visualize and design your database with a single query.
Tool to help you draw your DB relationship diagrams and export DDL scripts.
Tool to help you draw your DB relationship diagrams and export DDL scripts.
🔵 عنوان مقاله
A SQL Heuristic: ORs Are Expensive (10 minute read)
🟢 خلاصه مقاله:
OR در SQL اغلب باعث کندی میشود، چون بسیاری از query plannerها برای OR بین ستونهای مختلف به sequential scan یا index merge/bitmap OR متوسل میشوند، در حالیکه AND بهطور طبیعی با compound indexها جور است. یک راه مؤثر، بازنویسی OR به چند کوئریِ ایندکسپسند و ترکیب آنها با UNION/UNION ALL است تا هر شاخه از ایندکس مناسب خود استفاده کند و زمان اجرا گاهی تا ۱۰۰ برابر کاهش یابد. راهحل پایدارتر، بازطراحی schema با extension tables است تا بهجای OR روی چند خاصیتِ پراکنده، با JOIN به جدولهای باریک و ایندکسشده دسترسی پیدا کنید. همیشه با EXPLAIN/EXPLAIN ANALYZE اندازهگیری کنید؛ در جداول کوچک یا OR روی یک ستون (مشابه IN) شاید مشکل نداشته باشید، اما بهطور کلی: AND را با compound index هماهنگ کنید، از OR بین ستونها بپرهیزید، در صورت لزوم از UNION بهره ببرید و برای مسیرهای پرتردد، بازطراحی schema را در نظر بگیرید.
#SQL #DatabasePerformance #QueryOptimization #Indexes #PostgreSQL #MySQL #DataModeling #EXPLAIN
🟣لینک مقاله:
https://ethanseal.com/articles/ors-are-expensive?utm_source=tldrdata
➖➖➖➖➖➖➖➖
👑 @Database_Academy
A SQL Heuristic: ORs Are Expensive (10 minute read)
🟢 خلاصه مقاله:
OR در SQL اغلب باعث کندی میشود، چون بسیاری از query plannerها برای OR بین ستونهای مختلف به sequential scan یا index merge/bitmap OR متوسل میشوند، در حالیکه AND بهطور طبیعی با compound indexها جور است. یک راه مؤثر، بازنویسی OR به چند کوئریِ ایندکسپسند و ترکیب آنها با UNION/UNION ALL است تا هر شاخه از ایندکس مناسب خود استفاده کند و زمان اجرا گاهی تا ۱۰۰ برابر کاهش یابد. راهحل پایدارتر، بازطراحی schema با extension tables است تا بهجای OR روی چند خاصیتِ پراکنده، با JOIN به جدولهای باریک و ایندکسشده دسترسی پیدا کنید. همیشه با EXPLAIN/EXPLAIN ANALYZE اندازهگیری کنید؛ در جداول کوچک یا OR روی یک ستون (مشابه IN) شاید مشکل نداشته باشید، اما بهطور کلی: AND را با compound index هماهنگ کنید، از OR بین ستونها بپرهیزید، در صورت لزوم از UNION بهره ببرید و برای مسیرهای پرتردد، بازطراحی schema را در نظر بگیرید.
#SQL #DatabasePerformance #QueryOptimization #Indexes #PostgreSQL #MySQL #DataModeling #EXPLAIN
🟣لینک مقاله:
https://ethanseal.com/articles/ors-are-expensive?utm_source=tldrdata
➖➖➖➖➖➖➖➖
👑 @Database_Academy
🔵 عنوان مقاله
How to Do UPDATE ... LIMIT
🟢 خلاصه مقاله:
در Postgres نمیتوان مستقیم از UPDATE ... LIMIT یا DELETE ... LIMIT استفاده کرد؛ هرچند در برخی لهجههای SQL مثل MySQL این امکان وجود دارد. راهحل استاندارد این است که ابتدا در یک زیرکوئری یا CTE با ORDER BY و LIMIT، شناسهٔ ردیفهای هدف را انتخاب کنید و سپس با UPDATE/DELETE روی همان شناسهها عمل کنید. برای محیطهای همزمان، استفاده از SELECT ... FOR UPDATE SKIP LOCKED در زیرکوئری باعث میشود هر پردازش فقط ردیفهای قفلنشده را بردارد و تداخل رخ ندهد. حتماً ORDER BY بگذارید تا انتخاب N ردیف قابل پیشبینی باشد و برای کارایی، ایندکس مناسب روی فیلترها و مرتبسازیها داشته باشید. در حجمهای بزرگ، عملیات را به صورت batch تکراری انجام دهید تا از تراکنشهای طولانی و فشار روی سیستم جلوگیری شود.
#Postgres #SQL #UPDATE #DELETE #LIMIT #CTE #SkipLocked #MySQL
🟣لینک مقاله:
https://postgresweekly.com/link/175093/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
How to Do UPDATE ... LIMIT
🟢 خلاصه مقاله:
در Postgres نمیتوان مستقیم از UPDATE ... LIMIT یا DELETE ... LIMIT استفاده کرد؛ هرچند در برخی لهجههای SQL مثل MySQL این امکان وجود دارد. راهحل استاندارد این است که ابتدا در یک زیرکوئری یا CTE با ORDER BY و LIMIT، شناسهٔ ردیفهای هدف را انتخاب کنید و سپس با UPDATE/DELETE روی همان شناسهها عمل کنید. برای محیطهای همزمان، استفاده از SELECT ... FOR UPDATE SKIP LOCKED در زیرکوئری باعث میشود هر پردازش فقط ردیفهای قفلنشده را بردارد و تداخل رخ ندهد. حتماً ORDER BY بگذارید تا انتخاب N ردیف قابل پیشبینی باشد و برای کارایی، ایندکس مناسب روی فیلترها و مرتبسازیها داشته باشید. در حجمهای بزرگ، عملیات را به صورت batch تکراری انجام دهید تا از تراکنشهای طولانی و فشار روی سیستم جلوگیری شود.
#Postgres #SQL #UPDATE #DELETE #LIMIT #CTE #SkipLocked #MySQL
🟣لینک مقاله:
https://postgresweekly.com/link/175093/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
CYBERTEC PostgreSQL | Services & Support
How to do UPDATE ... LIMIT in PostgreSQL
There is no UPDATE ... LIMIT in PostgreSQL. This article shows how to achieve the same result and how to avoid potential pitfalls.
🔵 عنوان مقاله
results of its latest State of Developer Ecosystem Report
🟢 خلاصه مقاله:
گزارش جدید State of Developer Ecosystem از JetBrains نشان میدهد که برای نخستین بار، Postgres از MySQL در اکوسیستم JetBrains محبوبتر شده است. این تغییر حاکی از جابهجایی ترجیحات توسعهدهندگان به سمت قابلیتها و انعطافپذیری Postgres است؛ هرچند MySQL همچنان در بسیاری از محیطهای وب و پروژههای قدیمی نقش پررنگی دارد. ابزارها و ادغامهای اکوسیستم JetBrains و گسترش سرویسهای ابری مدیریتشده نیز میتواند در این روند مؤثر بوده باشد و نشان میدهد انتخاب پایگاهداده بیش از پیش بر اساس تناسب با نیاز هر پروژه انجام میشود.
#JetBrains #Postgres #MySQL #DeveloperEcosystem #Database #StateOfDeveloperEcosystem #SoftwareTrends
🟣لینک مقاله:
https://postgresweekly.com/link/175719/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
results of its latest State of Developer Ecosystem Report
🟢 خلاصه مقاله:
گزارش جدید State of Developer Ecosystem از JetBrains نشان میدهد که برای نخستین بار، Postgres از MySQL در اکوسیستم JetBrains محبوبتر شده است. این تغییر حاکی از جابهجایی ترجیحات توسعهدهندگان به سمت قابلیتها و انعطافپذیری Postgres است؛ هرچند MySQL همچنان در بسیاری از محیطهای وب و پروژههای قدیمی نقش پررنگی دارد. ابزارها و ادغامهای اکوسیستم JetBrains و گسترش سرویسهای ابری مدیریتشده نیز میتواند در این روند مؤثر بوده باشد و نشان میدهد انتخاب پایگاهداده بیش از پیش بر اساس تناسب با نیاز هر پروژه انجام میشود.
#JetBrains #Postgres #MySQL #DeveloperEcosystem #Database #StateOfDeveloperEcosystem #SoftwareTrends
🟣لینک مقاله:
https://postgresweekly.com/link/175719/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Jetbrains
The State of Developer Ecosystem in 2025
Explore key software developer statistics for 2025 in the State of Developer Ecosystem Report. Trends, insights, and tools shaping the developer world.
🔵 عنوان مقاله
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
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
Planetscale
PlanetScale for Postgres is now GA — PlanetScale
PlanetScale for Postgres is now generally available.
🔵 عنوان مقاله
be careful when you do minor version upgrades
🟢 خلاصه مقاله:
** ارتقای نسخههای بهظاهر «جزئی» میتواند در سیستمهای مبتنی بر Debian پیامدهای بزرگی داشته باشد. بهروزرسانی نقطهای Debian ممکن است کتابخانههای مرتبط با locale و collation را تغییر دهد و پایگاه داده شما را به بهروزرسانی collation وادار کند؛ نتیجه میتواند بازسازی نمایهها، تغییر ترتیب مرتبسازی متن، افت کارایی و حتی اختلال در سرویس باشد. این وضعیت معمولاً با apt upgrade یا unattended-upgrades و همچنین تصاویر کانتینری با برچسبهای غیرثابت رخ میدهد. برای کاهش ریسک، همان نسخه را در staging تست کنید، بستهها را pin/hold کنید، یادداشتهای انتشار Debian و پایگاه داده را بخوانید، پنجره نگهداری در نظر بگیرید، پشتیبان مطمئن بگیرید و قبل/بعد از ارتقا وضعیت collation را بررسی کنید. «ارتقای جزئی» را نیز مانند ارتقای عمده جدی بگیرید تا از تغییر ناخواسته collation جلوگیری شود.
#Debian #Database #Collation #PostgreSQL #MySQL #Apt #Upgrade #DevOps
🟣لینک مقاله:
https://postgresweekly.com/link/177311/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
be careful when you do minor version upgrades
🟢 خلاصه مقاله:
** ارتقای نسخههای بهظاهر «جزئی» میتواند در سیستمهای مبتنی بر Debian پیامدهای بزرگی داشته باشد. بهروزرسانی نقطهای Debian ممکن است کتابخانههای مرتبط با locale و collation را تغییر دهد و پایگاه داده شما را به بهروزرسانی collation وادار کند؛ نتیجه میتواند بازسازی نمایهها، تغییر ترتیب مرتبسازی متن، افت کارایی و حتی اختلال در سرویس باشد. این وضعیت معمولاً با apt upgrade یا unattended-upgrades و همچنین تصاویر کانتینری با برچسبهای غیرثابت رخ میدهد. برای کاهش ریسک، همان نسخه را در staging تست کنید، بستهها را pin/hold کنید، یادداشتهای انتشار Debian و پایگاه داده را بخوانید، پنجره نگهداری در نظر بگیرید، پشتیبان مطمئن بگیرید و قبل/بعد از ارتقا وضعیت collation را بررسی کنید. «ارتقای جزئی» را نیز مانند ارتقای عمده جدی بگیرید تا از تغییر ناخواسته collation جلوگیری شود.
#Debian #Database #Collation #PostgreSQL #MySQL #Apt #Upgrade #DevOps
🟣لینک مقاله:
https://postgresweekly.com/link/177311/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Reddit
From the PostgreSQL community on Reddit: Docker's official Postgres image is shipping breaking changes in minor upgrades
Explore this post and more from the PostgreSQL community