پیشرفت pg_vexec در یک ماه: جلوتر از ClickHouse در Parquet

چرا مهم است

اگر تو به دنبال بهبود عملکرد query‌ها در database‌ها هستی، pg_vexec می‌تواند یک گزینه جذاب باشد. این پروژه نشان می‌دهد که چگونه می‌توان با وکتوریزه کردن، سرعت اجرای query‌ها را بهبود بخشید و حتی از سیستم‌های معروفی مثل ClickHouse پیشی گرفت.

قبل از خواندن، این‌ها را بدان۳ مفهوم
Vectorized Database

یک database که از پردازش وکتوریزه برای بهبود عملکرد query‌ها استفاده می‌کند.

بیشتر درباره این مفهوم

Query Planner

ابزاری در DBMS که نحوه اجرای query‌ها را بهینه‌سازی و برنامه‌ریزی می‌کند.

بیشتر درباره این مفهوم

Telemetry

جمع‌آوری و تحلیل داده‌ها از سیستم‌ها برای نظارت و بهبود عملکرد.

بیشتر درباره این مفهوم

ایگور سوخورکوف یک ماه پیش کار خود را در زمینه پورت کردن Greenplum به PostgreSQL 19 و استخراج حداقل patch‌های مورد نیاز برای اجرای این فورک مینیمال منتشر کرد. هدف او از این کار، استخراج ORCA به عنوان یک query planner تحلیلی و تبدیل PostgreSQL به یک DBMS مدرن و وکتوریزه با عملکرد بالا بود. پس از یک ماه توسعه، این database به طور مداوم سریع‌تر می‌شود و اکنون سوخورکوف در حال کار بر روی نسخه GPU آن است.

حتی در حالت پیش‌نویس، این database روی لپ‌تاپ MSI Raider A18 HX A9W او، query‌ها را سریع‌تر از ClickHouse LTS اجرا می‌کند: در MergeTree، ۱.۹ برابر سریع‌تر به صورت میانگین هندسی و ۱.۳ برابر سریع‌تر در کل زمان، و در vexec_parquet، ۱۳ برابر سریع‌تر به صورت میانگین هندسی و ۱۸ برابر سریع‌تر در کل زمان query. نتایج pg_vexec که یک database وکتوریزه تجربی است و در زمان اجرای query‌ها روی Parquet از ClickHouse جلوتر است و در MergeTree نزدیک به آن عمل می‌کند، منتشر شده است.

سوخورکوف نتایج telemetry از اجرای ClickBench را منتشر کرده که شامل نمودارها، متریک‌ها، log‌های DBMS و اعداد از عمق موتور است. این نتایج می‌تواند برای توسعه‌دهندگان جالب باشد و اطلاعات بیشتری را در مورد عملکرد این database ارائه دهد.

نکته کلیدی

pg_vexec نشان می‌دهد که وکتوریزه کردن می‌تواند به بهبود قابل توجهی در سرعت اجرای query‌ها منجر شود. اگر به دنبال راه‌حل‌های جدید برای بهینه‌سازی database‌ها هستی، این پروژه می‌تواند الهام‌بخش باشد.

خواندن مقاله اصلی (در زبانه‌ی جدید باز می‌شود)
برچسب‌ها (۳)