Database Labdon – Telegram
Database Labdon
833 subscribers
33 photos
3 videos
1 file
817 links
🕸 Database Academy

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
While Postgres Redlined, Robinhood Sharded to Scale

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

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


👑 @Database_Academy
1👍1
🔵 عنوان مقاله
FerretDB 2.0: An Open Source MongoDB Alternative

🟢 خلاصه مقاله:
FerretDB یک پیاده‌سازی از MongoDB است که بر روی Postgres و افزونه DocumentDB مایکروسافت قرار گرفته است. به خلاف MongoDB، FerretDB تحت مجوز Apache 2.0 منتشر شده است. این امکان را فراهم می‌آورد که کاربران بتوانند از پایگاه داده‌ی مدیریت سندی مانند MongoDB استفاده کنند، در حالی که از زیرساخت‌های قدرتمند و اثبات شده‌ی Postgres بهره می‌برند. این نوآوری به این معناست که کاربران می‌توانند از ویژگی‌ها و امنیتی که Postgres ارائه می‌دهد استفاده کنند، در حالی که از رابط برنامه‌نویسی کاربردی MongoDB برخوردار هستند. این محصول به خصوص برای آن دسته از توسعه‌دهندگانی که به دنبال استفاده از MongoDB در محیط‌هایی هستند که Postgres ترجیح داده می‌شود، مفید است. FerretDB در گیت‌هاب قابل دسترسی است و می‌تواند به عنوان یک جایگزین قابل اعتماد برای MongoDB استفاده شود.

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


👑 @Database_Academy
🔵 عنوان مقاله
pytest-postgresql 7.0: A Pytest Plugin for Testing Postgres-Using Python Apps

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

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


👑 @Database_Academy
Forwarded from Future Pulse Persian
👇 لیست کانال‌های مجموعه 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
🔵 عنوان مقاله
PGConf.dev 2025: May 13-16 in Montréal, Canada

🟢 خلاصه مقاله:
رویداد جانشین PGCon، کنفرانس توسعه PostgreSQL، یکی از بزرگترین گردهمایی‌های سالانه جامعه است که تمرکز خاصی بر روی جمع آوری مشارکت‌کنندگان Postgres دارد. ثبت نام اکنون باز است، اما خبر مهم این هفته این است که برنامه کنفرانس اکنون زنده و بسیار پربار است.


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


👑 @Database_Academy
👍1🙏1
🔵 عنوان مقاله
New Random Functions in Postgres 17

🟢 خلاصه مقاله:
در ورژن ۱۷ PostgreSQL، توابع جدیدی برای تولید اعداد تصادفی معرفی شده‌اند، بنابراین دریافت یک عدد صحیح بین ۱ تا ۱۰ حالا به سادگی استفاده از random(1,10) امکان‌پذیر است.

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


👑 @Database_Academy
👍2
🔵 عنوان مقاله
(Ab)using pgRouting to Use Postgres as a Graph Database

🟢 خلاصه مقاله:
پس از نصب افزونه pgRouting، قابلیت‌های مسیریابی مکانی مدرن در دسترس قرار می‌گیرند، معمولاً در ترکیب با PostGIS استفاده می‌شود. جالب است که بدانید مکانیزم‌های جستجوی مسیر و گراف این افزونه تنها به داده‌های جغرافیایی محدود نمی‌شوند؛ در واقع، این امکانات می‌توانند برای ناوبری در هر نوع داده‌ای که به شکل گراف سازمان‌دهی شده باشد، به کار روند.

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


👑 @Database_Academy
Forwarded from DevOps Labdon
🔵 عنوان مقاله
Siren Call of SQLite on the Server (3 minute read)

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته، به بررسی استفاده از SQLite در کنار ابزارهایی مانند LiteFS برای تکثیر داده‌ها در محیط‌های سروری توسط Fly.io می‌پردازد. مقاله با این وجود استدلال می‌کند که استفاده از SQLite به عنوان دیتابیس اصلی در محیط‌های تولید، پیچیدگی‌های غیرضروری به همراه دارد. SQLite برای برنامه‌های تک‌نمونه‌ای مناسب است؛ با این حال، برای بیشتر بارهای کاری در تولید، استفاده از پایگاه داده سنتی مانند PostgreSQL به دلیل سادگی در پشتیبان‌گیری، مقیاس‌پذیری و مهاجرت‌ها، گزینه بهتری است. در نهایت، مقاله به این نتیجه می‌رسد که برای کاربردهایی که نیازمند استقرار راهکارهای پیچیده‌تر هستند، PostgreSQL را به عنوان یک گزینه‌ی ترجیحی قلمداد می‌کند.

🟣لینک مقاله:
https://pid1.dev/posts/siren-call-of-sqlite-on-the-server/?utm_source=tldrdevops


👑 @DevOps_Labdon
🔵 عنوان مقاله
A Roundup of Postgres Query Plan Visualization Tools

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

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


👑 @Database_Academy
کوئرا با ۳۰۰ میلیون کاربر ماهانه، ۲۵,۰۰۰+ سوال روزانه، و ۱۰+ سال فعالیت، دیتابیسش میدونی چیه؟ MySQL! ده‌ها ترابایت داده و صدها هزار QPS. و اومدن شدیدا بهینه‌ش کردن، چطوری؟

اینا میبینن بار دیتابیس (Database Load) با رشد کاربران، پتابایت‌ها بیشتر و با ویژگی‌های ML محصولاتشون بالاتر هم می‌ره، و البته اسپمرها هم یه بخشی ازین بار بودن.

بار دیتابیسشون تو خواندن (Reads) (۷۰٪ ترافیک)، حجم داده (Data Volume) ( که رشد ۲۰۰٪ تو ۵ سال داشت)، و نوشتن (Writes) (کم اما حساس) بود. کوئرا برای بهینه‌سازی روی خواندن و حجم داده تمرکز کرد، چون ترافیک بیشترشون سمت خواندن بود.

اسکن‌های بزرگ رو با LIMIT و صفحه‌بندی (Pagination) بهینه کردن. این کار از اسکن‌ غیرضروری جلوگیری کرد و پرفومنس کوئری‌ها رو تا ۶۰٪ سریع‌تر کرد.

برای کوئری‌های کند، ایندکس‌ها رو دوباره طراحی کردن، ستون‌های غیرضروری حذف شدن، ORDER BY به کلاینت منتقل شد، و کوئری‌های غیرضروری هم حذف شدند. و بار CPU ۵۰٪ کم شد.

برای High QPS، کوئرا کش رو بهینه کرد. کلید کش (Cache Key) به uid تغییر داد تا QPS رو بیش از ۹۰٪ کم کنه.

برای حجم داده ها، کوئرا MyRocks که فیس‌بوک توسعه داده بود رو برای شاردهای قدیمی MySQL استفاده کرد. این کار فضا رو تا ۸۰٪ برای برخی جدول‌ها  و ۵۰-۶۰٪ برای بقیه کاهش داد.

مای راک با فشرده‌سازی بهتر، IO رو کم کرد و زمان بکاپ/ریستور رو ۵۰٪ سریع‌تر کرد. شاردهای قدیمی (بیش از ۱۸ ماه) به MyRocks منتقل شدند.
برای نوشتن، lag رپلیکیشن رو با رپلیکیشن موازی Parallel ( توی mysql تنظیماتش slave_parallel_type یا شبیه شه) حل کردن تا بار رو بهتر توزیع کنه.

یعنی یه تاخیری بین دیتابیس مادر با رپلیکا به وجود میومد که رو برداشتن سیستمش رو موازی کردن، مشکلش چی بود؟ وقتی رپلیکا داره میخونه یا مینویسه ممکنه خیلی زمان بر بشه یا transaction دیتابیس مادر خیلی زمانبر باشه رپلیکا مجبور بشه صبر کنه تا تراکنش تموم بشه بعد تغییرات رو اعمال کنه

خلاصه اینکه نتیجه این شد که کوئرا:
- با بهینه‌سازی کش  و کوئری‌ها
- استفاده از MyRocks،
- و رپلیکیشن موازی 

بار رو برای ۳۰۰ میلیون کاربر روی دیتابیس‌ MySQL کاهش داد.

| <Saman/>

https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
1👍1
یکی از قابلیت‌هایی که Full-Text در MySQL دارد، امکان تعریف stopwords برای جلوگیری از بزرگ شدن ایندکس و افزایش کیفیت نتایج جستجو است.
ما می‌تونیم با حذف کلماتی مانند حروف اضافه، افعال رایج و حتی کلمات نامناسب، ایندکس بهینه داشته باشیم.
برای این کار کافیه، جدولی با یک ستون به نام value بسازیم و اون رو با استفاده از آپشن innodb_ft_server_stopword_table به MySQL معرفی کنیم.
دیکشنری‌های آماده‌ی زیادی برای stopwords در اینترنت وجود داره که میشه ازشون استفاده کرد.
یکی از دیکشنری‌های Open Source که میشه ازش استفاده کرد، پروژه‌ی زیر است:
https://github.com/kharazi/persian-stopwords

بعد از اعمال تغییرات در stopwords، باید ایندکس Full-Text را مجدداً ایجاد کنید تا تغییرات اعمال شود.

<Hamoon Mohammadian Pour/>


https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
3
Forwarded from Future Pulse Persian
👍32
🔵 عنوان مقاله
Introducing pgNow: A Point-in-Time Diagnostic Tool

🟢 خلاصه مقاله:
- یک ابزار دسکتاپ متقاطع (cross-platform) رایگان (ولی نه متن‌باز - زیرا در مرحله اولیه و محدود با ثبت ایمیل قابل دسترسی است) ایجاد شده توسط شرکت Redgate که برای برجسته‌سازی و تحلیل داده‌های زنده در مورد پرس‌وجوها (queries)، فهرست‌ها (indexes)، تنظیمات پیکربندی (configuration settings) و دیگر عناصر مهم عملیات خوشه‌ی پستگرس (Postgres cluster) طراحی شده است. حتی اگر شما آن را دریافت نکنید، رایان (Ryan) در این‌جا یک بررسی دقیق از ویژگی‌هایی که این ابزار ارائه می‌دهد، ارائه کرده است.

به خوانندگان فنی توصیه می‌شود که حتماً این بررسی را مطالعه کنند تا با امکانات و قابلیت‌های این ابزار آشنا شوند، حتی اگر فعلاً قصد استفاده از آن را نداشته باشند. این اطلاعات می‌تواند به شناخت بهتر و استفاده مؤثرتر از پستگرس در پروژه‌های توسعه نرم‌افزار کمک کند.

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


👑 @Database_Academy
1🔥1
🔵 عنوان مقاله
Postgres Gets a Self-Join Elimination Optimization

🟢 خلاصه مقاله:
چندین سال پیش، شخصی پیشنهاد داد که بهینه‌سازی اتصال (join) در مواردی که اتصالات داخلی متعدد به خود (که اغلب توسط ORMs اضافه می‌شوند) وجود دارد، می‌توان آن‌ها را تحت شرایط خاصی حذف کرد. این بهینه‌سازی، که به آن حذف اتصال به خود (Self-Join Elimination یا SJE) گفته می‌شود، اخیراً در Postgres اعمال شده است و در این commit در GitHub توضیح داده شده است.

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


👑 @Database_Academy
🔥2👍1
به عنوان جوانی که هم دلار هزار تومنی رو دیدم هم صد هزار تومنی واقعا غمگین میباشم.
👌6🕊5🔥1💯1
This media is not supported in your browser
VIEW IN TELEGRAM
👍5
🔵 عنوان مقاله
The Schedule is Out for POSETTE: An Event for Postgres!

🟢 خلاصه مقاله:
رخداد توسعه‌دهندگان رایگان و مجازی POSETTE 2025 در تاریخ‌های ۱۰ تا ۱۲ ژوئن برگزار می‌شود. سخنرانان و برنامه‌ها تازه اعلام شده‌اند! به چهار جریان زنده بپیوندید تا از کارشناسان درباره پیشرفته‌ترین پایگاه داده رابطه‌ای منبع باز (open source relational database) دنیا یاد بگیرید. برای کسب اطلاعات بیشتر، جزئیات را مشاهده کنید.

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


👑 @Database_Academy
🔵 عنوان مقاله
EdgeDB is Now Gel (and Postgres is the Future)

🟢 خلاصه مقاله:
جل (که پیش‌تر به نام EdgeDB شناخته می‌شد) یک «پلتفرم داده‌های یکپارچه روی پایگاه داده PostgreSQL» است که زبان پرس‌و‌جوی خودش را ارائه می‌دهد. این پلتفرم در تلاش است تا نواقص تصور‌شده در SQL را با ارائه یک راه‌حل جدید برطرف سازد. (برای توضیحات بیشتر درباره این رویکرد، می‌توانید از لینک زیر استفاده کنید.)

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


👑 @Database_Academy
👍1
🔵 عنوان مقاله
1 Trillion Rows in Citus?

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

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


👑 @Database_Academy
🔥2👍1
🔵 عنوان مقاله
Troubleshooting Duplicate Primary Key Rows

🟢 خلاصه مقاله:
خلاصه مقاله:

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

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


👑 @Database_Academy
👍1
🔵 عنوان مقاله
  🎤 Why Python Developers Just Use Postgres

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

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


👑 @Database_Academy
👍1