نکات و ترفندهای SQL برای بهینه سازی عملکرد دیتابیس شما.
#SQL #Database #Optimization #Performance #TipsAndTricks
https://github.com/ben-n93/SQL-tips-and-tricks
➖➖➖➖➖➖➖➖
👑 @Database_Academy
#SQL #Database #Optimization #Performance #TipsAndTricks
https://github.com/ben-n93/SQL-tips-and-tricks
➖➖➖➖➖➖➖➖
👑 @Database_Academy
🔥1
🗜 ابزار Redis، برای کاهش فشار هارد دیسک 💽
⁉️ Redis، که مخفف ” REmote DIctionary Server” است، برای کار با دادهها در حافظه 👨🏻💻 طراحی شده و به همین دلیل میتواند پاسخگویی بسیار سریعی را ارائه دهد. با استفاده از ابزار Redis، میتوان به راحتی عملیات پیچیده را با ⚡️ سرعتی بالا و ⏰ تأخیر کم انجام داد.
🔰 ویژگی های Redis:
📲 حافظه درون پایگاهی In-Memory Storage
💥 پشتیبانی از انواع مختلف دادهها
💫 پشتیبانی از قابلیتهای پیشرفته
📐 پایداری و مقیاسپذیری
⚠️ اگه میخوای نحوه فعالسازی Redis در سیستم عاملهای مختلف لینوکس، macOS و ویندوز رو بدونی؛ روی لینک زیر کلیک کن! 👇🏻
📌 در بلاگ تلاش نت بخوانید: 🔗 Redis ابزاری برای کاهش فشار هارد دیسک
➖➖➖➖➖➖➖➖
👑 @Database_Academy
⁉️ Redis، که مخفف ” REmote DIctionary Server” است، برای کار با دادهها در حافظه 👨🏻💻 طراحی شده و به همین دلیل میتواند پاسخگویی بسیار سریعی را ارائه دهد. با استفاده از ابزار Redis، میتوان به راحتی عملیات پیچیده را با ⚡️ سرعتی بالا و ⏰ تأخیر کم انجام داد.
🔰 ویژگی های Redis:
📲 حافظه درون پایگاهی In-Memory Storage
💥 پشتیبانی از انواع مختلف دادهها
💫 پشتیبانی از قابلیتهای پیشرفته
📐 پایداری و مقیاسپذیری
⚠️ اگه میخوای نحوه فعالسازی Redis در سیستم عاملهای مختلف لینوکس، macOS و ویندوز رو بدونی؛ روی لینک زیر کلیک کن! 👇🏻
📌 در بلاگ تلاش نت بخوانید: 🔗 Redis ابزاری برای کاهش فشار هارد دیسک
➖➖➖➖➖➖➖➖
👑 @Database_Academy
🍾3
🔵 عنوان مقاله
Playing with BOLT to Get a Faster Postgres
🟢 خلاصه مقاله:
مقاله مورد بحث به بررسی ابزار BOLT از پروژه LLVM میپردازد که با تجزیه و تحلیل دادههای پروفایلر، باینریها را پس از کامپایل بهینهسازی میکند. پرسش اصلی مقاله این است که آیا میتوان از BOLT برای افزایش سرعت پایگاه داده Postgres استفاده کرد، و پاسخ به این سوال مثبت است، اما اجرای آن پیچیدگیهایی دارد. بهینهسازی Postgres با استفاده از BOLT مستلزم درک دقیقی از نحوه تولید و استفاده از دادههای پروفایلر در محیطهای واقعی است. همچنین، تنظیمات پیکربندی خاصی لازم است تا به بهترین شکل از ظرفیتهای BOLT بهرهمند شد. تأثیرات بهینهسازی میتواند متفاوت باشد بسته به نوع کاربردها و بارهای کاری Postgres، و تجربیات اولیه نشان داده که بهبود قابل توجهی در عملکرد ممکن است. این تحقیق، در نهایت، به بررسی عمیقتر و مستمر تغییرات و تأثیرات ناشی از استفاده از BOLT در محیطهای پردازشی نیاز دارد.
🟣لینک مقاله:
https://postgresweekly.com/link/160409/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Playing with BOLT to Get a Faster Postgres
🟢 خلاصه مقاله:
مقاله مورد بحث به بررسی ابزار BOLT از پروژه LLVM میپردازد که با تجزیه و تحلیل دادههای پروفایلر، باینریها را پس از کامپایل بهینهسازی میکند. پرسش اصلی مقاله این است که آیا میتوان از BOLT برای افزایش سرعت پایگاه داده Postgres استفاده کرد، و پاسخ به این سوال مثبت است، اما اجرای آن پیچیدگیهایی دارد. بهینهسازی Postgres با استفاده از BOLT مستلزم درک دقیقی از نحوه تولید و استفاده از دادههای پروفایلر در محیطهای واقعی است. همچنین، تنظیمات پیکربندی خاصی لازم است تا به بهترین شکل از ظرفیتهای BOLT بهرهمند شد. تأثیرات بهینهسازی میتواند متفاوت باشد بسته به نوع کاربردها و بارهای کاری Postgres، و تجربیات اولیه نشان داده که بهبود قابل توجهی در عملکرد ممکن است. این تحقیق، در نهایت، به بررسی عمیقتر و مستمر تغییرات و تأثیرات ناشی از استفاده از BOLT در محیطهای پردازشی نیاز دارد.
🟣لینک مقاله:
https://postgresweekly.com/link/160409/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
🍾1
🔵 عنوان مقاله
Hierarchical Data Types in Postgres
🟢 خلاصه مقاله:
مقاله مورد نظر به بررسی نوع داده خاصی در SQL Server با نام hierarchyid پرداخته است که برای نمایش موقعیتها درون یک سلسله مراتب (مانند درخت) استفاده میشود. در حالی که در PostgreSQL میتوان از هر ستون عددی برای این منظور استفاده کرد، استفاده از ltree امکان پذیر است که گزینهای با ساختار بیشتر به شمار میرود. این نوع داده در SQL Server به کاربران اجازه میدهد تا دادههای سلسله مراتبی را به شکل کارآمدتر و سازماندهی شدهتر مدیریت کنند، در حالی که ltree در PostgreSQL به عنوان یک رویکرد متفاوت برای مدیریت سلسلهمراتب در اختیار کاربران قرار میگیرد که با استفاده از رشتههای مسیر به عنوان کلیدها عمل میکند.
🟣لینک مقاله:
https://postgresweekly.com/link/160419/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Hierarchical Data Types in Postgres
🟢 خلاصه مقاله:
مقاله مورد نظر به بررسی نوع داده خاصی در SQL Server با نام hierarchyid پرداخته است که برای نمایش موقعیتها درون یک سلسله مراتب (مانند درخت) استفاده میشود. در حالی که در PostgreSQL میتوان از هر ستون عددی برای این منظور استفاده کرد، استفاده از ltree امکان پذیر است که گزینهای با ساختار بیشتر به شمار میرود. این نوع داده در SQL Server به کاربران اجازه میدهد تا دادههای سلسله مراتبی را به شکل کارآمدتر و سازماندهی شدهتر مدیریت کنند، در حالی که ltree در PostgreSQL به عنوان یک رویکرد متفاوت برای مدیریت سلسلهمراتب در اختیار کاربران قرار میگیرد که با استفاده از رشتههای مسیر به عنوان کلیدها عمل میکند.
🟣لینک مقاله:
https://postgresweekly.com/link/160419/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
❤1👍1
👑 اگر میخوای برنامه نویس گولنگ بشی مارو دنبال کن 👇
🔹آموزش نکات مهم و کلیدی
🔹 نکات مهم طلایی در مصاحبه فنی
🔹 بروز ترین مقالات در زمینه گولنگ
🔹 هرآنچه که با گولنگ نوشته بشه
در کانال گوفر آکادمی👇👇
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔹آموزش نکات مهم و کلیدی
🔹 نکات مهم طلایی در مصاحبه فنی
🔹 بروز ترین مقالات در زمینه گولنگ
🔹 هرآنچه که با گولنگ نوشته بشه
در کانال گوفر آکادمی👇👇
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🔥4
🔵 عنوان مقاله
Building an Image Search Engine on Postgres
🟢 خلاصه مقاله:
مقاله مورد بررسی به تکنیکی در پردازش تصاویر میپردازد که در آن از روشهای مبتنی بر بردار برای جستجو و یافتن تصاویر مشابه استفاده میشود. این فرآیند شامل گرفتن تصاویر و سپس ایجاد نمایههایی (embeddings) از آنها است. نمایهها به صورت بردارهایی هستند که میتوانند مشخصات و ویژگیهای کلیدی تصاویر را در خود جای دهند. سپس، با استفاده از نمایههای تصاویر دیگر موجود، تصاویر مشابه توسط جستجوی برداری مبتنی بر شباهت (vector similarity search) شناسایی میشوند. این تکنیک کاربردهای مهمی در زمینههایی چون تحلیل تصاویر، سیستمهای پیشنهادگر، و شناسایی محتوا در پلتفرمهای بزرگ داده ایفا میکند. تکنیک pgvector به عنوان ابزاری کارآمد برای مدیریت و جستجوی تصاویر در پایگاههای داده بزرگ مورد استفاده قرار میگیرد.
🟣لینک مقاله:
https://postgresweekly.com/link/160411/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Building an Image Search Engine on Postgres
🟢 خلاصه مقاله:
مقاله مورد بررسی به تکنیکی در پردازش تصاویر میپردازد که در آن از روشهای مبتنی بر بردار برای جستجو و یافتن تصاویر مشابه استفاده میشود. این فرآیند شامل گرفتن تصاویر و سپس ایجاد نمایههایی (embeddings) از آنها است. نمایهها به صورت بردارهایی هستند که میتوانند مشخصات و ویژگیهای کلیدی تصاویر را در خود جای دهند. سپس، با استفاده از نمایههای تصاویر دیگر موجود، تصاویر مشابه توسط جستجوی برداری مبتنی بر شباهت (vector similarity search) شناسایی میشوند. این تکنیک کاربردهای مهمی در زمینههایی چون تحلیل تصاویر، سیستمهای پیشنهادگر، و شناسایی محتوا در پلتفرمهای بزرگ داده ایفا میکند. تکنیک pgvector به عنوان ابزاری کارآمد برای مدیریت و جستجوی تصاویر در پایگاههای داده بزرگ مورد استفاده قرار میگیرد.
🟣لینک مقاله:
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.
🍾1
🔵 عنوان مقاله
The 2024 State of PostgreSQL Survey is Now Open
🟢 خلاصه مقاله:
مقاله بیان میکند که نظرسنجی سالانه محبوب Timescale بار دیگر آغاز شده است. افرادی که علاقمند هستند میتوانند با مراجعه به لینک مذکور در مقاله در این نظرسنجی شرکت کنند. مهلت شرکت در نظرسنجی تا دوشنبه، 30 سپتامبر است. برای کسانی که به دنبال آمار فوری هستند، امکان مشاهده نتایج نظرسنجی سال 2023 فراهم شده است. این اطلاعات میتواند به افراد کمک کند تا درک بهتری از تغییرات و پیشرفتهایی که در جامعه Timescale روی داده است، بدست آورند و همچنین نقطه نظرات خود را در مورد سرویسها و محصولات Timescale ارائه دهند.
🟣لینک مقاله:
https://postgresweekly.com/link/159303/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
The 2024 State of PostgreSQL Survey is Now Open
🟢 خلاصه مقاله:
مقاله بیان میکند که نظرسنجی سالانه محبوب Timescale بار دیگر آغاز شده است. افرادی که علاقمند هستند میتوانند با مراجعه به لینک مذکور در مقاله در این نظرسنجی شرکت کنند. مهلت شرکت در نظرسنجی تا دوشنبه، 30 سپتامبر است. برای کسانی که به دنبال آمار فوری هستند، امکان مشاهده نتایج نظرسنجی سال 2023 فراهم شده است. این اطلاعات میتواند به افراد کمک کند تا درک بهتری از تغییرات و پیشرفتهایی که در جامعه Timescale روی داده است، بدست آورند و همچنین نقطه نظرات خود را در مورد سرویسها و محصولات Timescale ارائه دهند.
🟣لینک مقاله:
https://postgresweekly.com/link/159303/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Timescale Blog
The 2024 State of PostgreSQL Survey Is Now Open!
The 2024 State of PostgreSQL survey is now live! Help us learn more about this community, and check out last year’s main highlights.
👍1
🔵 عنوان مقاله
pg_easy_replicate Now Supports Schema Change Tracking During Logical Replication
🟢 خلاصه مقاله:
مقالهی مورد نظر به ابزاری با نام pg_easy_replicate پرداخته که تسهیلاتی در راهاندازی و اجرای تکثیر منطقی در پایگاههای داده و انجام تعویضهای سرور اصلی با حداقل زمان خاموشی ارائه میدهد. این ابزار اخیراً قابلیت ردیابی تغییرات DDL (توصیفکنندهی ساختار دادهها) را نیز به خدمات خود افزوده است. این ویژگی جدید به کاربران امکان میدهد که علاوه بر تکثیر دادهها، تغییرات ساختاری اعمال شده بر پایگاه داده را نیز به صورت خودکار ردیابی و تکثیر کنند. این تکثیر شامل تحولاتی چون ایجاد، تغییر، و حذف جداول و سایر اشیاء دادهیی میشود. کاربرد این قابلیتهای جدید میتواند به بهبود چشمگیر در مدیریت پایگاههای داده و کاهش زمانهای تعطیلی اجباری هنگام نیاز به بروزرسانیهای ساختاری کمک کند.
🟣لینک مقاله:
https://postgresweekly.com/link/159321/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
pg_easy_replicate Now Supports Schema Change Tracking During Logical Replication
🟢 خلاصه مقاله:
مقالهی مورد نظر به ابزاری با نام pg_easy_replicate پرداخته که تسهیلاتی در راهاندازی و اجرای تکثیر منطقی در پایگاههای داده و انجام تعویضهای سرور اصلی با حداقل زمان خاموشی ارائه میدهد. این ابزار اخیراً قابلیت ردیابی تغییرات DDL (توصیفکنندهی ساختار دادهها) را نیز به خدمات خود افزوده است. این ویژگی جدید به کاربران امکان میدهد که علاوه بر تکثیر دادهها، تغییرات ساختاری اعمال شده بر پایگاه داده را نیز به صورت خودکار ردیابی و تکثیر کنند. این تکثیر شامل تحولاتی چون ایجاد، تغییر، و حذف جداول و سایر اشیاء دادهیی میشود. کاربرد این قابلیتهای جدید میتواند به بهبود چشمگیر در مدیریت پایگاههای داده و کاهش زمانهای تعطیلی اجباری هنگام نیاز به بروزرسانیهای ساختاری کمک کند.
🟣لینک مقاله:
https://postgresweekly.com/link/159321/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Shayon Mukherjee
pg_easy_replicate Supports Schema Change Tracking During Logical Replication
This new capability extends PostgreSQL logical replication, enabling DDL tracking and bringing more flexibility to database migrations through pg_easy_replicate
🔵 عنوان مقاله
Pigsty v3.0: An Extension-Rich Postgres Distribution
🟢 خلاصه مقاله:
مقاله مذکور به معرفی توزیع پستگرس به نام Pigsty میپردازد که با وعده «همهچیز آماده» عرضه شده است. Pigsty به عنوان یک پلتفرم مشابه RDS معرفی شده است اما با این تفاوت که کاربران میتوانند آن را به دلخواه خود مستقر کنند. یکی از ویژگیهای بارز Pigsty این است که این توزیع امکان نصب آسان 336 افزونه اضافی را فراهم میآورد. این مؤلفه به خصوص برای توسعهدهندگانی که به دنبال انعطافپذیری بیشتر و گسترش قابلیتهای پایگاه داده خود هستند، بسیار مفید است. در نتیجه، Pigsty گزینهای جذاب برای کسانی است که به دنبال یک راهحل قدرتمند و متنوع برای مدیریت دادههای خود به صورت سفارشی هستند.
🟣لینک مقاله:
https://postgresweekly.com/link/159314/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Pigsty v3.0: An Extension-Rich Postgres Distribution
🟢 خلاصه مقاله:
مقاله مذکور به معرفی توزیع پستگرس به نام Pigsty میپردازد که با وعده «همهچیز آماده» عرضه شده است. Pigsty به عنوان یک پلتفرم مشابه RDS معرفی شده است اما با این تفاوت که کاربران میتوانند آن را به دلخواه خود مستقر کنند. یکی از ویژگیهای بارز Pigsty این است که این توزیع امکان نصب آسان 336 افزونه اضافی را فراهم میآورد. این مؤلفه به خصوص برای توسعهدهندگانی که به دنبال انعطافپذیری بیشتر و گسترش قابلیتهای پایگاه داده خود هستند، بسیار مفید است. در نتیجه، Pigsty گزینهای جذاب برای کسانی است که به دنبال یک راهحل قدرتمند و متنوع برای مدیریت دادههای خود به صورت سفارشی هستند.
🟣لینک مقاله:
https://postgresweekly.com/link/159314/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
pigsty.io
Pigsty v3.0: Extension Exploding & Plugable Kernels
The 336 extension provided by Pigsty v3 & Plugable Kernels such as Babelfish, IvorySQL, and PolarDB
🔵 عنوان مقاله
PgCat 1.2: Modern Postgres Pooler and Proxy
🟢 خلاصه مقاله:
مقاله معرفی شده به بررسی ویژگیها و کاربردهای «PgCat»، یک ابزار توسعه یافته به زبان برنامهنویسی Rust، میپردازد. PgCat برای پشتیبانی از شاردینگ (تقسیم پایگاه داده به بخشهای کوچکتر برای بهبود عملکرد)، که به صورت تجربی بر اساس دستورات SQL انجام میگیرد، طراحی شده است. علاوه براین، این ابزار امکانات متعددی در زمینه تعادل بار و پشتیبانی از خرابی سیستم (failover) را فراهم میآورد. تواناییهای مذکور به کاربران امکان میدهد تا سیستمهای پایگاه دادهی خود را برای دستیابی به عملکرد بهینه و اطمینان بیشتر در دسترس بودن خدمات، به طور مؤثرتری مدیریت کنند. در نتیجه، PgCat ابزاری قدرتمند برای مدیریت پایگاههای داده در مقیاسهای بزرگ و با پیچیدگی بالا است.
🟣لینک مقاله:
https://postgresweekly.com/link/159320/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
PgCat 1.2: Modern Postgres Pooler and Proxy
🟢 خلاصه مقاله:
مقاله معرفی شده به بررسی ویژگیها و کاربردهای «PgCat»، یک ابزار توسعه یافته به زبان برنامهنویسی Rust، میپردازد. PgCat برای پشتیبانی از شاردینگ (تقسیم پایگاه داده به بخشهای کوچکتر برای بهبود عملکرد)، که به صورت تجربی بر اساس دستورات SQL انجام میگیرد، طراحی شده است. علاوه براین، این ابزار امکانات متعددی در زمینه تعادل بار و پشتیبانی از خرابی سیستم (failover) را فراهم میآورد. تواناییهای مذکور به کاربران امکان میدهد تا سیستمهای پایگاه دادهی خود را برای دستیابی به عملکرد بهینه و اطمینان بیشتر در دسترس بودن خدمات، به طور مؤثرتری مدیریت کنند. در نتیجه، PgCat ابزاری قدرتمند برای مدیریت پایگاههای داده در مقیاسهای بزرگ و با پیچیدگی بالا است.
🟣لینک مقاله:
https://postgresweekly.com/link/159320/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
GitHub
GitHub - postgresml/pgcat: PostgreSQL pooler with sharding, load balancing and failover support.
PostgreSQL pooler with sharding, load balancing and failover support. - postgresml/pgcat
🔵 عنوان مقاله
▶ SQL IN Clauses are Miles Faster in Postgres 17
🟢 خلاصه مقاله:
خلاصهی مقاله:
مقاله به بررسی پیشرفتهای ایجاد شده در PG17 برای افزایش کارآیی اسکن درختهای B هنگام استفاده از عملگر IN میپردازد. حسین از این پیشرفتها به حدی شگفتزده شده است که یک ویدئوکست تهیه کرده تا نحوه کارکرد آن را توضیح دهد، آن را با روشهای مورد استفاده در SQL Server مقایسه کند و در یک دموی زنده نمایش دهد. این ویدئوکست نه تنها به تشریح فنی میپردازد بلکه با استفاده از مثالهای عملی، کارایی بهبود یافتهی PG17 را در مقایسه با راهحلهای موجود به نمایش میگذارد. این مقاله برای کسانی که به بهینهسازی و عملکرد پایگاههای داده علاقهمند هستند، منبع ارزشمندی است.
🟣لینک مقاله:
https://postgresweekly.com/link/160517/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
▶ SQL IN Clauses are Miles Faster in Postgres 17
🟢 خلاصه مقاله:
خلاصهی مقاله:
مقاله به بررسی پیشرفتهای ایجاد شده در PG17 برای افزایش کارآیی اسکن درختهای B هنگام استفاده از عملگر IN میپردازد. حسین از این پیشرفتها به حدی شگفتزده شده است که یک ویدئوکست تهیه کرده تا نحوه کارکرد آن را توضیح دهد، آن را با روشهای مورد استفاده در 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
✍️ Farhad BagheriFarhad Bagheri
چرا تو MySQL استفاده از UUIDv4 به عنوان primary key ممکنه مناسب نباشه؟
وقتی یک رکورد جدید insert کنیم MySQL و انجین InnoDB باید تو دیسک بر اساس ترتیب primary key تو page مشخصی اضافش کنه، سر همین اگه pk ایدی عددی یا هرچیزی که ترتیب داره باشه هر رکوردی که اضافه میشه میره به انتهای تیبل ولی اگه از UUID استفاده کنیم چون رندومه هزینه بیشتری داره چون باید دنبال جای insert بگردیم و بعد اضافش کنیم و اگرم نیاز باشه بقیه row ها جابجا شن تا رکورد ما اضافه شه.
برای حل شدن این مشکل چند تا راه حل هست، مثلا اینکه بیایم از ULID یا ورژن های دیگه UUID مثل V7 استفاده کنیم که یک حالت ترتیبی با timestamp به خودشون میگیرن، یا بیایم pk رو ایدی عددی بزاریم و اون فیلدی که میخوایم uuid باشه رو ایندکس عادی بزنیم.
و یکی دیگه از بدی هاش که شاید زیاد اهمیتی نداشته باشه، هر ایندکس دیگه ای جز primary key مقدار pk رو تو خودش ذخیره میکنه، یعنی اگه یه فیلد ایندکس عادی داشته باشه و ما کوئری بزنیم اول تو اون ایندکس، pk رو پیدا میکنیم بعد بر اساس اون موقعیت row رو از ایندکس pk میگیریم و سر همین حجم secondary index ها میتونه زیاد بشه به نسبت ایدی عددی.
البته بگم که این قضیه برای هر دیتابیسی که سیستم Clustered Index رو داشته باشه صدق میکنه.
این مقاله خیلی خوب توضیح داده مشکل uuid رو:
https://lnkd.in/d7GMda5v
➖➖➖➖➖➖➖➖
👑 @Database_Academy
چرا تو MySQL استفاده از UUIDv4 به عنوان primary key ممکنه مناسب نباشه؟
وقتی یک رکورد جدید insert کنیم MySQL و انجین InnoDB باید تو دیسک بر اساس ترتیب primary key تو page مشخصی اضافش کنه، سر همین اگه pk ایدی عددی یا هرچیزی که ترتیب داره باشه هر رکوردی که اضافه میشه میره به انتهای تیبل ولی اگه از UUID استفاده کنیم چون رندومه هزینه بیشتری داره چون باید دنبال جای insert بگردیم و بعد اضافش کنیم و اگرم نیاز باشه بقیه row ها جابجا شن تا رکورد ما اضافه شه.
برای حل شدن این مشکل چند تا راه حل هست، مثلا اینکه بیایم از ULID یا ورژن های دیگه UUID مثل V7 استفاده کنیم که یک حالت ترتیبی با timestamp به خودشون میگیرن، یا بیایم pk رو ایدی عددی بزاریم و اون فیلدی که میخوایم uuid باشه رو ایندکس عادی بزنیم.
و یکی دیگه از بدی هاش که شاید زیاد اهمیتی نداشته باشه، هر ایندکس دیگه ای جز primary key مقدار pk رو تو خودش ذخیره میکنه، یعنی اگه یه فیلد ایندکس عادی داشته باشه و ما کوئری بزنیم اول تو اون ایندکس، pk رو پیدا میکنیم بعد بر اساس اون موقعیت row رو از ایندکس pk میگیریم و سر همین حجم secondary index ها میتونه زیاد بشه به نسبت ایدی عددی.
البته بگم که این قضیه برای هر دیتابیسی که سیستم Clustered Index رو داشته باشه صدق میکنه.
این مقاله خیلی خوب توضیح داده مشکل uuid رو:
https://lnkd.in/d7GMda5v
➖➖➖➖➖➖➖➖
👑 @Database_Academy
❤2👍2
زبان RSQL مخفف Restricted SQL برای فیلتر کردن دادهها در APIهای RESTful استفاده میشه
اگر نیاز به پیاده سازی فیلتر های RQL/RSQL/FIQL
در پایتون روی Django REST framework داشتید
این کتابخانه را یک نگاهی داشته باشید
https://github.com/njoyard/django-rql-filter
➖➖➖➖➖➖➖➖
👑 @Database_Academy
اگر نیاز به پیاده سازی فیلتر های RQL/RSQL/FIQL
در پایتون روی Django REST framework داشتید
این کتابخانه را یک نگاهی داشته باشید
https://github.com/njoyard/django-rql-filter
➖➖➖➖➖➖➖➖
👑 @Database_Academy
❤3👍1🍾1
Forwarded from Future Pulse Persian
🔵اثر دانینگ کروگر (Dunning-Kruger Effect) چیست؟
🟢 «افرادی که دانش کمتر از میانگین دارند، با دو مشکل بهصورت همزمان مواجه هستند: نه تنها نتیجهگیریهای اشتباهی دارند و بر اساس همان نتیجهگیریها خطاهای مکرری را مرتکب میشوند، بلکه به دلیل همین مشکل، عدم توانایی خود را نیز درک نمیکنند و متوجه این عدم توانایی نخواهند شد.»
🔴 https://karboom.io/mag/articles/%D8%A7%D8%AB%D8%B1-%D8%AF%D8%A7%D9%86%DB%8C%D9%86%DA%AF-%DA%A9%D8%B1%D9%88%DA%AF%D8%B1
➖➖➖➖➖➖➖➖
🕸 @labdon_academy
🟢 «افرادی که دانش کمتر از میانگین دارند، با دو مشکل بهصورت همزمان مواجه هستند: نه تنها نتیجهگیریهای اشتباهی دارند و بر اساس همان نتیجهگیریها خطاهای مکرری را مرتکب میشوند، بلکه به دلیل همین مشکل، عدم توانایی خود را نیز درک نمیکنند و متوجه این عدم توانایی نخواهند شد.»
🔴 https://karboom.io/mag/articles/%D8%A7%D8%AB%D8%B1-%D8%AF%D8%A7%D9%86%DB%8C%D9%86%DA%AF-%DA%A9%D8%B1%D9%88%DA%AF%D8%B1
➖➖➖➖➖➖➖➖
🕸 @labdon_academy
👍2❤1🍾1
🔵 عنوان مقاله
Optimizing Your Database for Analytics
🟢 خلاصه مقاله:
مقاله مورد نظر به چالشهایی که هنگام استفاده از پایگاههای داده در عملیات روزمره هنگام اجرای پرس و جوهای تحلیلی پیچیده بروز میدهد میپردازد. نویسنده بررسی میکند که چگونه میتوان دادهها را به منظور تحلیل در مکانهای دیگر تکثیر کرد یا از طریق اصلاحاتی در Postgres، کارایی سیستم را بهبود بخشید. مقاله یک بررسی کلی و معتبر در مورد مفاهیم درگیر در این روند ارائه میدهد و همچنین نسخه ویدئویی این بحث نیز در دسترس است. این مطلب کمک میکند تا خوانندگان بتوانند تصمیمهای آگاهانهای در مورد بهینهسازی و مدیریت دادههای خود بگیرند، خصوصاً زمانی که نیاز به تحلیل دادههای بزرگ باشد.
🟣لینک مقاله:
https://postgresweekly.com/link/159925/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Optimizing Your Database for Analytics
🟢 خلاصه مقاله:
مقاله مورد نظر به چالشهایی که هنگام استفاده از پایگاههای داده در عملیات روزمره هنگام اجرای پرس و جوهای تحلیلی پیچیده بروز میدهد میپردازد. نویسنده بررسی میکند که چگونه میتوان دادهها را به منظور تحلیل در مکانهای دیگر تکثیر کرد یا از طریق اصلاحاتی در Postgres، کارایی سیستم را بهبود بخشید. مقاله یک بررسی کلی و معتبر در مورد مفاهیم درگیر در این روند ارائه میدهد و همچنین نسخه ویدئویی این بحث نیز در دسترس است. این مطلب کمک میکند تا خوانندگان بتوانند تصمیمهای آگاهانهای در مورد بهینهسازی و مدیریت دادههای خود بگیرند، خصوصاً زمانی که نیاز به تحلیل دادههای بزرگ باشد.
🟣لینک مقاله:
https://postgresweekly.com/link/159925/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Blogspot
Optimising your Database for Analytics
This post contains the slides and trannoscript from the talk that I gave at PyCon Italia 2024 , and at EuRuKo 2024 . You can a...
👍1
🔵 عنوان مقاله
🐸 Rainfrog: A New Database Management TUI for Postgres
🟢 خلاصه مقاله:
مقالهای که در اختیار داریم به بررسی رابط کاربری ترمینال جدیدی میپردازد که بر پایه زبان برنامهنویسی Rust ساخته شده است. این رابط کاربری برای کار با پایگاه داده و اجرای دستورات SQL طراحی شده و به کاربران اجازه میدهد تا با استفاده از یک ویرایشگر پرس و جو که دارای برجستهسازی متن و میانبرهایی به سبک Vim است، به راحتی کار کنند. همچنین، کاربران میتوانند به سرعت بین اسکیماهای مختلف جابهجا شوند. این رابط کاربری، نمونهای از تلاشها برای ارائه رویکردهای نوین در تعامل با پایگاههای داده است و نشان دهنده گسترش استفاده از زبانهای برنامهنویسی مدرن مثل Rust در توسعه ابزارهای ترمینال است.
🟣لینک مقاله:
https://postgresweekly.com/link/159944/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
🐸 Rainfrog: A New Database Management TUI for Postgres
🟢 خلاصه مقاله:
مقالهای که در اختیار داریم به بررسی رابط کاربری ترمینال جدیدی میپردازد که بر پایه زبان برنامهنویسی Rust ساخته شده است. این رابط کاربری برای کار با پایگاه داده و اجرای دستورات SQL طراحی شده و به کاربران اجازه میدهد تا با استفاده از یک ویرایشگر پرس و جو که دارای برجستهسازی متن و میانبرهایی به سبک Vim است، به راحتی کار کنند. همچنین، کاربران میتوانند به سرعت بین اسکیماهای مختلف جابهجا شوند. این رابط کاربری، نمونهای از تلاشها برای ارائه رویکردهای نوین در تعامل با پایگاههای داده است و نشان دهنده گسترش استفاده از زبانهای برنامهنویسی مدرن مثل Rust در توسعه ابزارهای ترمینال است.
🟣لینک مقاله:
https://postgresweekly.com/link/159944/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
GitHub
GitHub - achristmascarl/rainfrog: 🐸 a database management tui for postgres
🐸 a database management tui for postgres. Contribute to achristmascarl/rainfrog development by creating an account on GitHub.
🔵 عنوان مقاله
Postgres 17 RC1 vs sysbench on Small and Large Servers
🟢 خلاصه مقاله:
این مقاله به بررسی عملکرد قریبالوقوع نسخه ۱۷ پایگاه داده Postgres پرداخته است. نویسنده، Mark، عملکرد نسخههای پیشین ۱۵.۸ و ۱۶.۴ را به همراه نسخههای بتا و نسخه نهایی آزمایشی (RC1) نسخه ۱۷ مورد سنجش قرار دادهاست. نتایج نشان میدهند که نسخه RC1 نسخه ۱۷ عملکرد چشمگیری داشته و هیچ گونه افت عملکردی بزرگی مشاهده نشده است، بلکه چندین بهبود بزرگ در آن به چشم میخورد. این نتایج حاکی از آن است که نسخه جدید توانسته است در جهت پیشرفتهای مطلوب و قابل توجهی قدم بردارد.
🟣لینک مقاله:
https://postgresweekly.com/link/159929/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Postgres 17 RC1 vs sysbench on Small and Large Servers
🟢 خلاصه مقاله:
این مقاله به بررسی عملکرد قریبالوقوع نسخه ۱۷ پایگاه داده Postgres پرداخته است. نویسنده، Mark، عملکرد نسخههای پیشین ۱۵.۸ و ۱۶.۴ را به همراه نسخههای بتا و نسخه نهایی آزمایشی (RC1) نسخه ۱۷ مورد سنجش قرار دادهاست. نتایج نشان میدهند که نسخه RC1 نسخه ۱۷ عملکرد چشمگیری داشته و هیچ گونه افت عملکردی بزرگی مشاهده نشده است، بلکه چندین بهبود بزرگ در آن به چشم میخورد. این نتایج حاکی از آن است که نسخه جدید توانسته است در جهت پیشرفتهای مطلوب و قابل توجهی قدم بردارد.
🟣لینک مقاله:
https://postgresweekly.com/link/159929/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Blogspot
Postgres 17rc1 vs sysbench on small & large servers: looking great
This has benchmark results for Postgres 15.8, 16.4 and 17 (beta3, rc1) using sysbench with large and small servers. A recent result for Post...
👍1
🔵 عنوان مقاله
Hands on Postgres 17: What’s New & Impacting Performance
🟢 خلاصه مقاله:
در وبینار اختصاصی که برای بررسی نسخه ۱۷ پایگاه دادههای Postgres برگزار میشود، شرکتکنندگان فرصتی خواهند داشت تا با ویژگیهای جدید و پیشرفتهای این نسخه آشنا شوند. تمرکز این وبینار بر روی پیشرفتهای به دست آمده در اسکنهای درخت B سریعتر، استراتژیهای خلاء سازگار و به روز رسانیهای I/O جریانی خواهد بود. این ویژگیها چگونگی تأثیرات خود را بر عملکرد و نظارت پایگاه دادهها به نمایش میگذارند. حضور در این وبینار فرصتی عالی برای آشنایی با آخرین پیشرفتهای فناوری در حوزهی پایگاههای داده Postgres است و شرکتکنندگان میتوانند با ثبتنام در این رویداد، مزایای آن را کشف کنند.
🟣لینک مقاله:
https://postgresweekly.com/link/159924/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Hands on Postgres 17: What’s New & Impacting Performance
🟢 خلاصه مقاله:
در وبینار اختصاصی که برای بررسی نسخه ۱۷ پایگاه دادههای Postgres برگزار میشود، شرکتکنندگان فرصتی خواهند داشت تا با ویژگیهای جدید و پیشرفتهای این نسخه آشنا شوند. تمرکز این وبینار بر روی پیشرفتهای به دست آمده در اسکنهای درخت B سریعتر، استراتژیهای خلاء سازگار و به روز رسانیهای I/O جریانی خواهد بود. این ویژگیها چگونگی تأثیرات خود را بر عملکرد و نظارت پایگاه دادهها به نمایش میگذارند. حضور در این وبینار فرصتی عالی برای آشنایی با آخرین پیشرفتهای فناوری در حوزهی پایگاههای داده Postgres است و شرکتکنندگان میتوانند با ثبتنام در این رویداد، مزایای آن را کشف کنند.
🟣لینک مقاله:
https://postgresweekly.com/link/159924/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
events.zoom.us
Webinar | Hands on Postgres 17: What’s New & How It Impacts Performance