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

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

ادمین:
@mrbardia72
Download Telegram

👑 @Database_Academy
👍5🔥1💘1
🔵 عنوان مقاله
Why to Stop Using SERIAL in Postgres

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته است به تفاوت‌ها و مشکلات استفاده از ستون‌های SERIAL در مقایسه با ستون‌های Identity در پایگاه‌داده‌ها می‌پردازد. SERIAL، که اغلب به خاطر سهولت در ایجاد شناسه خودکار در ستون‌ها استفاده می‌شود، مختص به Postgres بوده و دارای چندین نقص است. برعکس، ستون‌های Identity که بخشی از استاندارد SQL:2003 هستند، نه تنها توسط Postgres پشتیبانی می‌شوند بلکه مطابق با استاندارد جهانی هستند. این مقاله تفاوت‌های کلیدی بین این دو گزینه و مزایای استفاده از ستون‌های Identity را بررسی می‌کند، که این شامل سازگاری بیشتر با استانداردهای بین‌المللی و قابلیت اطمینان بالاتر است.

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


👑 @Database_Academy
👍1🎉1
🔵 عنوان مقاله
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
👍1
🔵 عنوان مقاله
PostgreSQL 17 Released

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

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


👑 @Database_Academy
👏1
🔵Top 50 MySQL Interview Questions (2024)

🎯 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
🔵 عنوان مقاله
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
🔵 عنوان مقاله
When Postgres Indexing Went Wrong

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

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


👑 @Database_Academy
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
🙏2
🔵 عنوان مقاله
Keynote Speakers Announced for PASS Data Community Summit 2024

🟢 خلاصه مقاله:
مؤتمر PASS Summit که یک رویداد برجسته در حوزه پایگاه داده است، تازگیاً سخنرانان اصلی خود را برای رویداد امسال که از تاریخ 4 تا 8 نوامبر 2024 برگزار خواهد شد معرفی کرده است. سخنرانان کلیدی از شرکت‌های مایکروسافت، ردگیت و یک کارشناس برجسته از جامعه حضور خواهند داشت. این فرصتی عالی برای شنیدن آخرین نوآوری‌ها و بهترین شیوه‌ها در زمینه‌هایی نظیر توسعه پایگاه داده، مدیریت داده و تحلیل داده است. علاقمندان توصیه می‌شود که بلیط سه روزه خود را پیش از افزایش قیمت بعدی تهیه کنند تا از حضور در این رویداد کلیدی و تاثیرگذار بهره‌مند شوند.

🟣لینک مقاله:
https://postgresweekly.com/link/160398/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
✍️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
Forwarded from Future Pulse Persian
✍️ Mahsa HafeziKhomamy

🕸 @labdon_academy
🔵 عنوان مقاله
pgMustard v5: Review Postgres Query Plans Quickly

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

🟣لینک مقاله:
https://postgresweekly.com/link/160430/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
🔵 عنوان مقاله
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
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
🔵 عنوان مقاله
  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
امروز می‌خوام ACID رو توضیح بدم که چهار ویژگی مهم در تراکنش‌های پایگاه داده است. بیایید با هم هر کدام از این مفاهیم رو مرور کنیم:

Atomicity (اتمی بودن)
یعنی یا همه عملیات‌های یک تراکنش به‌درستی انجام میشه یا هیچ‌کدام انجام نمیشه. اگر خطایی رخ بده، همه تغییرات برگردونده میشه. مثلاً اگر در هنگام خرید اینترنتی انتقال پول از حساب شما با مشکل مواجه بشه، تراکنش برگردونده میشه و از حساب شما پولی کسر نمیشه.

Consistency (سازگاری)
یعنی پس از هر تراکنش، پایگاه داده همچنان طبق قوانین تعریف‌شده عمل می‌کنه. مثلاً در یک سیستم بانکی، قانون اینه که مجموع موجودی حساب‌ها نباید منفی بشه. حالا تصور کنید اگر کسی بخواد پولی از حساب A به حساب B منتقل کنه و این انتقال ناتمام بمونه (پول از A کم بشه ولی به B اضافه نشه)، قوانین Consistency اجازه نمی‌ده این اتفاق بیفته و تراکنش رو برمی‌گردونه تا موجودی‌ها درست باشه.

Isolation (انزوا)
یعنی تراکنش‌ها از هم جدا هستن و تأثیری روی هم ندارن. به این معنی که اگر دو نفر هم‌زمان در حال انجام تراکنش باشن، یکی روی دیگری تأثیر نمی‌گذاره و نتایج تراکنش‌ها به هم نمی‌ریزه.

Durability (دوام)
یعنی وقتی یک تراکنش به پایان رسید و تأیید شد، تغییرات اون حتی در صورت بروز مشکل یا قطعی سیستم همچنان ذخیره می‌مونه. مثلاً وقتی شما پولی به حساب دیگری واریز می‌کنید، حتی اگر سیستم دچار قطعی بشه، این انتقال در پایگاه داده ثبت شده و از بین نمیره.

DevTwitter | <Firoozeh Daeizadeh/>

👑 @Database_Academy
👍4