Postgresを分析用に300倍高速化:pgrust v0.2

मूल शीर्षक: Making Postgres 300x faster for analytics: batching, operator fusion, and SIMD

यह क्यों महत्वपूर्ण है

PostgreSQL आधारित विश्लेषण प्रणालियों के लिए क्वेरी इंजन अनुकूलन की दिशा में यह एक महत्वपूर्ण ओपन-सोर्स उपलब्धि है।

pgrust v0.2がリリースされ、OLTPベンチマークでPostgresより30%高速、ClickhouseのClickbenchではPostgresより300倍高速を達成。クエリエンジンの再設計により前バージョン比10倍の性能向上を実現した。

pgrust v0.2 में batching, operator fusion, और SIMD जैसी तकनीकों का उपयोग करके PostgreSQL की तुलना में विश्लेषणात्मक कार्यभार (analytical workloads) में 300 गुना तेज़ प्रदर्शन हासिल किया गया है। यह Clickhouse के ClickBench बेंचमार्क पर Clickhouse से भी आगे निकल गया है। OLTP बेंचमार्क पर यह Postgres से 30% तेज़ है।

परियोजना के अनुसार, Postgres 1980 के दशक में बनाया गया था, जब डेटाबेस प्रदर्शन की मुख्य बाधा डिस्क I/O थी। अब तीन प्रवृत्तियों ने स्थिति बदल दी है: अधिकांश डेटासेट RAM में फिट हो जाते हैं, डेटा एनालिटिक्स बल्क में डेटा स्कैन करता है जिससे CPU और मेमोरी थ्रूपुट बाधा बन जाती है, और NVMe डिस्क हार्ड ड्राइव से सैकड़ों गुना तेज़ हो गई है।

एक परीक्षण में 500 मिलियन संख्याओं का SUM करने पर Postgres को लगभग 20 सेकंड लगे, जबकि समकक्ष Rust कोड केवल 358ms में पूरा हुआ। क्वेरी इंजन अकेले 300x में से लगभग 10x प्रदर्शन सुधार के लिए जिम्मेदार है। pgrust ने CPU और मेमोरी बैंडविड्थ के उपयोग को कम करने पर ध्यान केंद्रित किया।

स्रोत

malisper.me — मूल लेख पढ़ें →