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

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
  SQL IN Clauses are Miles Faster in Postgres 17

🟢 خلاصه مقاله:
خلاصه‌ی مقاله:
مقاله به بررسی پیشرفت‌های ایجاد شده در PG17 برای افزایش کارآیی اسکن درخت‌های B هنگام استفاده از عملگر IN می‌پردازد. حسین از این پیشرفت‌ها به حدی شگفت‌زده شده است که یک ویدئوکست تهیه کرده تا نحوه کارکرد آن را توضیح دهد، آن را با روش‌های مورد استفاده در SQL Server مقایسه کند و در یک دموی زنده نمایش دهد. این ویدئوکست نه تنها به تشریح فنی می‌پردازد بلکه با استفاده از مثال‌های عملی، کارایی بهبود یافته‌ی PG17 را در مقایسه با راه‌حل‌های موجود به نمایش می‌گذارد. این مقاله برای کسانی که به بهینه‌سازی و عملکرد پایگاه‌های داده علاقه‌مند هستند، منبع ارزشمندی است.

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


👑 @Database_Academy
1
به‌روزرسانی پایگاه‌داده‌ی اصلی ترب

https://vrgl.ir/4472h

📝 @This_ds
✍️ 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
2👍2
زبان RSQL مخفف Restricted SQL برای فیلتر کردن داده‌ها در APIهای RESTful استفاده میشه

اگر نیاز به پیاده سازی فیلتر های RQL/RSQL/FIQL
در پایتون روی Django REST framework داشتید

این کتابخانه را یک نگاهی داشته باشید
https://github.com/njoyard/django-rql-filter


👑 @Database_Academy
3👍1🍾1
Forwarded from Future Pulse Persian
یک پیشنهاد جذاب کاری
براتون رزومه هم میشه تازه :))

🕸 @labdon_academy
🤣7🍾3🔥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
👍21🍾1
🔵 عنوان مقاله
Optimizing Your Database for Analytics

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

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


👑 @Database_Academy
👍1
🔵 عنوان مقاله
🐸  Rainfrog: A New Database Management TUI for Postgres

🟢 خلاصه مقاله:
مقاله‌ای که در اختیار داریم به بررسی رابط کاربری ترمینال جدیدی می‌پردازد که بر پایه زبان برنامه‌نویسی Rust ساخته شده است. این رابط کاربری برای کار با پایگاه داده و اجرای دستورات SQL طراحی شده و به کاربران اجازه می‌دهد تا با استفاده از یک ویرایشگر پرس و جو که دارای برجسته‌سازی متن و میان‌برهایی به سبک Vim است، به راحتی کار کنند. همچنین، کاربران می‌توانند به سرعت بین اسکیماهای مختلف جابه‌جا شوند. این رابط کاربری، نمونه‌ای از تلاش‌ها برای ارائه رویکردهای نوین در تعامل با پایگاه‌های داده است و نشان دهنده گسترش استفاده از زبان‌های برنامه‌نویسی مدرن مثل Rust در توسعه ابزارهای ترمینال است.

🟣لینک مقاله:
https://postgresweekly.com/link/159944/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
👍1
🔵 عنوان مقاله
Hands on Postgres 17: What’s New & Impacting Performance

🟢 خلاصه مقاله:
در وبینار اختصاصی که برای بررسی نسخه ۱۷ پایگاه داده‌های Postgres برگزار می‌شود، شرکت‌کنندگان فرصتی خواهند داشت تا با ویژگی‌های جدید و پیشرفت‌های این نسخه آشنا شوند. تمرکز این وبینار بر روی پیشرفت‌های به دست آمده در اسکن‌های درخت B سریع‌تر، استراتژی‌های خلاء سازگار و به روز رسانی‌های I/O جریانی خواهد بود. این ویژگی‌ها چگونگی تأثیرات خود را بر عملکرد و نظارت پایگاه داده‌ها به نمایش می‌گذارند. حضور در این وبینار فرصتی عالی برای آشنایی با آخرین پیشرفت‌های فناوری در حوزه‌ی پایگاه‌های داده Postgres است و شرکت‌کنندگان می‌توانند با ثبت‌نام در این رویداد، مزایای آن را کشف کنند.

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


👑 @Database_Academy
Forwarded from Gopher Academy
🖐درود به همه دوستان گرامی

🌟 با افتخار اعلام می‌کنیم که مجموعه کانال‌های لابدون رسماً افتتاح شد!


🧐 حالا لابدون چیه؟
در زبان گیلکی به "تار عنکبوت" در شرق گیلان لابدون و در غرب گیلان لابدآن می‌گن.

🍾و حالا ما با این نام، مجموعه‌ای از بهترین منابع آموزشی و خبری رو برای شما آماده کردیم!

👇 لیست کانال‌های مجموعه Labdon با به‌روزترین اخبار، آموزش‌ها و ترفندها در حوزه‌های مختلف:


🔵 گولنگ - همه چیز از اخبار تا نکات کلیدی
🔴 @gopher_academy

🔵 موقعیت شغلی های گولنگ چه ایرانی و چه خارجی
🔴 @gopher_job


🔵 انواع دیتابیس ها ردیس مانگو پستگرس و سایر دیتابیس ها
🔴 @database_academy
🟢 حوزه های تحت پوشش (redis , mysql , postgresl , mongo ,etc)

🔵 دنیای بلاکچین و ارز های دیجیتال
🔴 @Blockchain_labdon
🟢 حوزه های تحت پوشش (Bitcoin, Ethereum, Altcoins, Blockchain, Policy & Regulations, AI, NFTs, DeFi)


🔵 مهندسی نرم افزار
🔴 @software_labdon
🟢 حوزه های تحت پوشش (Engineering, Architecture, Design, Testing, Security , QA)


🔵 لینوکس- از توزیع‌ها تا ترفندهای امنیتی
🔴 @linux_labdon
🟢 حوزه های تحت پوشش (Linux Distributions, Open Source Software, Security Tips ,New Releases & Features)


🔵 دوآپـس - ابزارها و روندهای جدید
🔴 @devops_labdon
🟢 حوزه های تحت پوشش (CI/CD Pipelines, Cloud Infrastructure, Containerization & Orchestration, Monitoring & Performance, Infrastructure as Code, Security in DevOps)


🕸 @labdon_academy
🍾1
Database Labdon pinned «🖐درود به همه دوستان گرامی 🌟 با افتخار اعلام می‌کنیم که مجموعه کانال‌های لابدون رسماً افتتاح شد! 🧐 حالا لابدون چیه؟ در زبان گیلکی به "تار عنکبوت" در شرق گیلان لابدون و در غرب گیلان لابدآن می‌گن. 🍾و حالا ما با این نام، مجموعه‌ای از بهترین منابع آموزشی و…»
🔵 عنوان مقاله
Window Functions for Data Analysis with Postgres

🟢 خلاصه مقاله:
در مقاله‌ای که مرور شد، عملکرد توابع پنجره در زمینه پایگاه داده و SQL مورد بررسی قرار گرفت. توابع پنجره برای گروه‌بندی یا مقایسه بین ردیف‌هایی که قبلاً در یک پرس و جو بازیابی شده‌اند، بسیار مفید هستند. این توابع می‌توانند برای محاسبه مجموع‌های جاری، انجام رتبه‌بندی‌ها، یا محاسبه میانگین‌های متحرک استفاده شوند که در نتیجه به ارتقاء قابلیت‌های پرس و جو کمک می‌کنند. به عبارت دیگر، توابع پنجره امکان انجام پرس و جوهای سطح بالاتر را فراهم می‌آورند، که این امر سبب بهبود و ارتقای تحلیل داده‌ها در چارچوب داده‌هایی که قبلا بازیافت شده‌اند، می‌شود. توانمندی در استفاده از این توابع، تحلیلگران داده و برنامه‌نویسان را قادر می‌سازد تا با دقت و کارایی بیشتری از داده‌ها استفاده کنند.

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


👑 @Database_Academy
🔵 عنوان مقاله
Implementing Hybrid Search with Postgres and pgvector

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

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


👑 @Database_Academy
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
🔵 عنوان مقاله
📱  Selectable: An In-Development Android Postgres Client

🟢 خلاصه مقاله:
مقاله مورد نظر درباره یک برنامه جدید برای سیستم عامل اندروید می‌باشد که به کاربران امکان تعامل با پایگاه داده‌های Postgres را می‌دهد. این برنامه در مراحل اولیه توسعه خود قرار دارد و به صورت فریمیوم (رایگان با امکان خرید درون‌برنامه‌ای) عرضه شده است. علاقمندان می‌توانند آن را از فروشگاه Google Play دانلود کرده و با آزمایش این برنامه، تجربیات خود را مستقیماً ببینند و با این پلتفرم جدید آشنا شوند. هرچند که برنامه هنوز در مراحل اولیه است، اما فرصت مناسبی برای گرفتن بازخورد از کاربران و بهبود برنامه در نظر گرفته شده است. این اپلیکیشن امکانی جذاب برای توسعه‌دهندگانی است که مایل به کار با پایگاه داده‌های Postgres بر روی دستگاه‌های اندرویدی خود هستند.

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


👑 @Database_Academy
😈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
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
👍1🤩1

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

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

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


👑 @Database_Academy
👍1🎉1
🔵 عنوان مقاله
Playing with BOLT to Get a Faster Postgres

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

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


👑 @Database_Academy
👍1