🔵 عنوان مقاله
PGroonga: Extend Full Text Search Features to All Languages
🟢 خلاصه مقاله:
مقاله مورد نظر به بررسی ادغام موتور جستجوی متن کامل Groonga در پایگاه دادهی Postgres (پستگرس) میپردازد. این ترکیب برای برخی سناریوهای خاص، مانند جستجو در متون ژاپنی یا چینی، عملکرد بهتری نسبت به تنظیمات پیشفرض پستگرس ارائه میدهد. از نسخه ۳.۲.۴، Groonga اکنون از پستگرس ۱۷ پشتیبانی میکند و امکان استفاده از این تکنولوژی را در این نسخه جدید فراهم میآورد. این پیشرفت میتواند به توسعهدهندگان کمک کند تا پرس و جوهای متنی پیچیدهتر و دقیقتری را در پایگاه دادههای شان اجرا نمایند، بهویژه در زبانهایی که نیازمند پردازش و تحلیل متون متفاوتی هستند.
🟣لینک مقاله:
https://postgresweekly.com/link/161106/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
PGroonga: Extend Full Text Search Features to All Languages
🟢 خلاصه مقاله:
مقاله مورد نظر به بررسی ادغام موتور جستجوی متن کامل Groonga در پایگاه دادهی Postgres (پستگرس) میپردازد. این ترکیب برای برخی سناریوهای خاص، مانند جستجو در متون ژاپنی یا چینی، عملکرد بهتری نسبت به تنظیمات پیشفرض پستگرس ارائه میدهد. از نسخه ۳.۲.۴، Groonga اکنون از پستگرس ۱۷ پشتیبانی میکند و امکان استفاده از این تکنولوژی را در این نسخه جدید فراهم میآورد. این پیشرفت میتواند به توسعهدهندگان کمک کند تا پرس و جوهای متنی پیچیدهتر و دقیقتری را در پایگاه دادههای شان اجرا نمایند، بهویژه در زبانهایی که نیازمند پردازش و تحلیل متون متفاوتی هستند.
🟣لینک مقاله:
https://postgresweekly.com/link/161106/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Forwarded from Future Pulse Persian
طلایی ترین لیست وبلاگها برنامه نویسان شرکتهای بزرگ دنیا مثل Google و . . .
در این لیست افرادی که تجربه کار کردن در شرکتهای بزرگ دارند اسم و لینکشون آورده شده
نفراول :
برنامه نویس شرکت TripAdvisor
هم مقالات فنی و هم مهارت نرم رو پوشش میده
https://dandreamsofcoding.com/
نفر دوم :
خالق الگوریتمی که در تمامی سیستم های recommender در شرکت بزرگ ازش استفاده میشه
https://lemire.me/blog/
نفر سوم :
از ایشون مگه بالاتر داریم ؟ CEO شرکت Stack overflow
https://www.joelonsoftware.com/
نفر چهارم :
مهندس نرمافزار گوگل و خالق چند تا از بزرگترین پروژههای Open Source جهان
https://latedev.wordpress.com/
نفر پنجم :
یک از تاثیر گذاران محبوبیت Linux
https://www.linux.org/forums/
نفر ششم :
برنامه نویس Google و نوسینده چند کتاب مشهور در دنیا
https://www.jeremykun.com/
نفر هفتم :
خالق Viaweb نوسینده بزرگ در حیطه برنامه نویسی
https://paulgraham.com/articles.html
نفر هقتم :
متخصص و Director شرکت Huawei
https://www.yegor256.com/
نفر هشتم :
یک متخصص به تمام معنا
https://prog21.dadgum.com/
نفر نهم :
نوسینده کتاب Clean Code
https://blog.cleancoder.com/
نفرم دهم :
مهندس گوگل
https://stevehanov.ca/blog/
نفرم یازدهم :
مهندس شرکت Uber
https://blog.pragmaticengineer.com/
➖➖➖➖➖➖➖➖
👑 @labdon_academy
در این لیست افرادی که تجربه کار کردن در شرکتهای بزرگ دارند اسم و لینکشون آورده شده
نفراول :
برنامه نویس شرکت TripAdvisor
هم مقالات فنی و هم مهارت نرم رو پوشش میده
https://dandreamsofcoding.com/
نفر دوم :
خالق الگوریتمی که در تمامی سیستم های recommender در شرکت بزرگ ازش استفاده میشه
https://lemire.me/blog/
نفر سوم :
از ایشون مگه بالاتر داریم ؟ CEO شرکت Stack overflow
https://www.joelonsoftware.com/
نفر چهارم :
مهندس نرمافزار گوگل و خالق چند تا از بزرگترین پروژههای Open Source جهان
https://latedev.wordpress.com/
نفر پنجم :
یک از تاثیر گذاران محبوبیت Linux
https://www.linux.org/forums/
نفر ششم :
برنامه نویس Google و نوسینده چند کتاب مشهور در دنیا
https://www.jeremykun.com/
نفر هفتم :
خالق Viaweb نوسینده بزرگ در حیطه برنامه نویسی
https://paulgraham.com/articles.html
نفر هقتم :
متخصص و Director شرکت Huawei
https://www.yegor256.com/
نفر هشتم :
یک متخصص به تمام معنا
https://prog21.dadgum.com/
نفر نهم :
نوسینده کتاب Clean Code
https://blog.cleancoder.com/
نفرم دهم :
مهندس گوگل
https://stevehanov.ca/blog/
نفرم یازدهم :
مهندس شرکت Uber
https://blog.pragmaticengineer.com/
➖➖➖➖➖➖➖➖
👑 @labdon_academy
Dan Dreams of Coding
Just trying to make sense of it all
🔵 عنوان مقاله
Trigger Recursion and How to Deal with It
🟢 خلاصه مقاله:
خلاصه مقاله:
در برنامهنویسی و تنظیمات پایگاه داده، ایجاد و استفاده از تریگرها میتواند به کارآمدی عملیات کمک کند. اما، اگر تریگری بهگونهای تنظیم شده باشد که فراخوانی آن تریگری دیگر را به دنبال داشته باشد، میتواند مشکلات پیچیدهای ایجاد کند که رفع آنها دشوار است. خوشبختانه، با تغییرات جزئی در تنظیمات تریگرها میتوان اطمینان حاصل کرد که تریگرها تنها زمانی فعال شوند که واقعاً نیاز است. این اقدامات احتیاطی به جلوگیری از اجرای بیرویه و خطاهایی که در نتیجه تداخل تریگرها ایجاد میشوند کمک شایانی میکند. انجام این تغییرات کوچک میتواند در پیشگیری از مشکلات بزرگتر و سختتر در آینده نقش بسزایی داشته باشد.
🟣لینک مقاله:
https://postgresweekly.com/link/161091/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Trigger Recursion and How to Deal with It
🟢 خلاصه مقاله:
خلاصه مقاله:
در برنامهنویسی و تنظیمات پایگاه داده، ایجاد و استفاده از تریگرها میتواند به کارآمدی عملیات کمک کند. اما، اگر تریگری بهگونهای تنظیم شده باشد که فراخوانی آن تریگری دیگر را به دنبال داشته باشد، میتواند مشکلات پیچیدهای ایجاد کند که رفع آنها دشوار است. خوشبختانه، با تغییرات جزئی در تنظیمات تریگرها میتوان اطمینان حاصل کرد که تریگرها تنها زمانی فعال شوند که واقعاً نیاز است. این اقدامات احتیاطی به جلوگیری از اجرای بیرویه و خطاهایی که در نتیجه تداخل تریگرها ایجاد میشوند کمک شایانی میکند. انجام این تغییرات کوچک میتواند در پیشگیری از مشکلات بزرگتر و سختتر در آینده نقش بسزایی داشته باشد.
🟣لینک مقاله:
https://postgresweekly.com/link/161091/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
CYBERTEC PostgreSQL | Services & Support
Dealing with trigger recursion in PostgreSQL
This article describes the problem of endless trigger recursion in PostgreSQL and shows how to deal with it and get good performance.
✍️Sepehr MohseniSepehr Mohseni
داشتم یه دیتابیس MySQL رو کانفیگ میکردم گفتم بد نیست کانفیگش رو اینجا هم بذارم. روی عکس زووم کنید توضیحات هر خط هم نوشتم.
اینم لینک گیتهابش:
https://lnkd.in/ezD_xX3S
داشتم یه دیتابیس MySQL رو کانفیگ میکردم گفتم بد نیست کانفیگش رو اینجا هم بذارم. روی عکس زووم کنید توضیحات هر خط هم نوشتم.
اینم لینک گیتهابش:
https://lnkd.in/ezD_xX3S
🙏2
Forwarded from Future Pulse Persian
تأثیر دانش زبان انگلیسی در دنیای برنامهنویسی از نگاه موسسه زبان آفاق
https://www.zoomit.ir/pr/428701-afagh-lc/
➖➖➖➖➖➖➖➖
👑 @labdon_academy
https://www.zoomit.ir/pr/428701-afagh-lc/
➖➖➖➖➖➖➖➖
👑 @labdon_academy
😈1👻1
✍️shahriyar bayatshahriyar bayat
ماژول bloom filter در ردیس
اول بریم ببینیم ماژول bloom filter اصلا چی هست؟
ماژول Bloom Filter یک ساختار داده احتمالاتیه که برای تست عضویت در مجموعهها استفاده میشه. این ساختار حافظه بسیار کمی استفاده میکنه و میتونه با دقت بالا تعیین کند که آیا یک عنصر در مجموعه وجود دارد یا خیر. ممکنه گاهی به اشتباه بگه که عنصری در مجموعه وجود داره (false positives)، ولی هیچوقت به اشتباه نمیگوید که عنصری که در مجموعه است وجود ندارد (false negatives).
ردیس از نسخه 4.0 به بعد پشتیبانی از Bloom Filter را از طریق یک ماژول به نام RedisBloom ارائه میدهد. این ماژول شامل دستوراتی برای ایجاد و مدیریت Bloom Filterهاست.
چطوری کار میکنه؟
توضیح و درکش شاید یکم مشکل باشه که ایجا بصورت خلاصه مطرح بشه
اول یه bit array با اندازه ثابت که همه بیت هاش هم صفر هستند ایجاد میکنه
بعد یک سری توابع هش انتخاب میشن که مقادیر یونیک تولید میکنن
مرحله بعدی مقدار ورودی که قراره ثبت بشه اول از تابع هش رد میکنن مقدار هش شده رو روی bitarray مینویسه و مقدار اون بیت و به یک تغییر میده
برای بررسی عضویت یک عنصر، عنصر را از طریق تمام تابعهای هش عبور میدن و موقعیتهای bitarray را که توسط هر هش نشان داده شدهن، بررسی میکنند. اگر همه آن بیتها ۱ باشند، عنصر احتمالاً در مجموعه است. اگر حتی یکی از آنها صفر باشد، عنصر قطعاً
در مجموعه نیست.
مزایا و معایبش چیه؟
مزایا:
کمحافظه: نسبت به ساختارهای دادهای دیگر، فضای بسیار کمی استفاده میکند.
سرعت بالا: عملیات افزودن و بررسی عضویت بسیار سریع انجام میشود.
معایب:
احتمال خطا: ممکنه گاهی به اشتباه بگه که یک عنصر وجود دارد (false positives).
عدم حذف: به دلیل ماهیت احتمالاتی bloom filter، امکان حذف عناصر بدون ایجاد خطا وجود ندارد.
استفاده از bloom filter خیلی سادست
➖➖➖➖➖➖➖➖
👑 @Database_Academy
ماژول bloom filter در ردیس
اول بریم ببینیم ماژول bloom filter اصلا چی هست؟
ماژول Bloom Filter یک ساختار داده احتمالاتیه که برای تست عضویت در مجموعهها استفاده میشه. این ساختار حافظه بسیار کمی استفاده میکنه و میتونه با دقت بالا تعیین کند که آیا یک عنصر در مجموعه وجود دارد یا خیر. ممکنه گاهی به اشتباه بگه که عنصری در مجموعه وجود داره (false positives)، ولی هیچوقت به اشتباه نمیگوید که عنصری که در مجموعه است وجود ندارد (false negatives).
ردیس از نسخه 4.0 به بعد پشتیبانی از Bloom Filter را از طریق یک ماژول به نام RedisBloom ارائه میدهد. این ماژول شامل دستوراتی برای ایجاد و مدیریت Bloom Filterهاست.
چطوری کار میکنه؟
توضیح و درکش شاید یکم مشکل باشه که ایجا بصورت خلاصه مطرح بشه
اول یه bit array با اندازه ثابت که همه بیت هاش هم صفر هستند ایجاد میکنه
بعد یک سری توابع هش انتخاب میشن که مقادیر یونیک تولید میکنن
مرحله بعدی مقدار ورودی که قراره ثبت بشه اول از تابع هش رد میکنن مقدار هش شده رو روی bitarray مینویسه و مقدار اون بیت و به یک تغییر میده
برای بررسی عضویت یک عنصر، عنصر را از طریق تمام تابعهای هش عبور میدن و موقعیتهای bitarray را که توسط هر هش نشان داده شدهن، بررسی میکنند. اگر همه آن بیتها ۱ باشند، عنصر احتمالاً در مجموعه است. اگر حتی یکی از آنها صفر باشد، عنصر قطعاً
در مجموعه نیست.
مزایا و معایبش چیه؟
مزایا:
کمحافظه: نسبت به ساختارهای دادهای دیگر، فضای بسیار کمی استفاده میکند.
سرعت بالا: عملیات افزودن و بررسی عضویت بسیار سریع انجام میشود.
معایب:
احتمال خطا: ممکنه گاهی به اشتباه بگه که یک عنصر وجود دارد (false positives).
عدم حذف: به دلیل ماهیت احتمالاتی bloom filter، امکان حذف عناصر بدون ایجاد خطا وجود ندارد.
استفاده از bloom filter خیلی سادست
➖➖➖➖➖➖➖➖
👑 @Database_Academy
👍1🔥1🎉1🍾1
📌 SQL Database Administrator
📝 Type: Visa Sponsorship
🌍 Relocation Package: ✅
🏢 Company: cloudvital
📍 Location: CANADA
⌨️ Category: #Networking
🔗 Tags: #server #ha #powershell #sql
📝 Type: Visa Sponsorship
🌍 Relocation Package: ✅
🏢 Company: cloudvital
📍 Location: CANADA
⌨️ Category: #Networking
🔗 Tags: #server #ha #powershell #sql
📌 Senior Database Engineer
📝 Type: Visa Sponsorship
🌍 Relocation Package: ✅
🏢 Company: exadel
📍 Location: BULGARIA
⌨️ Category: #Programming
🔗 Tags: #python #postgresql #ai #server #git #jenkins #devops #gitlab #sql
📝 Type: Visa Sponsorship
🌍 Relocation Package: ✅
🏢 Company: exadel
📍 Location: BULGARIA
⌨️ Category: #Programming
🔗 Tags: #python #postgresql #ai #server #git #jenkins #devops #gitlab #sql
خواهشا ردیس را به عنوان Primary Database استفاده نکنید!
یکی از جذابترین ریفکتور هایی که در اکالا انجام دادم، به ریلیز کردن ۴۰ گیگابایت رم ردیس برای استفاده در سبد خرید و سفارشها مربوط میشه. در این فرآیند، موفق شدم تنها از ۴۰۰ مگابایت رم استفاده کنم!
در شروع کار، به این فکر میکردم که چگونه میتوانم ۴۰ گیگابایت رم را آزاد کنم. اولین راهحلی که به ذهنم رسید، فشردهسازی دادهها بود. اما هیچ کامپرسوری نمیتوانست به اندازه کافی این حجم داده را فشرده کند، و هزینهی Decompress کردن آن بخاطر لود بالای سیستم، بسیار بالا بود.
هر کلید ما حاوی حدود ۱-۲ کیلوبایت JSON بود و مجبور بودیم که هر محصول را بدون TTL در Redis نگه داریم، زیرا Round Trip ما به Redis در لحظه به حدود ۳۰K میرسید و Redis ۴۰ گیگابایتی را مصرف میکرد. هیچ اپلیکیشنی نمیتوانست این حجم Request را با منابع پایین و زمان پاسخدهی ۱۰ میلیثانیه انجام دهد!
در ادامه، وقتی وارد فضای حل مسئله شدم:
پاکسازی دادههای اضافی: اولین قدم ما حذف کلی دادههای غیرضروری بود که هر کلید را به حدوداً ۵۰۰ بایت تبدیل کرد.
استفاده از Protobuf: به این فکر کردم که چرا از JSON استفاده کنیم؟ با استفاده از deserializer و serializer قدرتمندی مثل Protobuf، میتوانستیم حجم دادهها را به طور چشمگیری کاهش دهیم. با تبدیل دادهها به باینری و ذخیره آن، حجم هر کلید به حدود ۳۰۰ بایت کاهش یافت، که به معنای کاهش ۸۰ درصدی مصرف رم بود. با این حال، کیفیت و سرعت بالا در اکالا برای ما بسیار مهم بود.
شکستن کلیدها: کلیدها را به دو بخش تقسیم کردم:
اطلاعات محصول (شامل نام، بارکد، آدرس عکس و...) در یک کلید با حجم تقریباً ۲۰۰ بایت.
موجودی هر محصول در فروشگاهها در کلیدی دیگر با حجم حدود ۱۰۰ بایت.
در روش قبلی، اگر یک میلیون کالا داشتیم، مصرف حدود ۲۸۶ مگابایت بود. اما در روش جدید، فرض کنیم از یک میلیون تا 2000 محصول داریم و برای یک میلیون کالا موجودی در استور های مختلف، حدود ۹۵ مگابایت مصرف میشد!
کش کردن محصولات: همچنین، کالاهای اضافهشده به سبد خرید مشتریان را به مدت ۴ روز کش کردم. به جای استفاده از Redis به عنوان Primary Database و بدون TTL، هرگاه دادهای نداشتیم، از منبع اصلی اطلاعات را میگرفتیم و دوباره به مدت ۴ روز کش میکردیم. اگر کاربری همان کالا را دوباره به سبد خرید اضافه میکرد، TTL آن به صورت Sliding افزایش مییافت.
در نهایت، با همین ۴۰۰ مگابایت، همه چیز به خوبی به هم رسید و ما توانستیم پرفورمنس و سرعت را بدون هیچ افت کیفیتی حفظ کنیم!
DevTwitter | <Hassan Arab borzo/>
➖➖➖➖➖➖➖
👑 @Database_Academy
یکی از جذابترین ریفکتور هایی که در اکالا انجام دادم، به ریلیز کردن ۴۰ گیگابایت رم ردیس برای استفاده در سبد خرید و سفارشها مربوط میشه. در این فرآیند، موفق شدم تنها از ۴۰۰ مگابایت رم استفاده کنم!
در شروع کار، به این فکر میکردم که چگونه میتوانم ۴۰ گیگابایت رم را آزاد کنم. اولین راهحلی که به ذهنم رسید، فشردهسازی دادهها بود. اما هیچ کامپرسوری نمیتوانست به اندازه کافی این حجم داده را فشرده کند، و هزینهی Decompress کردن آن بخاطر لود بالای سیستم، بسیار بالا بود.
هر کلید ما حاوی حدود ۱-۲ کیلوبایت JSON بود و مجبور بودیم که هر محصول را بدون TTL در Redis نگه داریم، زیرا Round Trip ما به Redis در لحظه به حدود ۳۰K میرسید و Redis ۴۰ گیگابایتی را مصرف میکرد. هیچ اپلیکیشنی نمیتوانست این حجم Request را با منابع پایین و زمان پاسخدهی ۱۰ میلیثانیه انجام دهد!
در ادامه، وقتی وارد فضای حل مسئله شدم:
پاکسازی دادههای اضافی: اولین قدم ما حذف کلی دادههای غیرضروری بود که هر کلید را به حدوداً ۵۰۰ بایت تبدیل کرد.
استفاده از Protobuf: به این فکر کردم که چرا از JSON استفاده کنیم؟ با استفاده از deserializer و serializer قدرتمندی مثل Protobuf، میتوانستیم حجم دادهها را به طور چشمگیری کاهش دهیم. با تبدیل دادهها به باینری و ذخیره آن، حجم هر کلید به حدود ۳۰۰ بایت کاهش یافت، که به معنای کاهش ۸۰ درصدی مصرف رم بود. با این حال، کیفیت و سرعت بالا در اکالا برای ما بسیار مهم بود.
شکستن کلیدها: کلیدها را به دو بخش تقسیم کردم:
اطلاعات محصول (شامل نام، بارکد، آدرس عکس و...) در یک کلید با حجم تقریباً ۲۰۰ بایت.
موجودی هر محصول در فروشگاهها در کلیدی دیگر با حجم حدود ۱۰۰ بایت.
در روش قبلی، اگر یک میلیون کالا داشتیم، مصرف حدود ۲۸۶ مگابایت بود. اما در روش جدید، فرض کنیم از یک میلیون تا 2000 محصول داریم و برای یک میلیون کالا موجودی در استور های مختلف، حدود ۹۵ مگابایت مصرف میشد!
کش کردن محصولات: همچنین، کالاهای اضافهشده به سبد خرید مشتریان را به مدت ۴ روز کش کردم. به جای استفاده از Redis به عنوان Primary Database و بدون TTL، هرگاه دادهای نداشتیم، از منبع اصلی اطلاعات را میگرفتیم و دوباره به مدت ۴ روز کش میکردیم. اگر کاربری همان کالا را دوباره به سبد خرید اضافه میکرد، TTL آن به صورت Sliding افزایش مییافت.
در نهایت، با همین ۴۰۰ مگابایت، همه چیز به خوبی به هم رسید و ما توانستیم پرفورمنس و سرعت را بدون هیچ افت کیفیتی حفظ کنیم!
DevTwitter | <Hassan Arab borzo/>
➖➖➖➖➖➖➖
👑 @Database_Academy
👍3👌3💯2🍾1
🔵 عنوان مقاله
Case Study of Optimizing a 'Weirdly Picked' Bad Plan
🟢 خلاصه مقاله:
در مقاله مذکور، نویسنده به بررسی یک مورد خاص پرداخته که در آن یک برنامهریز (planner) انتخاب غیرمنتظرهای برای یک عملیات داشته است. نویسنده این حالت را به عنوان نمونهای برای آموزش و توضیح نحوه مواجهه با چنین شرایطی انتخاب کرده است. این مقاله نشان میدهد که چگونه میتوان با استفاده از دادهها و تجزیه و تحلیل دقیق، بهترین تصمیمگیریها را در مواقعی که برنامهریز با خطا روبرو میشود، انجام داد. نویسنده روشها و استراتژیهایی را توصیه میکند که به کاربران امکان میدهد عملکرد سیستمهای مرتبط با برنامهریزی را بهبود بخشند و از تکرار خطاها جلوگیری کنند. این مطالب میتواند برای متخصصان فناوری اطلاعات و توسعه دهندگان نرمافزار که با موارد مشابه در کارشان مواجه هستند، بسیار مفید و کاربردی باشد.
🟣لینک مقاله:
https://postgresweekly.com/link/161578/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Case Study of Optimizing a 'Weirdly Picked' Bad Plan
🟢 خلاصه مقاله:
در مقاله مذکور، نویسنده به بررسی یک مورد خاص پرداخته که در آن یک برنامهریز (planner) انتخاب غیرمنتظرهای برای یک عملیات داشته است. نویسنده این حالت را به عنوان نمونهای برای آموزش و توضیح نحوه مواجهه با چنین شرایطی انتخاب کرده است. این مقاله نشان میدهد که چگونه میتوان با استفاده از دادهها و تجزیه و تحلیل دقیق، بهترین تصمیمگیریها را در مواقعی که برنامهریز با خطا روبرو میشود، انجام داد. نویسنده روشها و استراتژیهایی را توصیه میکند که به کاربران امکان میدهد عملکرد سیستمهای مرتبط با برنامهریزی را بهبود بخشند و از تکرار خطاها جلوگیری کنند. این مطالب میتواند برای متخصصان فناوری اطلاعات و توسعه دهندگان نرمافزار که با موارد مشابه در کارشان مواجه هستند، بسیار مفید و کاربردی باشد.
🟣لینک مقاله:
https://postgresweekly.com/link/161578/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
🔵 عنوان مقاله
4 Ways to Create Date Bins in Postgres
🟢 خلاصه مقاله:
در این مقاله، روشهای مختلفی برای گردآوری و تجمیع دادهها بر اساس دورههای زمانی معین (مانند ماه کامل، سهماهه یا سال) در پایگاه داده Postgres بررسی میشود. کریستوفر بر روی چند تابع مختلف شامل INTERVAL, date_trunc, extract و to_char تمرکز کرده است. هرکدام از این توابع مزایا و معایب خاص خود را دارند. تابع INTERVAL برای تعریف بازههای زمانی مشخص مفید است؛ date_trunc به کاربران امکان میدهد تا دادهها را به بخشهای زمانی منظم تقسیم کنند؛ extract برای استخراج قسمتهای خاصی از تاریخ مانند سال یا ماه به کار میرود؛ و to_char امکان تبدیل تاریخها به رشتههای نوشتاری با قالب دلخواه را فراهم میآورد. استفاده مناسب از این توابع بستگی به نیازهای خاص گزارشگیری یا تجمیع دادههای کاربر دارد.
🟣لینک مقاله:
https://postgresweekly.com/link/161577/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
4 Ways to Create Date Bins in Postgres
🟢 خلاصه مقاله:
در این مقاله، روشهای مختلفی برای گردآوری و تجمیع دادهها بر اساس دورههای زمانی معین (مانند ماه کامل، سهماهه یا سال) در پایگاه داده Postgres بررسی میشود. کریستوفر بر روی چند تابع مختلف شامل INTERVAL, date_trunc, extract و to_char تمرکز کرده است. هرکدام از این توابع مزایا و معایب خاص خود را دارند. تابع INTERVAL برای تعریف بازههای زمانی مشخص مفید است؛ date_trunc به کاربران امکان میدهد تا دادهها را به بخشهای زمانی منظم تقسیم کنند؛ extract برای استخراج قسمتهای خاصی از تاریخ مانند سال یا ماه به کار میرود؛ و to_char امکان تبدیل تاریخها به رشتههای نوشتاری با قالب دلخواه را فراهم میآورد. استفاده مناسب از این توابع بستگی به نیازهای خاص گزارشگیری یا تجمیع دادههای کاربر دارد.
🟣لینک مقاله:
https://postgresweekly.com/link/161577/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Crunchy Data
4 Ways to Create Date Bins in Postgres: interval, date_trunc, extract, and to_char | Crunchy Data Blog
Chris has lots of tips and sample code for getting date based report data from Postgres. He is rolling up days, weeks, months, and quarters and even has handy functions for labeling date results in your preferred format.
🔵 عنوان مقاله
Request-Reply in Postgres
🟢 خلاصه مقاله:
مقالهای که به بررسی امکان ساخت مکانیزم درخواست-پاسخ به کمک اجزای سادهی پستگرس پرداخته، نشان میدهد که چنین چیزی امکانپذیر است. نویسنده با کنجکاوی به این پرسش پرداخته که آیا میتوان با استفاده از ترکیبات پایهای پستگرس، یک سیستم درخواست و پاسخ را پیادهسازی کرد و در نهایت به این نتیجه رسیده است که این امکان وجود دارد. با این حال، تصمیم گیری در مورد اینکه آیا استفاده از چنین روشی توصیه میشود یا نه، به خواننده واگذار شده است. این نکته به این معناست که ضرورت دارد تا خوانندگان بر اساس نیازها و شرایط خاص خود تصمیمگیری کنند که استفاده از این روش در مواقع خاص مناسب است یا خیر.
🟣لینک مقاله:
https://postgresweekly.com/link/161589/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Request-Reply in Postgres
🟢 خلاصه مقاله:
مقالهای که به بررسی امکان ساخت مکانیزم درخواست-پاسخ به کمک اجزای سادهی پستگرس پرداخته، نشان میدهد که چنین چیزی امکانپذیر است. نویسنده با کنجکاوی به این پرسش پرداخته که آیا میتوان با استفاده از ترکیبات پایهای پستگرس، یک سیستم درخواست و پاسخ را پیادهسازی کرد و در نهایت به این نتیجه رسیده است که این امکان وجود دارد. با این حال، تصمیم گیری در مورد اینکه آیا استفاده از چنین روشی توصیه میشود یا نه، به خواننده واگذار شده است. این نکته به این معناست که ضرورت دارد تا خوانندگان بر اساس نیازها و شرایط خاص خود تصمیمگیری کنند که استفاده از این روش در مواقع خاص مناسب است یا خیر.
🟣لینک مقاله:
https://postgresweekly.com/link/161589/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Sequin blog
Request-reply in Postgres
Learn how to implement the request-reply pattern in Postgres. Builds off tools like listen/notify.
🔵 عنوان مقاله
pg_parquet: An Extension to Connect Postgres and Parquet
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته به معرفی یک افزونه جدید منبع باز برای کار با فایلهای Parquet میپردازد. این افزونه امکان خواندن و نوشتن فایلهای Parquet را به دیسک محلی یا S3 مستقیماً از طریق پایگاه داده Postgres فراهم میآورد. این ابزار که در GitHub قابل دسترسی است، به دادهپردازان و برنامهنویسان امکان میدهد تا با کارایی بالا و بدون نیاز به یک واسط گرافیکی، دادههای خود را در فرمت بهینهسازی شده Parquet مدیریت کنند. کد منبع باز بودن این افزونه به این معناست که توسعهدهندگان میتوانند در بهبود و توسعه آن با یکدیگر همکاری نمایند، این امکانات به بهبود یکپارچهسازی و کارایی در پروژههای دادهای کمک شایانی خواهد کرد.
🟣لینک مقاله:
https://postgresweekly.com/link/161595/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
pg_parquet: An Extension to Connect Postgres and Parquet
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته به معرفی یک افزونه جدید منبع باز برای کار با فایلهای Parquet میپردازد. این افزونه امکان خواندن و نوشتن فایلهای Parquet را به دیسک محلی یا S3 مستقیماً از طریق پایگاه داده Postgres فراهم میآورد. این ابزار که در GitHub قابل دسترسی است، به دادهپردازان و برنامهنویسان امکان میدهد تا با کارایی بالا و بدون نیاز به یک واسط گرافیکی، دادههای خود را در فرمت بهینهسازی شده Parquet مدیریت کنند. کد منبع باز بودن این افزونه به این معناست که توسعهدهندگان میتوانند در بهبود و توسعه آن با یکدیگر همکاری نمایند، این امکانات به بهبود یکپارچهسازی و کارایی در پروژههای دادهای کمک شایانی خواهد کرد.
🟣لینک مقاله:
https://postgresweekly.com/link/161595/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Crunchy Data
pg_parquet: An Extension to Connect Postgres and Parquet | Crunchy Data Blog
Crunchy Data is excited to release a new extension so you can write Postgres data to Parquet and or pull data from Parquet to Postgres. Craig has the details and sample code.
دانلود کتاب Efficient MySQL Performance: Best Practices and Techniques – نسخه PDF
https://www.yasdl.com/294618/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D8%AA%D8%A7%D8%A8-efficient-mysql-performance-best-practices-and-techniques.html
https://www.yasdl.com/294618/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D8%AA%D8%A7%D8%A8-efficient-mysql-performance-best-practices-and-techniques.html
یاس دانلود
دانلود Efficient MySQL Performance: Best Practices and Techniques - PDF
دانلود کتاب Efficient MySQL Performance: Best Practices and Techniques - نسخه PDF دانلود پرفرمنس بهینه در مای اس کیو ال: بست پرکتیس و تکنیکها
👍2
دانلود Udemy - Fundamentals of Database Engineering 2024-10 -
https://downloadly.ir/elearning/video-tutorials/introduction-to-database-engineering-7/
https://downloadly.ir/elearning/video-tutorials/introduction-to-database-engineering-7/
دانلود رایگان نرم افزار
دانلود Udemy - Fundamentals of Database Engineering 2025-9 -
دانلود Fundamentals of Database Engineering، آموزش ACID, Indexing, Partitioning, Sharding, Concurrency control, Replication, DB Engines
👍3
🔵 عنوان مقاله
How to Build an Image Search App with OpenAI CLIP, Postgres, and JavaScript
🟢 خلاصه مقاله:
این مقاله آموزشی به بررسی چگونگی ادغام تکنولوژیها و ایدههای مختلف در یک پروژه میپردازد. از CLIP برای تبدیل تصاویر به توضیحات متنی استفاده میشود، به این صورت که هر تصویر را به توضیح متنی آن تبدیل میکند. Postgres به عنوان یک پایگاه داده برداری استفاده میشود که برای ذخیرهسازی و جستجوی دادهها به کار میرود. در سمت فرانتاند و بکاند، JavaScript نقش چسبی را ایفا میکند که همه چیزها را به هم متصل میسازد؛ React در فرانتاند و Node.js در بکاند به کار گرفته شدهاند. این مقاله به شیوهای جامع تحلیل میکند که چگونه میتوان ابزارها و فناوریهای مختلف را برای ایجاد یک راهحل یکپارچه در حوزههای توسعه وب و مدیریت دادهها هماهنگ ساخت.
🟣لینک مقاله:
https://postgresweekly.com/link/161588/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
How to Build an Image Search App with OpenAI CLIP, Postgres, and JavaScript
🟢 خلاصه مقاله:
این مقاله آموزشی به بررسی چگونگی ادغام تکنولوژیها و ایدههای مختلف در یک پروژه میپردازد. از CLIP برای تبدیل تصاویر به توضیحات متنی استفاده میشود، به این صورت که هر تصویر را به توضیح متنی آن تبدیل میکند. Postgres به عنوان یک پایگاه داده برداری استفاده میشود که برای ذخیرهسازی و جستجوی دادهها به کار میرود. در سمت فرانتاند و بکاند، JavaScript نقش چسبی را ایفا میکند که همه چیزها را به هم متصل میسازد؛ React در فرانتاند و Node.js در بکاند به کار گرفته شدهاند. این مقاله به شیوهای جامع تحلیل میکند که چگونه میتوان ابزارها و فناوریهای مختلف را برای ایجاد یک راهحل یکپارچه در حوزههای توسعه وب و مدیریت دادهها هماهنگ ساخت.
🟣لینک مقاله:
https://postgresweekly.com/link/161588/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Timescale Blog
How to Build an Image Search Application With OpenAI CLIP & PostgreSQL in JavaScript
See how you can build an image search engine using OpenAI CLIP and PostgreSQL for numerous applications, from e-commerce to healthcare and augmented reality.
🔵 عنوان مقاله
Postgres Version Report
🟢 خلاصه مقاله:
این مقاله در مورد ابزار آنلاینی است که به کاربران این امکان را میدهد تا اطلاعات کامل نسخه سرور PostgreSQL خود را در آن قرار دهند و مشاهده کنند که نسخهی آنها نسبت به برنامه زمانبندی انتشار Postgres کجا قرار دارد. همچنین، این ابزار اطلاعات مفیدی در خصوص آسیبپذیریهای امنیتی برجای مانده (CVEs)، باگها و بهبودهایی که در نسخههای بعدی ایجاد شده است، ارائه میدهد. کاربران با استفاده از این ابزار میتوانند درک بهتری از وضعیت فعلی نسخه استفادهشدهی خود داشته باشند و تصمیمگیری آگاهانهتری در مورد بهروزرسانیهای احتمالی یا مدیریت مشکلات امنیتی اتخاذ کنند.
🟣لینک مقاله:
https://postgresweekly.com/link/161594/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Postgres Version Report
🟢 خلاصه مقاله:
این مقاله در مورد ابزار آنلاینی است که به کاربران این امکان را میدهد تا اطلاعات کامل نسخه سرور PostgreSQL خود را در آن قرار دهند و مشاهده کنند که نسخهی آنها نسبت به برنامه زمانبندی انتشار Postgres کجا قرار دارد. همچنین، این ابزار اطلاعات مفیدی در خصوص آسیبپذیریهای امنیتی برجای مانده (CVEs)، باگها و بهبودهایی که در نسخههای بعدی ایجاد شده است، ارائه میدهد. کاربران با استفاده از این ابزار میتوانند درک بهتری از وضعیت فعلی نسخه استفادهشدهی خود داشته باشند و تصمیمگیری آگاهانهتری در مورد بهروزرسانیهای احتمالی یا مدیریت مشکلات امنیتی اتخاذ کنند.
🟣لینک مقاله:
https://postgresweekly.com/link/161594/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Pgversions
Postgres Version Report
Check what features you are missing in the version of Postgres you are using.
یه فرصت خیلی خوب برای علاقمندان به یادگیری دیتابیس PostgreSQL
اِرِن فرَنسِز (Aaron Francis) که تجربه ای نزدیک به 20 سال، با پستگرس داره و از مدرسین فعال حوزه ی لاراول هم هست، دوره Mastering Postgres رو منتشر کرده که نزدیک به 11 ساعت آموزش هست.
25 ویدیو اول این دوره رایگان هست که میتونید ازش استفاده کنید.
https://masteringpostgres.com/
DevTwitter | <Ali Salehi/>
اِرِن فرَنسِز (Aaron Francis) که تجربه ای نزدیک به 20 سال، با پستگرس داره و از مدرسین فعال حوزه ی لاراول هم هست، دوره Mastering Postgres رو منتشر کرده که نزدیک به 11 ساعت آموزش هست.
25 ویدیو اول این دوره رایگان هست که میتونید ازش استفاده کنید.
https://masteringpostgres.com/
DevTwitter | <Ali Salehi/>
🔵 عنوان مقاله
Speaking in Tongues: Postgres and Character Encodings
🟢 خلاصه مقاله:
موضوع رمزگذاریهای کاراکتر میتواند به عنوان موضوعی حیاتی اما ناخواسته برای بسیاری از کاربران پایگاه دادهها باشد. با این حال، استفاده از UTF-8 میتواند بسیاری از مشکلات را حل کند و کاربران را به یک حالت رضایتبخش برساند. استفاده از UTF-8 که یک رمزگذاری جهانی برای کاراکترها است، به شما امکان میدهد که اطلاعات را به طور سازگار و بدون مشکلات مرتبط با تطابق یا ناسازگاری کاراکترها ذخیره و بازیابی کنید. این میتواند بسیاری از نگرانیها را در زمینههای مختلف از قبیل توسعه نرمافزار، ذخیرهسازی داده و تبادل اطلاعات بین سیستمهای مختلف کاهش دهد. بنابراین، استفاده از UTF-8 نه تنها به صرفهجویی در زمان و منابع کمک میکند، بلکه اطمینان حاصل میکند که دادهها به صورت عادلانه و قابل دسترس در دسترس هستند.
🟣لینک مقاله:
https://postgresweekly.com/link/161586/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Speaking in Tongues: Postgres and Character Encodings
🟢 خلاصه مقاله:
موضوع رمزگذاریهای کاراکتر میتواند به عنوان موضوعی حیاتی اما ناخواسته برای بسیاری از کاربران پایگاه دادهها باشد. با این حال، استفاده از UTF-8 میتواند بسیاری از مشکلات را حل کند و کاربران را به یک حالت رضایتبخش برساند. استفاده از UTF-8 که یک رمزگذاری جهانی برای کاراکترها است، به شما امکان میدهد که اطلاعات را به طور سازگار و بدون مشکلات مرتبط با تطابق یا ناسازگاری کاراکترها ذخیره و بازیابی کنید. این میتواند بسیاری از نگرانیها را در زمینههای مختلف از قبیل توسعه نرمافزار، ذخیرهسازی داده و تبادل اطلاعات بین سیستمهای مختلف کاهش دهد. بنابراین، استفاده از UTF-8 نه تنها به صرفهجویی در زمان و منابع کمک میکند، بلکه اطمینان حاصل میکند که دادهها به صورت عادلانه و قابل دسترس در دسترس هستند.
🟣لینک مقاله:
https://postgresweekly.com/link/161586/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
🔵 عنوان مقاله
How to Compare Postgres EXPLAIN Plans & Tune Slow Queries
🟢 خلاصه مقاله:
در این وبینار، شرکتکنندگان چگونگی تشخیص و بهینهسازی پرس و جوهای کند در PostgreSQL را یاد میگیرند تا عملکرد برنامههای خود را بهبود بخشند. استفاده از ابزار pganalyze به کاربران اجازه میدهد تا برنامههای پرس و جو را مقایسه کرده و مشکلات رایجی مانند حلقههای تو در توی ناکارآمد و عدم وجود فهرستهای لازم را عیبیابی کنند. با تمرکز بر روی دیباگ و تنظیم دقیق، این وبینار اطلاعات قابل ارزشی را برای بهبود عملکرد دیتابیس ارائه میدهد و به تحلیل و رفع موانع کندی در پرس و جوها کمک میکند. این جلسه برای توسعهدهندگان، مدیران دیتابیس و هرکسی که با PostgreSQL کار میکند مفید خواهد بود.
🟣لینک مقاله:
https://postgresweekly.com/link/161573/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
How to Compare Postgres EXPLAIN Plans & Tune Slow Queries
🟢 خلاصه مقاله:
در این وبینار، شرکتکنندگان چگونگی تشخیص و بهینهسازی پرس و جوهای کند در PostgreSQL را یاد میگیرند تا عملکرد برنامههای خود را بهبود بخشند. استفاده از ابزار pganalyze به کاربران اجازه میدهد تا برنامههای پرس و جو را مقایسه کرده و مشکلات رایجی مانند حلقههای تو در توی ناکارآمد و عدم وجود فهرستهای لازم را عیبیابی کنند. با تمرکز بر روی دیباگ و تنظیم دقیق، این وبینار اطلاعات قابل ارزشی را برای بهبود عملکرد دیتابیس ارائه میدهد و به تحلیل و رفع موانع کندی در پرس و جوها کمک میکند. این جلسه برای توسعهدهندگان، مدیران دیتابیس و هرکسی که با PostgreSQL کار میکند مفید خواهد بود.
🟣لینک مقاله:
https://postgresweekly.com/link/161573/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
events.zoom.us
Webinar | How to Compare Postgres Plans & Tune Slow Queries with pganalyze