🔵 عنوان مقاله
Playing with BOLT to Get a Faster Postgres
🟢 خلاصه مقاله:
مقاله مورد بحث به بررسی ابزار BOLT از پروژه LLVM میپردازد که با استفاده از دادههای پروفایلر، بهینهسازی باینریها را پس از کامپایل کردن آنها انجام میدهد. این ابزار قادر است تا برنامههای کامپایلشده نظیر Postgres را با تجزیه و تحلیل دقیق دادهها، سرعت بخشد. با این حال، کاربرد آن در بهینهسازی Postgres پیچیدگیهای خاص خود را دارد. این پیچیدگیها میتواند شامل جزئیات فنی خاص در نحوه پیادهسازی Postgres و تعامل آن با سیستمهای مختلف باشد. از این رو، در حالی که BOLT پتانسیل بهینهسازی قابل توجهی دارد، ممکن است نیاز به تعدیلات خاصی برای انطباق دقیق با محیطهای مختلف و متغیرهای نرمافزاری داشته باشد. در نهایت، استفاده از BOLT به منظور ارتقاء کارایی Postgres، در حالی که مزیتهای مشخصی دارد، نیازمند درک فنی عمیق و بررسیهای دقیق تر است.
🟣لینک مقاله:
https://postgresweekly.com/link/160409/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Playing with BOLT to Get a Faster Postgres
🟢 خلاصه مقاله:
مقاله مورد بحث به بررسی ابزار BOLT از پروژه LLVM میپردازد که با استفاده از دادههای پروفایلر، بهینهسازی باینریها را پس از کامپایل کردن آنها انجام میدهد. این ابزار قادر است تا برنامههای کامپایلشده نظیر Postgres را با تجزیه و تحلیل دقیق دادهها، سرعت بخشد. با این حال، کاربرد آن در بهینهسازی Postgres پیچیدگیهای خاص خود را دارد. این پیچیدگیها میتواند شامل جزئیات فنی خاص در نحوه پیادهسازی Postgres و تعامل آن با سیستمهای مختلف باشد. از این رو، در حالی که BOLT پتانسیل بهینهسازی قابل توجهی دارد، ممکن است نیاز به تعدیلات خاصی برای انطباق دقیق با محیطهای مختلف و متغیرهای نرمافزاری داشته باشد. در نهایت، استفاده از BOLT به منظور ارتقاء کارایی Postgres، در حالی که مزیتهای مشخصی دارد، نیازمند درک فنی عمیق و بررسیهای دقیق تر است.
🟣لینک مقاله:
https://postgresweekly.com/link/160409/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
👍1
🔵 عنوان مقاله
Hierarchical Data Types in Postgres
🟢 خلاصه مقاله:
مقالهای که ارائه شده به معرفی نوع دادهای خاص در SQL Server با نام hierarchyid پرداخته که برای نمایش موقعیتها درون یک سلسلهمراتب (مانند درخت) استفاده میشود. این نوع داده امکان مدیریت و تعامل با ساختارهای سلسلهمراتبی را به صورت کارآمد فراهم میآورد. در حالی که میتوان از ستونهای عددی ساده در Postgres برای این منظور استفاده کرد، اما برای داشتن ساختاری منظمتر، Postgres از نوع دادهای به نام ltree بهره میبرد. ltree امکانات بیشتری برای سازماندهی و کوئریکردن دادهها در ساختارهای درختی به صورت بصری و منطقی ارائه میدهد. این تفاوتها و قابلیتها در کاربرد این دو نوع داده در مدیریت دادههای سلسلهمراتبی مهم و قابل توجه هستند و به کاربرانی که با مدیریت چنین دادههایی سروکار دارند کمک شایانی مینماید.
🟣لینک مقاله:
https://postgresweekly.com/link/160419/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Hierarchical Data Types in Postgres
🟢 خلاصه مقاله:
مقالهای که ارائه شده به معرفی نوع دادهای خاص در SQL Server با نام hierarchyid پرداخته که برای نمایش موقعیتها درون یک سلسلهمراتب (مانند درخت) استفاده میشود. این نوع داده امکان مدیریت و تعامل با ساختارهای سلسلهمراتبی را به صورت کارآمد فراهم میآورد. در حالی که میتوان از ستونهای عددی ساده در Postgres برای این منظور استفاده کرد، اما برای داشتن ساختاری منظمتر، Postgres از نوع دادهای به نام ltree بهره میبرد. ltree امکانات بیشتری برای سازماندهی و کوئریکردن دادهها در ساختارهای درختی به صورت بصری و منطقی ارائه میدهد. این تفاوتها و قابلیتها در کاربرد این دو نوع داده در مدیریت دادههای سلسلهمراتبی مهم و قابل توجه هستند و به کاربرانی که با مدیریت چنین دادههایی سروکار دارند کمک شایانی مینماید.
🟣لینک مقاله:
https://postgresweekly.com/link/160419/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
👍1
🔵 عنوان مقاله
PostgreSQL 17 Released
🟢 خلاصه مقاله:
عنوان مقاله به نسخه جدید Postgres اشاره دارد که به عنوان یک بهروزرسانی عمده شناخته میشود و پیشرفتهایی بیشتری نسبت به نسخه 16 داشته است. با این حال، جزئیات بیشتری در متن ارائه شده داده نشده است تا بتوان نکات دقیق و خاصی را درخصوص ویژگیهای جدید یا بهبودهای اعمال شده در این نسخه بیان کرد. برای درک بهتر و دقیقتر از تغییرات و ویژگیهای جدید این نسخه، به متن کامل مقاله یا منابع دیگری که به تفصیل به این بهروزرسانیها پرداختهاند، نیاز است. این خلاصه نمیتواند به تنهایی اطلاعات فنی یا تخصصی دقیقی در مورد نسخه جدید Postgres ارائه دهد.
🟣لینک مقاله:
https://postgresweekly.com/link/160399/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
PostgreSQL 17 Released
🟢 خلاصه مقاله:
عنوان مقاله به نسخه جدید Postgres اشاره دارد که به عنوان یک بهروزرسانی عمده شناخته میشود و پیشرفتهایی بیشتری نسبت به نسخه 16 داشته است. با این حال، جزئیات بیشتری در متن ارائه شده داده نشده است تا بتوان نکات دقیق و خاصی را درخصوص ویژگیهای جدید یا بهبودهای اعمال شده در این نسخه بیان کرد. برای درک بهتر و دقیقتر از تغییرات و ویژگیهای جدید این نسخه، به متن کامل مقاله یا منابع دیگری که به تفصیل به این بهروزرسانیها پرداختهاند، نیاز است. این خلاصه نمیتواند به تنهایی اطلاعات فنی یا تخصصی دقیقی در مورد نسخه جدید Postgres ارائه دهد.
🟣لینک مقاله:
https://postgresweekly.com/link/160399/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
PostgreSQL News
PostgreSQL 17 Released!
The [PostgreSQL Global Development Group](https://www.postgresql.org) today announced the release of [PostgreSQL 17](https://www.postgresql.org/docs/17/release-17.html), the latest version of the world's most advanced …
👏1
🔵Top 50 MySQL Interview Questions (2024)
🎯 https://www.geeksforgeeks.org/mysql-interview-questions/
➖➖➖➖➖➖➖➖
👑 @Database_Academy
🎯 https://www.geeksforgeeks.org/mysql-interview-questions/
➖➖➖➖➖➖➖➖
👑 @Database_Academy
💘1
🔵 عنوان مقاله
PostGIS 3.5.0 Released
🟢 خلاصه مقاله:
این مقاله به بررسی نسخه جدید پسوند محبوب فهرستبندی و پرس و جو دادههای جغرافیایی میپردازد که تنها چند ساعت قبل از نهایی شدن Postgres 17 ارائه شد. در حالی که هنوز نسخه RC1 (نسخه نامزد انتشار) را توصیه میکند، باید قابل استفاده باشد. تغییرات اساسی که باعث شکستن سازگاری پیشین میشوند در لینکی که در مقاله ذکر شده، لیست شدهاند. این افزونه به کاربران امکان میدهد تا دادههای جغرافیایی را به شیوهای کارآمدتر فهرستبندی و پرس و جو کنند، بنابراین بهبود زیادی در پردازش و استفاده از این نوع دادهها در محیط Postgres فراهم میکند.
🟣لینک مقاله:
https://postgresweekly.com/link/160431/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
PostGIS 3.5.0 Released
🟢 خلاصه مقاله:
این مقاله به بررسی نسخه جدید پسوند محبوب فهرستبندی و پرس و جو دادههای جغرافیایی میپردازد که تنها چند ساعت قبل از نهایی شدن Postgres 17 ارائه شد. در حالی که هنوز نسخه RC1 (نسخه نامزد انتشار) را توصیه میکند، باید قابل استفاده باشد. تغییرات اساسی که باعث شکستن سازگاری پیشین میشوند در لینکی که در مقاله ذکر شده، لیست شدهاند. این افزونه به کاربران امکان میدهد تا دادههای جغرافیایی را به شیوهای کارآمدتر فهرستبندی و پرس و جو کنند، بنابراین بهبود زیادی در پردازش و استفاده از این نوع دادهها در محیط Postgres فراهم میکند.
🟣لینک مقاله:
https://postgresweekly.com/link/160431/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
PostGIS
PostGIS 3.5.0
The PostGIS Team is pleased to release PostGIS 3.5.0! Best Served with PostgreSQL 17 RC1 and GEOS 3.13.0.
This version requires PostgreSQL 12 - 17, GEOS 3.8 or higher, and Proj 6.1+. To take advantage of all features, GEOS 3.12+ is needed. SFCGAL 1.4+ is…
This version requires PostgreSQL 12 - 17, GEOS 3.8 or higher, and Proj 6.1+. To take advantage of all features, GEOS 3.12+ is needed. SFCGAL 1.4+ is…
🔵 عنوان مقاله
libpg-query-node: Use Postgres' SQL Parser from Node.js
🟢 خلاصه مقاله:
این مقاله به بررسی استفاده از پارسر SQL موجود در Postgres از طریق libpg_query در برنامهنویسی Node اشاره میکند. ابزار libpg_query به توسعهدهندگان این امکان را میدهد که در سطح پایین از پارسر SQL Postgres استفاده کنند. اگر به دنبال روشی سطح بالاتر هستید، کتابخانه pgsql-parser را میتوان استفاده کرد. این کتابخانه بر پایه libpg_query بنا شده و قابلیت پارس و سریالیزه کردن پرس و جوها به و از ASTs (درختهای سینتکس انتزاعی) را فراهم میآورد. استفاده از این ابزارها به توسعهدهندگان امکان میدهد تا با دقت و کارایی بیشتری پرسوجوهای SQL را تجزیه و مدیریت کنند، بدین ترتیب بهبود قابل توجهی در نحوه اجرا و تحلیل پرس و جوها در برنامههای کاربردی ایجاد میشود.
🟣لینک مقاله:
https://postgresweekly.com/link/160433/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
libpg-query-node: Use Postgres' SQL Parser from Node.js
🟢 خلاصه مقاله:
این مقاله به بررسی استفاده از پارسر SQL موجود در Postgres از طریق libpg_query در برنامهنویسی Node اشاره میکند. ابزار libpg_query به توسعهدهندگان این امکان را میدهد که در سطح پایین از پارسر SQL Postgres استفاده کنند. اگر به دنبال روشی سطح بالاتر هستید، کتابخانه pgsql-parser را میتوان استفاده کرد. این کتابخانه بر پایه libpg_query بنا شده و قابلیت پارس و سریالیزه کردن پرس و جوها به و از ASTs (درختهای سینتکس انتزاعی) را فراهم میآورد. استفاده از این ابزارها به توسعهدهندگان امکان میدهد تا با دقت و کارایی بیشتری پرسوجوهای SQL را تجزیه و مدیریت کنند، بدین ترتیب بهبود قابل توجهی در نحوه اجرا و تحلیل پرس و جوها در برنامههای کاربردی ایجاد میشود.
🟣لینک مقاله:
https://postgresweekly.com/link/160433/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
GitHub
GitHub - launchql/libpg-query-node: libpg_query PG port for node.js
libpg_query PG port for node.js. Contribute to launchql/libpg-query-node development by creating an account on GitHub.
🔵 عنوان مقاله
When Postgres Indexing Went Wrong
🟢 خلاصه مقاله:
خلاصهای از مقاله در خصوص درسهایی است که نویسنده در پروژههای برنامهنویسی خود فراگرفته است. اصلیترین نکتهای که در مقاله به آن پرداخته شده است اهمیت دقت در ایجاد شاخصها (indexes) در برنامهنویسی دیتابیس است. نویسنده به خطاهایی که به دلیل عدم توجه کافی به این امر رخ داده، اشاره کرده و خاطرنشان میکند که این فرآیندها به طور خاموش و بدون خطای آشکار، شکست خوردهاند. در نتیجه، تاکید میکند که لازم است برنامهنویسان در هنگام ایجاد شاخصها بسیار محتاط باشند تا از بروز چنین خطاهایی در پروژههای بزرگتر جلوگیری شود. این تجربه نشاندهنده این است که گاهی اوقات جزئیات کوچک میتوانند تأثیرات بزرگی بر سلامت و عملکرد کلی سیستمها داشته باشند.
🟣لینک مقاله:
https://postgresweekly.com/link/160422/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
When Postgres Indexing Went Wrong
🟢 خلاصه مقاله:
خلاصهای از مقاله در خصوص درسهایی است که نویسنده در پروژههای برنامهنویسی خود فراگرفته است. اصلیترین نکتهای که در مقاله به آن پرداخته شده است اهمیت دقت در ایجاد شاخصها (indexes) در برنامهنویسی دیتابیس است. نویسنده به خطاهایی که به دلیل عدم توجه کافی به این امر رخ داده، اشاره کرده و خاطرنشان میکند که این فرآیندها به طور خاموش و بدون خطای آشکار، شکست خوردهاند. در نتیجه، تاکید میکند که لازم است برنامهنویسان در هنگام ایجاد شاخصها بسیار محتاط باشند تا از بروز چنین خطاهایی در پروژههای بزرگتر جلوگیری شود. این تجربه نشاندهنده این است که گاهی اوقات جزئیات کوچک میتوانند تأثیرات بزرگی بر سلامت و عملکرد کلی سیستمها داشته باشند.
🟣لینک مقاله:
https://postgresweekly.com/link/160422/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Bemi Blog
When Postgres Indexing Went Wrong
It’s important to understand basics of indexing and best practices around them for preventing system downtime.
❤2
Forwarded from DevOps Labdon
در Kubernetes، کلاستر (Cluster) و نیماسپیس (Namespace) دو مفهوم اصلی هستند که هر کدام نقش متفاوتی در مدیریت و سازماندهی منابع دارند:
### 1. کلاستر (Cluster):
کلاستر در Kubernetes به مجموعهای از نودها (nodes) گفته میشود که با هم کار میکنند تا منابع محاسباتی را فراهم کنند و اپلیکیشنها را اجرا کنند. هر کلاستر Kubernetes شامل یک یا چند نود است که میتواند شامل نودهای اصلی (master node) و نودهای کارگر (worker node) باشد.
در کلاستر:
- نودهای کارگر پادها و سرویسهای اپلیکیشنها را اجرا میکنند.
- نود اصلی وظیفه مدیریت و هماهنگی منابع، مدیریت وضعیت پادها و سرویسها، و فراهم کردن API Kubernetes را برعهده دارد.
کلاستر معمولاً به عنوان یک محیط جداگانه استفاده میشود و شامل تمام منابع محاسباتی و شبکهای مورد نیاز برای اجرای برنامههای کانتینری است.
### 2. نیماسپیس (Namespace):
نیماسپیسها به عنوان یک مکانیزم برای تقسیم منطقی یک کلاستر عمل میکنند. نیماسپیسها به شما اجازه میدهند که منابع و اپلیکیشنهای مختلف را در یک کلاستر مدیریت و جداسازی کنید.
ویژگیهای کلیدی نیماسپیس:
- جداسازی منابع: هر نیماسپیس یک محدوده جداگانه برای منابع مثل پادها، سرویسها، و سایر آبجکتها فراهم میکند. این کمک میکند که از برخورد منابع در یک کلاستر جلوگیری شود.
- مدیریت دسترسیها: نیماسپیسها به شما امکان میدهند که با استفاده از RBAC (Role-Based Access Control) دسترسیها را برای تیمها و کاربران مختلف تعریف کنید.
- مدیریت بهتر در محیطهای اشتراکی: در یک کلاستر بزرگ که چند تیم مختلف ممکن است در حال استفاده از منابع باشند، نیماسپیسها کمک میکنند که هر تیم منابع خود را بهصورت مستقل مدیریت کند.
### تفاوتهای کلیدی:
- کلاستر: یک کلاستر مجموعهای از نودها است که زیرساخت محاسباتی را فراهم میکند و محیطی را برای اجرای پادها در Kubernetes مهیا میسازد. هر کلاستر میتواند شامل چندین نیماسپیس باشد.
- نیماسپیس: نیماسپیس یک واحد سازمانی داخلی در کلاستر است که به جداسازی منابع و مدیریت آنها کمک میکند. نیماسپیسها منابع یک کلاستر را تقسیمبندی میکنند، اما خود کلاستر را تقسیم نمیکنند.
### مثال:
فرض کنید یک سازمان از یک کلاستر برای اجرای چندین اپلیکیشن استفاده میکند. برای جداسازی تیمهای مختلف یا اپلیکیشنهای مختلف در همان کلاستر، میتوان از **نیماسپیس**ها استفاده کرد تا هر تیم بتواند منابع خود را جدا از دیگران مدیریت کند. این باعث میشود که مدیریت اپلیکیشنها سادهتر و مؤثرتر باشد.
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
### 1. کلاستر (Cluster):
کلاستر در Kubernetes به مجموعهای از نودها (nodes) گفته میشود که با هم کار میکنند تا منابع محاسباتی را فراهم کنند و اپلیکیشنها را اجرا کنند. هر کلاستر Kubernetes شامل یک یا چند نود است که میتواند شامل نودهای اصلی (master node) و نودهای کارگر (worker node) باشد.
در کلاستر:
- نودهای کارگر پادها و سرویسهای اپلیکیشنها را اجرا میکنند.
- نود اصلی وظیفه مدیریت و هماهنگی منابع، مدیریت وضعیت پادها و سرویسها، و فراهم کردن API Kubernetes را برعهده دارد.
کلاستر معمولاً به عنوان یک محیط جداگانه استفاده میشود و شامل تمام منابع محاسباتی و شبکهای مورد نیاز برای اجرای برنامههای کانتینری است.
### 2. نیماسپیس (Namespace):
نیماسپیسها به عنوان یک مکانیزم برای تقسیم منطقی یک کلاستر عمل میکنند. نیماسپیسها به شما اجازه میدهند که منابع و اپلیکیشنهای مختلف را در یک کلاستر مدیریت و جداسازی کنید.
ویژگیهای کلیدی نیماسپیس:
- جداسازی منابع: هر نیماسپیس یک محدوده جداگانه برای منابع مثل پادها، سرویسها، و سایر آبجکتها فراهم میکند. این کمک میکند که از برخورد منابع در یک کلاستر جلوگیری شود.
- مدیریت دسترسیها: نیماسپیسها به شما امکان میدهند که با استفاده از RBAC (Role-Based Access Control) دسترسیها را برای تیمها و کاربران مختلف تعریف کنید.
- مدیریت بهتر در محیطهای اشتراکی: در یک کلاستر بزرگ که چند تیم مختلف ممکن است در حال استفاده از منابع باشند، نیماسپیسها کمک میکنند که هر تیم منابع خود را بهصورت مستقل مدیریت کند.
### تفاوتهای کلیدی:
- کلاستر: یک کلاستر مجموعهای از نودها است که زیرساخت محاسباتی را فراهم میکند و محیطی را برای اجرای پادها در Kubernetes مهیا میسازد. هر کلاستر میتواند شامل چندین نیماسپیس باشد.
- نیماسپیس: نیماسپیس یک واحد سازمانی داخلی در کلاستر است که به جداسازی منابع و مدیریت آنها کمک میکند. نیماسپیسها منابع یک کلاستر را تقسیمبندی میکنند، اما خود کلاستر را تقسیم نمیکنند.
### مثال:
فرض کنید یک سازمان از یک کلاستر برای اجرای چندین اپلیکیشن استفاده میکند. برای جداسازی تیمهای مختلف یا اپلیکیشنهای مختلف در همان کلاستر، میتوان از **نیماسپیس**ها استفاده کرد تا هر تیم بتواند منابع خود را جدا از دیگران مدیریت کند. این باعث میشود که مدیریت اپلیکیشنها سادهتر و مؤثرتر باشد.
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
🙏2
🔵 عنوان مقاله
Keynote Speakers Announced for PASS Data Community Summit 2024
🟢 خلاصه مقاله:
مؤتمر PASS Summit که یک رویداد برجسته در حوزه پایگاه داده است، تازگیاً سخنرانان اصلی خود را برای رویداد امسال که از تاریخ 4 تا 8 نوامبر 2024 برگزار خواهد شد معرفی کرده است. سخنرانان کلیدی از شرکتهای مایکروسافت، ردگیت و یک کارشناس برجسته از جامعه حضور خواهند داشت. این فرصتی عالی برای شنیدن آخرین نوآوریها و بهترین شیوهها در زمینههایی نظیر توسعه پایگاه داده، مدیریت داده و تحلیل داده است. علاقمندان توصیه میشود که بلیط سه روزه خود را پیش از افزایش قیمت بعدی تهیه کنند تا از حضور در این رویداد کلیدی و تاثیرگذار بهرهمند شوند.
🟣لینک مقاله:
https://postgresweekly.com/link/160398/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Keynote Speakers Announced for PASS Data Community Summit 2024
🟢 خلاصه مقاله:
مؤتمر PASS Summit که یک رویداد برجسته در حوزه پایگاه داده است، تازگیاً سخنرانان اصلی خود را برای رویداد امسال که از تاریخ 4 تا 8 نوامبر 2024 برگزار خواهد شد معرفی کرده است. سخنرانان کلیدی از شرکتهای مایکروسافت، ردگیت و یک کارشناس برجسته از جامعه حضور خواهند داشت. این فرصتی عالی برای شنیدن آخرین نوآوریها و بهترین شیوهها در زمینههایی نظیر توسعه پایگاه داده، مدیریت داده و تحلیل داده است. علاقمندان توصیه میشود که بلیط سه روزه خود را پیش از افزایش قیمت بعدی تهیه کنند تا از حضور در این رویداد کلیدی و تاثیرگذار بهرهمند شوند.
🟣لینک مقاله:
https://postgresweekly.com/link/160398/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
PASS Data Community Summit
All sessions - PASS Data Community Summit
🔵 عنوان مقاله
Generating a Few Secure, Random Bytes Without pgcrypto
🟢 خلاصه مقاله:
مقاله مورد نظر به بررسی تولید اعداد تصادفی در زیرساختهای مختلف میپردازد. تابع random() اعداد شبهتصادفی ایجاد میکند، اما با استفاده از ماژول pgcrypto میتوان به تصادفیترین نمونهها دست یافت. با این حال، اگر سرور (مانند سرورهای محلی) روی OpenSSL ساخته نشده باشد، pgcrypto در دسترس نخواهد بود. در چنین شرایطی، Brandur یک جایگزین جذاب پیدا کردهاست که میتوان به عنوان یک راه حل مفید استفاده کرد. این جایگزین میتواند برای تولید اعداد تصادفی مورد استفاده قرار گیرد وقتی که دسترسی به pgcrypto مقدور نمیباشد. بنابراین، افراد و سازمانهایی که با محدودیتهایی مانند عدم دسترسی به OpenSSL روبرو هستند، میتوانند از این گزینه استفاده کنند تا اطمینان حاصل کنند که تولید دادههای تصادفی با کیفیت بالا همچنان امکانپذیر است.
🟣لینک مقاله:
https://postgresweekly.com/link/160418/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Generating a Few Secure, Random Bytes Without pgcrypto
🟢 خلاصه مقاله:
مقاله مورد نظر به بررسی تولید اعداد تصادفی در زیرساختهای مختلف میپردازد. تابع random() اعداد شبهتصادفی ایجاد میکند، اما با استفاده از ماژول pgcrypto میتوان به تصادفیترین نمونهها دست یافت. با این حال، اگر سرور (مانند سرورهای محلی) روی OpenSSL ساخته نشده باشد، pgcrypto در دسترس نخواهد بود. در چنین شرایطی، Brandur یک جایگزین جذاب پیدا کردهاست که میتوان به عنوان یک راه حل مفید استفاده کرد. این جایگزین میتواند برای تولید اعداد تصادفی مورد استفاده قرار گیرد وقتی که دسترسی به pgcrypto مقدور نمیباشد. بنابراین، افراد و سازمانهایی که با محدودیتهایی مانند عدم دسترسی به OpenSSL روبرو هستند، میتوانند از این گزینه استفاده کنند تا اطمینان حاصل کنند که تولید دادههای تصادفی با کیفیت بالا همچنان امکانپذیر است.
🟣لینک مقاله:
https://postgresweekly.com/link/160418/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
brandur.org
A few secure, random bytes without `pgcrypto`
Avoiding the <code>pgcrypto</code> extension and its OpenSSL dependency by generating cryptographically secure randomness through <code>gen_random_uuid()</code>.
✍️shahriyar bayatshahriyar bayat
قابلیت invisible index برای پیدا کردن بدترین ایندکس ها
ویژگی Ignored Indexes تو MariaDB یکی از ویژگیهای جدید و خیلی کاربردیه که این امکان و میده ایندکسها رو موقع عملیات select نادیده بگیره. یعنی ایندکسها همچنان نگهداری و بهروزرسانی میشن، ولی Optimizer دیگه از اونا تو کوئریها استفاده نمیکنه.
این ویژگی شبیه قابلیت Invisible Indexes تو دیتابیس MySQL نسخه ۸ هست. این ویژگی مخصوصا تو تستهایی که میخواهید ببینید حذف یه ایندکس چه تاثیری روی کارایی و سرعت کوئریها داره به درد میخوره. با این کار میتونید قبل از حذف نهایی یه ایندکس، اونو به حالت ignore دربیارین و اگه با مشکلی مثل کم شدن سرعت کوئری یا کم شدن پرفورمنس روبرو شدید، به راحتی دوباره اونو فعال کنید.
یه مثال ساده تو دیتابیس MariaDB ببینیم
فرض کنید جدولی به اسم users داریم و یه ایندکس روی ستون email درست کردیم. حالا میخوایم بررسی کنیم که اگه این ایندکس ignore بشه، چه تاثیری روی عملکرد کوئری ها داره. با استفاده از دستور زیر میتونیم این کار رو انجام بدیم:
ALTER TABLE users ALTER INDEX email_index IGNORED;
تو این حالت، ایندکس همچنان نگه داشته میشه و دادههای جدید به آن اضافه میشه، ولی optimizer دیتابیس ازش استفاده نمیکنه. اگه بعد از یه مدتی دیدین که نادیده گرفتن ایندکس باعث شده سرعت کوئری کم بشه یا پرفورمنسش اومده پایین ، میتونید به راحتی با این دستور دوباره فعالش کنید:
ALTER TABLE users ALTER INDEX email_index NOT IGNORED;
عملکرد در MySQL:
این قابلیت تو MySQL 8 با اسم Invisible Indexes معرفی شده. مکانیزمش دقیقا شبیه دیتابیس mariadb فقط کلمه کلیدی هاشون متفاوت هست. اینجا میتونیم ایندکسها رو به حالت invisible در بیاریم و optimizer ازش استفاده نمیکنه ولی همچنان ایندکس ها رو نگه میداره. دستورش هم به این شکل استفاده میشه:
ALTER TABLE users ALTER INDEX email_index INVISIBLE;
برای برگردوندن ایندکس به حالت قابل استفاده:
ALTER TABLE users ALTER INDEX email_index VISIBLE;
قابلیت invisible index توی دیتابیس PostgreSQL چطوریه؟
تو دیتابیس PostgreSQL ویژگی invisible index به صورت پیشفرض وجود نداره و به صورت built-in این قابلیت رو ارائه ندادن متاسفانه.
بریم ببینیم Under the Hood چه خبره؟
وقتی یه ایندکس به حالت Ignored یا Invisible تو MariaDB و MySQL درآورده میشه، دیتابیس همچنان ایندکس رو بهروزرسانی میکنه و برای عملیات INSERT، UPDATE و DELETE همچنان تغییرات رو اعمال میکنه. اما الگوریتم optimizer موقع اجرای کوئریها، ایندکس و نادیده میگیره. این کار باعث میشه بدون تغییر ساختار اصلی ایندکسها، بتوینم تاثیر اونارو روی عملکرد کوئریها تست کنیم.
اینجا یه الگوریتم ساده استفاده کردن که ایندکسهای قابل استفاده رو از لیست حذف میکنه و برای بهینهسازی کوئری فقط از ایندکسهای visible استفاده میکنه. این انعطافپذیری به ما اجازه میده تا تصمیم دقیقتر و بهتری در مورد نگهداری یا حذف ایندکسها بگیریم. بدون اینکه نیاز باشه ایندکس و کامل حذف کنیم و ریسک از دست دادن سرعت و پرفورمنس و بخوایم بپذیریم.
تو مصاحبه ها اگر ازتون در مورد ایندکس گذاری روی فیلدهای دیتابیس پرسیدن میتونین این فیچر و به عنوان راه حل نهایی ارائه بدین.
➖➖➖➖➖➖➖➖
👑 @Database_Academy
قابلیت invisible index برای پیدا کردن بدترین ایندکس ها
ویژگی Ignored Indexes تو MariaDB یکی از ویژگیهای جدید و خیلی کاربردیه که این امکان و میده ایندکسها رو موقع عملیات select نادیده بگیره. یعنی ایندکسها همچنان نگهداری و بهروزرسانی میشن، ولی Optimizer دیگه از اونا تو کوئریها استفاده نمیکنه.
این ویژگی شبیه قابلیت Invisible Indexes تو دیتابیس MySQL نسخه ۸ هست. این ویژگی مخصوصا تو تستهایی که میخواهید ببینید حذف یه ایندکس چه تاثیری روی کارایی و سرعت کوئریها داره به درد میخوره. با این کار میتونید قبل از حذف نهایی یه ایندکس، اونو به حالت ignore دربیارین و اگه با مشکلی مثل کم شدن سرعت کوئری یا کم شدن پرفورمنس روبرو شدید، به راحتی دوباره اونو فعال کنید.
یه مثال ساده تو دیتابیس MariaDB ببینیم
فرض کنید جدولی به اسم users داریم و یه ایندکس روی ستون email درست کردیم. حالا میخوایم بررسی کنیم که اگه این ایندکس ignore بشه، چه تاثیری روی عملکرد کوئری ها داره. با استفاده از دستور زیر میتونیم این کار رو انجام بدیم:
ALTER TABLE users ALTER INDEX email_index IGNORED;
تو این حالت، ایندکس همچنان نگه داشته میشه و دادههای جدید به آن اضافه میشه، ولی optimizer دیتابیس ازش استفاده نمیکنه. اگه بعد از یه مدتی دیدین که نادیده گرفتن ایندکس باعث شده سرعت کوئری کم بشه یا پرفورمنسش اومده پایین ، میتونید به راحتی با این دستور دوباره فعالش کنید:
ALTER TABLE users ALTER INDEX email_index NOT IGNORED;
عملکرد در MySQL:
این قابلیت تو MySQL 8 با اسم Invisible Indexes معرفی شده. مکانیزمش دقیقا شبیه دیتابیس mariadb فقط کلمه کلیدی هاشون متفاوت هست. اینجا میتونیم ایندکسها رو به حالت invisible در بیاریم و optimizer ازش استفاده نمیکنه ولی همچنان ایندکس ها رو نگه میداره. دستورش هم به این شکل استفاده میشه:
ALTER TABLE users ALTER INDEX email_index INVISIBLE;
برای برگردوندن ایندکس به حالت قابل استفاده:
ALTER TABLE users ALTER INDEX email_index VISIBLE;
قابلیت invisible index توی دیتابیس PostgreSQL چطوریه؟
تو دیتابیس PostgreSQL ویژگی invisible index به صورت پیشفرض وجود نداره و به صورت built-in این قابلیت رو ارائه ندادن متاسفانه.
بریم ببینیم Under the Hood چه خبره؟
وقتی یه ایندکس به حالت Ignored یا Invisible تو MariaDB و MySQL درآورده میشه، دیتابیس همچنان ایندکس رو بهروزرسانی میکنه و برای عملیات INSERT، UPDATE و DELETE همچنان تغییرات رو اعمال میکنه. اما الگوریتم optimizer موقع اجرای کوئریها، ایندکس و نادیده میگیره. این کار باعث میشه بدون تغییر ساختار اصلی ایندکسها، بتوینم تاثیر اونارو روی عملکرد کوئریها تست کنیم.
اینجا یه الگوریتم ساده استفاده کردن که ایندکسهای قابل استفاده رو از لیست حذف میکنه و برای بهینهسازی کوئری فقط از ایندکسهای visible استفاده میکنه. این انعطافپذیری به ما اجازه میده تا تصمیم دقیقتر و بهتری در مورد نگهداری یا حذف ایندکسها بگیریم. بدون اینکه نیاز باشه ایندکس و کامل حذف کنیم و ریسک از دست دادن سرعت و پرفورمنس و بخوایم بپذیریم.
تو مصاحبه ها اگر ازتون در مورد ایندکس گذاری روی فیلدهای دیتابیس پرسیدن میتونین این فیچر و به عنوان راه حل نهایی ارائه بدین.
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Forwarded from Future Pulse Persian
🔵 عنوان مقاله
pgMustard v5: Review Postgres Query Plans Quickly
🟢 خلاصه مقاله:
مقالهای که مورد بحث قرار گرفته، در مورد ابزاری است که به تجزیه و تحلیل برنامههای پرس و جو در پایگاه داده Postgres کمک میکند. این ابزار اکنون از نسخه 17 Postgres پشتیبانی پیشرفتهای دارد و دارای نوعهای جدیدی از راهنماها برای مشکلاتی مانند کامپایل JIT زیر بهینه و زمانهای بیش از حد طولانی برای محرکها (triggers) است. استفاده از این ابزار برای پنج مرتبه رایگان میباشد، اما بعد از آن به یک سرویس پولی تبدیل میشود. این ابزار میتواند به توسعه دهندگان و مدیران پایگاه داده کمک کند تا بهتر و سریعتر بهینهسازی پرس و جوهای خود را انجام دهند، به خصوص با توجه به افزایش پیچیدگی و حجم دادهها در اپلیکیشنهای مدرن.
🟣لینک مقاله:
https://postgresweekly.com/link/160430/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
pgMustard v5: Review Postgres Query Plans Quickly
🟢 خلاصه مقاله:
مقالهای که مورد بحث قرار گرفته، در مورد ابزاری است که به تجزیه و تحلیل برنامههای پرس و جو در پایگاه داده Postgres کمک میکند. این ابزار اکنون از نسخه 17 Postgres پشتیبانی پیشرفتهای دارد و دارای نوعهای جدیدی از راهنماها برای مشکلاتی مانند کامپایل JIT زیر بهینه و زمانهای بیش از حد طولانی برای محرکها (triggers) است. استفاده از این ابزار برای پنج مرتبه رایگان میباشد، اما بعد از آن به یک سرویس پولی تبدیل میشود. این ابزار میتواند به توسعه دهندگان و مدیران پایگاه داده کمک کند تا بهتر و سریعتر بهینهسازی پرس و جوهای خود را انجام دهند، به خصوص با توجه به افزایش پیچیدگی و حجم دادهها در اپلیکیشنهای مدرن.
🟣لینک مقاله:
https://postgresweekly.com/link/160430/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
pgMustard
pgMustard - review Postgres query plans quickly
pgMustard is a Postgres EXPLAIN visualisation tool that also gives performance advice, scored based on its potential to speed up your query.
🔵 عنوان مقاله
Building an Image Search Engine on Postgres
🟢 خلاصه مقاله:
مقاله مورد نظر به بررسی و تشریح رویکردی در پردازش و تحلیل تصاویر با استفاده از فناوری نامیده شده "pgvector" پرداخته است. این فناوری بر اساس گرفتن تصاویر و سپس تولید نقاط عددی فشرده شده موسوم به "embeddings" کار میکند. این نقاط عددی (embeddings) میتوانند برای جستجو و یافتن تصاویر مشابه به کار روند، که این امر از طریق جستجوی برداری شباهت (vector similarity search) انجام میگیرد. این روش اجازه میدهد که تصاویر مختلف بر اساس شباهتهای دقیقی که در نقاط عددی آنها نهفته است، شناسایی و مقایسه شوند. این تکنولوژی در بسیاری از بخشها از جمله بهبود الگوریتمهای توصیهگر، سیستمهای بازیابی اطلاعات و dهوش مصنوعی تصویری کاربرد دارد.
🟣لینک مقاله:
https://postgresweekly.com/link/160411/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Building an Image Search Engine on Postgres
🟢 خلاصه مقاله:
مقاله مورد نظر به بررسی و تشریح رویکردی در پردازش و تحلیل تصاویر با استفاده از فناوری نامیده شده "pgvector" پرداخته است. این فناوری بر اساس گرفتن تصاویر و سپس تولید نقاط عددی فشرده شده موسوم به "embeddings" کار میکند. این نقاط عددی (embeddings) میتوانند برای جستجو و یافتن تصاویر مشابه به کار روند، که این امر از طریق جستجوی برداری شباهت (vector similarity search) انجام میگیرد. این روش اجازه میدهد که تصاویر مختلف بر اساس شباهتهای دقیقی که در نقاط عددی آنها نهفته است، شناسایی و مقایسه شوند. این تکنولوژی در بسیاری از بخشها از جمله بهبود الگوریتمهای توصیهگر، سیستمهای بازیابی اطلاعات و dهوش مصنوعی تصویری کاربرد دارد.
🟣لینک مقاله:
https://postgresweekly.com/link/160411/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
tembo.io
Building an image search engine on Postgres | Tembo
Search images with text and existing images using Postgres.
🔵 عنوان مقاله
Waiting for Postgres 18: Add Temporal PRIMARY KEY and UNIQUE Constraints
🟢 خلاصه مقاله:
Postgres 17, نسخهای جدید از پایگاه داده، به تازگی منتشر شده است. با این حال، Hubert نگاهی به آینده دارد و برای نسخهی بعدی، یعنی Postgres 18، برنامههایی دارد. یکی از ویژگیهای اصلی که در نظر گرفته شده است، روش جدیدی برای اجرایی کردن انحصاریت در طول یک دوره زمانی است، که از کلیدواژه "WITHOUT OVERLAPS" به جای مقادیر ثابت استفاده میکند. این قابلیت به کاربران اجازه میدهد تا اطمینان حاصل کنند که دادهها در فواصل زمانی خاص تکرار نشوند، که این امکان پذیری جدید، فرصتهای زیادی برای کاربردهای مرتبط با زمان مانند برنامهریزی و رزرو را فراهم میآورد. این قابلیت تحولی در نحوه کارکرد و اعتبارسنجی دادهها در پایگاههای داده به شمار میآید.
🟣لینک مقاله:
https://postgresweekly.com/link/160523/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Waiting for Postgres 18: Add Temporal PRIMARY KEY and UNIQUE Constraints
🟢 خلاصه مقاله:
Postgres 17, نسخهای جدید از پایگاه داده، به تازگی منتشر شده است. با این حال، Hubert نگاهی به آینده دارد و برای نسخهی بعدی، یعنی Postgres 18، برنامههایی دارد. یکی از ویژگیهای اصلی که در نظر گرفته شده است، روش جدیدی برای اجرایی کردن انحصاریت در طول یک دوره زمانی است، که از کلیدواژه "WITHOUT OVERLAPS" به جای مقادیر ثابت استفاده میکند. این قابلیت به کاربران اجازه میدهد تا اطمینان حاصل کنند که دادهها در فواصل زمانی خاص تکرار نشوند، که این امکان پذیری جدید، فرصتهای زیادی برای کاربردهای مرتبط با زمان مانند برنامهریزی و رزرو را فراهم میآورد. این قابلیت تحولی در نحوه کارکرد و اعتبارسنجی دادهها در پایگاههای داده به شمار میآید.
🟣لینک مقاله:
https://postgresweekly.com/link/160523/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
👍1
🔵 عنوان مقاله
Run GitHub Actions Up to 2x Faster at Half the Cost
🟢 خلاصه مقاله:
Blacksmith یک ابزار است که اجرای GitHub Actions را به طور قابل توجهی سریعتر میکند، و این کار را با استفاده از پردازندههای مدرن بازیسازی انجام میدهد. ادغام Blacksmith در سیستمهای موجود فقط با تغییر یک خط کد امکانپذیر است. بیش از ۱۰۰ شرکت مانند Ashby، Superblocks و Slope از این ابزار استفاده میکنند تا به توسعهدهندگان کمک کنند که کدهای خود را سریعتر ادغام کنند. استفاده از Blacksmith میتواند به بهینهسازی فرآیندهای توسعه و کاهش زمان مورد نیاز برای تایید و ادغام تغییرات کمک کند، در نتیجه افزایش بهرهوری و سرعت را در پروژههای نرمافزاری به ارمغان میآورد.
🟣لینک مقاله:
https://postgresweekly.com/link/160511/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Run GitHub Actions Up to 2x Faster at Half the Cost
🟢 خلاصه مقاله:
Blacksmith یک ابزار است که اجرای GitHub Actions را به طور قابل توجهی سریعتر میکند، و این کار را با استفاده از پردازندههای مدرن بازیسازی انجام میدهد. ادغام Blacksmith در سیستمهای موجود فقط با تغییر یک خط کد امکانپذیر است. بیش از ۱۰۰ شرکت مانند Ashby، Superblocks و Slope از این ابزار استفاده میکنند تا به توسعهدهندگان کمک کنند که کدهای خود را سریعتر ادغام کنند. استفاده از Blacksmith میتواند به بهینهسازی فرآیندهای توسعه و کاهش زمان مورد نیاز برای تایید و ادغام تغییرات کمک کند، در نتیجه افزایش بهرهوری و سرعت را در پروژههای نرمافزاری به ارمغان میآورد.
🟣لینک مقاله:
https://postgresweekly.com/link/160511/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Forwarded from Future Pulse Persian
🎯اگر علاقه مند به موضوعات👈🏻 بلاکچین/ارزهای دیجیتال/هوش مصنوعی/DeFi/NFTS هستید
👇 چنل زیر رو از دست ندید(با موضاعات متنوع و بروز)
📈 Bitcoin & Ethereum Trends
💰 Exciting Altcoins News
🔗 Cutting-Edge Blockchain Innovations
📊 Business Insights & Market Analysis
📜 Policy & Regulations Updates
🤖 AI: Artificial Intelligence Advancements
🎨 The World of NFTs
🌐 Decentralized Finance (DeFi) News
➖➖➖➖➖➖➖➖
👑 @Blockchain_labdon
👇 چنل زیر رو از دست ندید(با موضاعات متنوع و بروز)
📈 Bitcoin & Ethereum Trends
💰 Exciting Altcoins News
🔗 Cutting-Edge Blockchain Innovations
📊 Business Insights & Market Analysis
📜 Policy & Regulations Updates
🤖 AI: Artificial Intelligence Advancements
🎨 The World of NFTs
🌐 Decentralized Finance (DeFi) News
➖➖➖➖➖➖➖➖
👑 @Blockchain_labdon
🔵 عنوان مقاله
▶ Heroku's Glory Days and Postgres vs The World
🟢 خلاصه مقاله:
در مصاحبهای که با کریگ کرستینس، شخصیت شناختهشده در زمینه Postgres، انجام شده، وی درباره تجربیات خود با Postgres در شرکتهای Heroku، Citus Data و اکنون Crunchy Data صحبت کرده است. این مصاحبه تنها درباره او نیست، بلکه مملو از بینشهایی درباره ساخت اکوسیستمها، افزایش مقیاسپذیری Postgres و حتی DuckDB میباشد. آرون فرانسیس، که در حال کار بر روی دوره آموزشی قریبالوقوع Mastering Postgres است، میزبان این گفتگو بوده و کرستینس به اشتراکگذاری دیدگاهها و تجربیات ارزشمند خود پرداخته است. این مصاحبه پر از نکات کلیدی در مورد نحوه توسعه و مدیریت فناوریهای پایگاه داده به ویژه در محیطهای کسبوکار است که میتواند به علاقهمندان و متخصصان در این حوزه کمک شایانی کند.
🟣لینک مقاله:
https://postgresweekly.com/link/160515/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
▶ Heroku's Glory Days and Postgres vs The World
🟢 خلاصه مقاله:
در مصاحبهای که با کریگ کرستینس، شخصیت شناختهشده در زمینه Postgres، انجام شده، وی درباره تجربیات خود با Postgres در شرکتهای Heroku، Citus Data و اکنون Crunchy Data صحبت کرده است. این مصاحبه تنها درباره او نیست، بلکه مملو از بینشهایی درباره ساخت اکوسیستمها، افزایش مقیاسپذیری Postgres و حتی DuckDB میباشد. آرون فرانسیس، که در حال کار بر روی دوره آموزشی قریبالوقوع Mastering Postgres است، میزبان این گفتگو بوده و کرستینس به اشتراکگذاری دیدگاهها و تجربیات ارزشمند خود پرداخته است. این مصاحبه پر از نکات کلیدی در مورد نحوه توسعه و مدیریت فناوریهای پایگاه داده به ویژه در محیطهای کسبوکار است که میتواند به علاقهمندان و متخصصان در این حوزه کمک شایانی کند.
🟣لینک مقاله:
https://postgresweekly.com/link/160515/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
YouTube
Heroku's glory days & Postgres vs the world, w/ Craig Kerstiens
Want to learn more Postgres? Get on the waiting list for the full course: https://masteringpostgres.com.
In this interview, I dive deep with Craig Kerstiens from Crunchy Data into the world of Postgres, covering its rise to prominence, scaling at Heroku…
In this interview, I dive deep with Craig Kerstiens from Crunchy Data into the world of Postgres, covering its rise to prominence, scaling at Heroku…
امروز میخوام ACID رو توضیح بدم که چهار ویژگی مهم در تراکنشهای پایگاه داده است. بیایید با هم هر کدام از این مفاهیم رو مرور کنیم:
Atomicity (اتمی بودن)
یعنی یا همه عملیاتهای یک تراکنش بهدرستی انجام میشه یا هیچکدام انجام نمیشه. اگر خطایی رخ بده، همه تغییرات برگردونده میشه. مثلاً اگر در هنگام خرید اینترنتی انتقال پول از حساب شما با مشکل مواجه بشه، تراکنش برگردونده میشه و از حساب شما پولی کسر نمیشه.
Consistency (سازگاری)
یعنی پس از هر تراکنش، پایگاه داده همچنان طبق قوانین تعریفشده عمل میکنه. مثلاً در یک سیستم بانکی، قانون اینه که مجموع موجودی حسابها نباید منفی بشه. حالا تصور کنید اگر کسی بخواد پولی از حساب A به حساب B منتقل کنه و این انتقال ناتمام بمونه (پول از A کم بشه ولی به B اضافه نشه)، قوانین Consistency اجازه نمیده این اتفاق بیفته و تراکنش رو برمیگردونه تا موجودیها درست باشه.
Isolation (انزوا)
یعنی تراکنشها از هم جدا هستن و تأثیری روی هم ندارن. به این معنی که اگر دو نفر همزمان در حال انجام تراکنش باشن، یکی روی دیگری تأثیر نمیگذاره و نتایج تراکنشها به هم نمیریزه.
Durability (دوام)
یعنی وقتی یک تراکنش به پایان رسید و تأیید شد، تغییرات اون حتی در صورت بروز مشکل یا قطعی سیستم همچنان ذخیره میمونه. مثلاً وقتی شما پولی به حساب دیگری واریز میکنید، حتی اگر سیستم دچار قطعی بشه، این انتقال در پایگاه داده ثبت شده و از بین نمیره.
DevTwitter | <Firoozeh Daeizadeh/>
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Atomicity (اتمی بودن)
یعنی یا همه عملیاتهای یک تراکنش بهدرستی انجام میشه یا هیچکدام انجام نمیشه. اگر خطایی رخ بده، همه تغییرات برگردونده میشه. مثلاً اگر در هنگام خرید اینترنتی انتقال پول از حساب شما با مشکل مواجه بشه، تراکنش برگردونده میشه و از حساب شما پولی کسر نمیشه.
Consistency (سازگاری)
یعنی پس از هر تراکنش، پایگاه داده همچنان طبق قوانین تعریفشده عمل میکنه. مثلاً در یک سیستم بانکی، قانون اینه که مجموع موجودی حسابها نباید منفی بشه. حالا تصور کنید اگر کسی بخواد پولی از حساب A به حساب B منتقل کنه و این انتقال ناتمام بمونه (پول از A کم بشه ولی به B اضافه نشه)، قوانین Consistency اجازه نمیده این اتفاق بیفته و تراکنش رو برمیگردونه تا موجودیها درست باشه.
Isolation (انزوا)
یعنی تراکنشها از هم جدا هستن و تأثیری روی هم ندارن. به این معنی که اگر دو نفر همزمان در حال انجام تراکنش باشن، یکی روی دیگری تأثیر نمیگذاره و نتایج تراکنشها به هم نمیریزه.
Durability (دوام)
یعنی وقتی یک تراکنش به پایان رسید و تأیید شد، تغییرات اون حتی در صورت بروز مشکل یا قطعی سیستم همچنان ذخیره میمونه. مثلاً وقتی شما پولی به حساب دیگری واریز میکنید، حتی اگر سیستم دچار قطعی بشه، این انتقال در پایگاه داده ثبت شده و از بین نمیره.
DevTwitter | <Firoozeh Daeizadeh/>
➖➖➖➖➖➖➖➖
👑 @Database_Academy
👍4
🔵 عنوان مقاله
Exploring the Limits of Postgres: When Does It Break?
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، به بررسی محدودیتها و نقاط ضعف سرورهای تکگرهای Postgres در دنیای واقعی میپردازد. ابتدا، مقاله محدودیتهای نظری Postgres را بیان میکند، سپس به بررسی عملی آنها میپردازد تا مشخص شود که در شرایط واقعی تا چه حدی میتوان به آنها اعتماد کرد. نکته کلیدی مقاله، شناسایی بطنهای اصلی است که در عملکرد سرورهای Postgres تاثیر میگذارند. از جمله این بطنها میتوان به مدیریت حافظه، پردازش موازی، و دسترسی به دیسک اشاره کرد. به علاوه، مقاله به ارائه راهکارهایی برای بهبود عملکرد این سرورها میپردازد، که شامل تنظیمات پیکربندی خاص و استفاده بهینه از منابع سختافزاری است. این بررسیها به شناخت بهتر محدودیتهای عملی Postgres کمک میکند و راهکارهایی برای افزایش کارایی در محیطهای تولیدی ارائه میدهد.
🟣لینک مقاله:
https://postgresweekly.com/link/160524/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Exploring the Limits of Postgres: When Does It Break?
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، به بررسی محدودیتها و نقاط ضعف سرورهای تکگرهای Postgres در دنیای واقعی میپردازد. ابتدا، مقاله محدودیتهای نظری Postgres را بیان میکند، سپس به بررسی عملی آنها میپردازد تا مشخص شود که در شرایط واقعی تا چه حدی میتوان به آنها اعتماد کرد. نکته کلیدی مقاله، شناسایی بطنهای اصلی است که در عملکرد سرورهای Postgres تاثیر میگذارند. از جمله این بطنها میتوان به مدیریت حافظه، پردازش موازی، و دسترسی به دیسک اشاره کرد. به علاوه، مقاله به ارائه راهکارهایی برای بهبود عملکرد این سرورها میپردازد، که شامل تنظیمات پیکربندی خاص و استفاده بهینه از منابع سختافزاری است. این بررسیها به شناخت بهتر محدودیتهای عملی Postgres کمک میکند و راهکارهایی برای افزایش کارایی در محیطهای تولیدی ارائه میدهد.
🟣لینک مقاله:
https://postgresweekly.com/link/160524/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
stepchange.work
Exploring the limits of Postgres: when does it break? – StepChange
In this post, we explore the limits of single-node Postgres and what optimizations can extend its usefulness as a primary application database before requiring more advanced scaling solutions.
Monolithic ecommerce app on RDS PostgreSQL
Let's use a real…
Monolithic ecommerce app on RDS PostgreSQL
Let's use a real…
🔵 عنوان مقاله
▶ SQL IN Clauses are Miles Faster in Postgres 17
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، به توضیحات حسین در مورد بهبودهای صورت گرفته در عملکرد اسکن درخت B در نگارش PG17 میپردازد، وقتی که از دستور IN در SQL استفاده میشود. حسین در این مقاله از طریق یک اسکرینکست، جزئیات فنی و نحوه پیادهسازی این ویژگیها را شرح داده و با رویکرد SQL Server در این زمینه مقایسه میکند. علاوه بر ارائه توضیحات تئوری، حسین با اجرای یک دموی زنده، نمایش میدهد که چگونه این بهبودها در عمل عملکرد بهتری را ارائه میدهند. این مقاله نشان میدهد که PG17 چگونه توانسته است به صورت قابل توجهی بهینهسازیهایی در پردازش و کارایی پایگاهداده ایجاد کند و سطح توانمندیهای آن را در رقابت با سایر سیستمهای مدیریت پایگاه داده مطرح نماید.
🟣لینک مقاله:
https://postgresweekly.com/link/160517/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
▶ SQL IN Clauses are Miles Faster in Postgres 17
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، به توضیحات حسین در مورد بهبودهای صورت گرفته در عملکرد اسکن درخت B در نگارش PG17 میپردازد، وقتی که از دستور IN در SQL استفاده میشود. حسین در این مقاله از طریق یک اسکرینکست، جزئیات فنی و نحوه پیادهسازی این ویژگیها را شرح داده و با رویکرد SQL Server در این زمینه مقایسه میکند. علاوه بر ارائه توضیحات تئوری، حسین با اجرای یک دموی زنده، نمایش میدهد که چگونه این بهبودها در عمل عملکرد بهتری را ارائه میدهند. این مقاله نشان میدهد که PG17 چگونه توانسته است به صورت قابل توجهی بهینهسازیهایی در پردازش و کارایی پایگاهداده ایجاد کند و سطح توانمندیهای آن را در رقابت با سایر سیستمهای مدیریت پایگاه داده مطرح نماید.
🟣لینک مقاله:
https://postgresweekly.com/link/160517/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
YouTube
SQL IN clauses are miles faster in Postgres 17
Fundamentals of Database Engineering udemy course
https://databases.win
Postgres 17 is released! and it brings amazing performance features. In this video I discuss one of those performance features specifically the BTree scan optimization with IN. So…
https://databases.win
Postgres 17 is released! and it brings amazing performance features. In this video I discuss one of those performance features specifically the BTree scan optimization with IN. So…
👍1