🔵 عنوان مقاله
Implementing Hybrid Search with Postgres and pgvector
🟢 خلاصه مقاله:
جاناتان در این مقاله به بررسی نحوه استفاده از pgvector برای پیادهسازی سیستمهای جستجوی ترکیبی (هیبریدی) میپردازد. او بیان میکند که هنوز علاقهای به پاسخگویی به این سوال که آیا باید از این روش استفاده کرد نداشته و این موضوع را برای یک پست آینده نگه داشته است. در این متن، جاناتان به جزئیات فنی و چگونگی عملکرد pgvector در ترکیب با دیگر ابزارها و تکنیکها برای ایجاد یک سیستم جستجوی کارآمد و مؤثر نمیپردازد، بلکه تنها اشارهای کلی به استفاده از آن دارد. این نوع مقدمهای برای بحثهای عمیقتر در آینده است که به بررسی عمیقتر ضرورتها و کاربردهای pgvector در سیستمهای جستجوی هیبریدی خواهد پرداخت.
🟣لینک مقاله:
https://postgresweekly.com/link/159934/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Implementing Hybrid Search with Postgres and pgvector
🟢 خلاصه مقاله:
جاناتان در این مقاله به بررسی نحوه استفاده از pgvector برای پیادهسازی سیستمهای جستجوی ترکیبی (هیبریدی) میپردازد. او بیان میکند که هنوز علاقهای به پاسخگویی به این سوال که آیا باید از این روش استفاده کرد نداشته و این موضوع را برای یک پست آینده نگه داشته است. در این متن، جاناتان به جزئیات فنی و چگونگی عملکرد pgvector در ترکیب با دیگر ابزارها و تکنیکها برای ایجاد یک سیستم جستجوی کارآمد و مؤثر نمیپردازد، بلکه تنها اشارهای کلی به استفاده از آن دارد. این نوع مقدمهای برای بحثهای عمیقتر در آینده است که به بررسی عمیقتر ضرورتها و کاربردهای pgvector در سیستمهای جستجوی هیبریدی خواهد پرداخت.
🟣لینک مقاله:
https://postgresweekly.com/link/159934/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Jkatz05
Hybrid search with PostgreSQL and pgvector
An example of how to perform hybrid search with PostgreSQL and pgvector over vector data.
❤1👍1
Forwarded from Future Pulse Persian
🔵 این مقاله به بررسی استفاده از زبان برنامهنویسی Rust در خط تولید ولوو میپردازد. در ابتدا، مقاله به این موضوع اشاره میکند که Rust به عنوان یک زبان امن و سریع برای برنامهنویسی سیستمی شناخته میشود و مزایای آن در مقایسه با زبانهای دیگر مانند C و C++ بررسی میشود. ولوو از Rust برای برخی از پروژههای خود استفاده کرده است، که دلیل اصلی آن ویژگیهای ایمنی حافظه و جلوگیری از باگهای رایج در مدیریت حافظه بوده است.
همچنین در مقاله توضیح داده میشود که چرا Rust توانسته است جایگاه خود را در صنعت خودرو تثبیت کند. امنیت، سرعت و قابلیتهای پیشرفته در مدیریت منابع، ولوو را به استفاده از Rust در برخی از فرآیندهای تولید و توسعه نرمافزارهای داخلی خود ترغیب کرده است. Rust به عنوان یک ابزار قدرتمند در حل مشکلات مرتبط با مدیریت حافظه و بهینهسازی عملکرد سیستمهای پیچیده خودرو به کار گرفته شده است.
🟢 https://tweedegolf.nl/en/blog/137/rust-is-rolling-off-the-volvo-assembly-line
➖➖➖➖➖➖➖➖
🕸 @labdon_academy
همچنین در مقاله توضیح داده میشود که چرا Rust توانسته است جایگاه خود را در صنعت خودرو تثبیت کند. امنیت، سرعت و قابلیتهای پیشرفته در مدیریت منابع، ولوو را به استفاده از Rust در برخی از فرآیندهای تولید و توسعه نرمافزارهای داخلی خود ترغیب کرده است. Rust به عنوان یک ابزار قدرتمند در حل مشکلات مرتبط با مدیریت حافظه و بهینهسازی عملکرد سیستمهای پیچیده خودرو به کار گرفته شده است.
🟢 https://tweedegolf.nl/en/blog/137/rust-is-rolling-off-the-volvo-assembly-line
➖➖➖➖➖➖➖➖
🕸 @labdon_academy
🔵 عنوان مقاله
📱 Selectable: An In-Development Android Postgres Client
🟢 خلاصه مقاله:
مقاله مورد نظر درباره یک برنامه جدید برای سیستم عامل اندروید میباشد که به کاربران امکان تعامل با پایگاه دادههای Postgres را میدهد. این برنامه در مراحل اولیه توسعه خود قرار دارد و به صورت فریمیوم (رایگان با امکان خرید درونبرنامهای) عرضه شده است. علاقمندان میتوانند آن را از فروشگاه Google Play دانلود کرده و با آزمایش این برنامه، تجربیات خود را مستقیماً ببینند و با این پلتفرم جدید آشنا شوند. هرچند که برنامه هنوز در مراحل اولیه است، اما فرصت مناسبی برای گرفتن بازخورد از کاربران و بهبود برنامه در نظر گرفته شده است. این اپلیکیشن امکانی جذاب برای توسعهدهندگانی است که مایل به کار با پایگاه دادههای Postgres بر روی دستگاههای اندرویدی خود هستند.
🟣لینک مقاله:
https://postgresweekly.com/link/159945/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
📱 Selectable: An In-Development Android Postgres Client
🟢 خلاصه مقاله:
مقاله مورد نظر درباره یک برنامه جدید برای سیستم عامل اندروید میباشد که به کاربران امکان تعامل با پایگاه دادههای Postgres را میدهد. این برنامه در مراحل اولیه توسعه خود قرار دارد و به صورت فریمیوم (رایگان با امکان خرید درونبرنامهای) عرضه شده است. علاقمندان میتوانند آن را از فروشگاه Google Play دانلود کرده و با آزمایش این برنامه، تجربیات خود را مستقیماً ببینند و با این پلتفرم جدید آشنا شوند. هرچند که برنامه هنوز در مراحل اولیه است، اما فرصت مناسبی برای گرفتن بازخورد از کاربران و بهبود برنامه در نظر گرفته شده است. این اپلیکیشن امکانی جذاب برای توسعهدهندگانی است که مایل به کار با پایگاه دادههای Postgres بر روی دستگاههای اندرویدی خود هستند.
🟣لینک مقاله:
https://postgresweekly.com/link/159945/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Getselectable
Postgres client on Android.
😈1💘1
✍️Hamoon Mohammadian PourHamoon Mohammadian Pour
چه حالتهایی ممکنه پیش بیاد که در آیدیهای Auto Increment گپ پیش بیاد؟
1- زمانی که کوئری INSERT ما در حین اجرا Kill بشه.
2- زمانی که یک کوئری INSERT به هر دلیلی Rollback بشه.
3-زمانی که از INSERT IGNORE یا INSERT ON Duplicate key استفاده کنیم و داده تکراری باشه.
4- زمانی که از Galera با تنظیمات پیشفرض استفاده میکنیم.
5-زمانی که innodb_autoinc_lock_mode روی 2 باشه و Bulk INSERT داشته باشیم.
6-وقتی دستی ستون auto-inc توسط ما با عددی بزرگتر ست بشه.
➖➖➖➖➖➖➖➖
👑 @Database_Academy
چه حالتهایی ممکنه پیش بیاد که در آیدیهای Auto Increment گپ پیش بیاد؟
1- زمانی که کوئری INSERT ما در حین اجرا Kill بشه.
2- زمانی که یک کوئری INSERT به هر دلیلی Rollback بشه.
3-زمانی که از INSERT IGNORE یا INSERT ON Duplicate key استفاده کنیم و داده تکراری باشه.
4- زمانی که از Galera با تنظیمات پیشفرض استفاده میکنیم.
5-زمانی که innodb_autoinc_lock_mode روی 2 باشه و Bulk INSERT داشته باشیم.
6-وقتی دستی ستون auto-inc توسط ما با عددی بزرگتر ست بشه.
➖➖➖➖➖➖➖➖
👑 @Database_Academy
❤1🙏1💘1
✍️Iman Hosseini PourIman Hosseini Pour
مدت زیادی هست که #Redis Stack منتشر شده ولی هنوز خیلی ها به Redis به چشم یک دیتابیس Key-Value ساده نگاه میکنند و از 90 درصد قابلیت هاش استفاده نمیکنند. پیشنهاد میکنم داکیومنت مربوط بهش رو حتما بخونیدتا تمام ویژگی هایی رو که داره ببینید.
دوتا از ویژگی های خوبی که Redis Stack داره به اسم Redis Search و Redis JSON هست.
- تا قبل از Redis JSON برای ذخیره کردن JSON ها در Redis، معادل Serialize شده رو به صورت Key-Value ذخیره میکردن و یا گاهی به صورت Map باهاش رفتار میکردن. حالا شما با Redis JSON میتونید مثل یک document oriented database مثل MongoDB
رفتار کنید. ( البته Query ها به صورت پیش فرض محدودیت هایی دارند )
- تا قبل از Redis Search برای سرچ کردن تنها گزینه موجود استفاده از Glob Pattern ها بود که حتی داخل خود داکیومنت هم پیشنهاد کرده بودن که اگر روی Production هستید سعی کنید زیاد استفاده از Glob pattern نکنید. و این موضوع با در نظر گرفتن این نکته که Redis به صورت ذاتی Single thread هست و Event loop رو با این کار در حجم زیاد دیتا بلاک میکنید منطقی هست. البته این موضوع برای دوستان #JavaScript و #NodeJS کاملا به صورت واضح قابل درک هست. حالا شما با استفاده از Redis Search میتونید روی دیتا مورد نظرتون Index بزارید و باتوجه به اون Index و Schema که تعریف کردین Query بزنید و دیتا رو خیلی سریع و تمیز دریافت کنید. انتظار قدرت SQL و بقیه دیتابیس ها مثل MongoDB رو نداشته باشید ولی در بعضی سناریو ها واقعا ترکیب Redis Json و Redis Search میدرخشه.
➖➖➖➖➖➖➖➖
👑 @Database_Academy
مدت زیادی هست که #Redis Stack منتشر شده ولی هنوز خیلی ها به Redis به چشم یک دیتابیس Key-Value ساده نگاه میکنند و از 90 درصد قابلیت هاش استفاده نمیکنند. پیشنهاد میکنم داکیومنت مربوط بهش رو حتما بخونیدتا تمام ویژگی هایی رو که داره ببینید.
دوتا از ویژگی های خوبی که Redis Stack داره به اسم Redis Search و Redis JSON هست.
- تا قبل از Redis JSON برای ذخیره کردن JSON ها در Redis، معادل Serialize شده رو به صورت Key-Value ذخیره میکردن و یا گاهی به صورت Map باهاش رفتار میکردن. حالا شما با Redis JSON میتونید مثل یک document oriented database مثل MongoDB
رفتار کنید. ( البته Query ها به صورت پیش فرض محدودیت هایی دارند )
- تا قبل از Redis Search برای سرچ کردن تنها گزینه موجود استفاده از Glob Pattern ها بود که حتی داخل خود داکیومنت هم پیشنهاد کرده بودن که اگر روی Production هستید سعی کنید زیاد استفاده از Glob pattern نکنید. و این موضوع با در نظر گرفتن این نکته که Redis به صورت ذاتی Single thread هست و Event loop رو با این کار در حجم زیاد دیتا بلاک میکنید منطقی هست. البته این موضوع برای دوستان #JavaScript و #NodeJS کاملا به صورت واضح قابل درک هست. حالا شما با استفاده از Redis Search میتونید روی دیتا مورد نظرتون Index بزارید و باتوجه به اون Index و Schema که تعریف کردین Query بزنید و دیتا رو خیلی سریع و تمیز دریافت کنید. انتظار قدرت SQL و بقیه دیتابیس ها مثل MongoDB رو نداشته باشید ولی در بعضی سناریو ها واقعا ترکیب Redis Json و Redis Search میدرخشه.
➖➖➖➖➖➖➖➖
👑 @Database_Academy
👍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
Why to Stop Using SERIAL in Postgres
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته است به تفاوتها و مشکلات استفاده از ستونهای SERIAL در مقایسه با ستونهای Identity در پایگاهدادهها میپردازد. SERIAL، که اغلب به خاطر سهولت در ایجاد شناسه خودکار در ستونها استفاده میشود، مختص به Postgres بوده و دارای چندین نقص است. برعکس، ستونهای Identity که بخشی از استاندارد SQL:2003 هستند، نه تنها توسط Postgres پشتیبانی میشوند بلکه مطابق با استاندارد جهانی هستند. این مقاله تفاوتهای کلیدی بین این دو گزینه و مزایای استفاده از ستونهای Identity را بررسی میکند، که این شامل سازگاری بیشتر با استانداردهای بینالمللی و قابلیت اطمینان بالاتر است.
🟣لینک مقاله:
https://postgresweekly.com/link/159927/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Naiyer Asif
Stop using SERIAL in Postgres
Postgres has supported identity columns since version 10. Use them instead of SERIAL for a better experience.
👍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
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.