Postgres को Rust में फिर से लिखा गया, अब Postgres के 100% regression tests पास कर रहा है

AI बनाम “वास्तविक” Rewrites

  • कई लोग AI-चालित rewrites और मानव rewrites के बीच एक स्पष्ट अंतर चाहते हैं; दूसरे तर्क देते हैं कि लेखन-कर्ता से ज़्यादा गुणवत्ता और सत्यापन मायने रखते हैं।
  • कुछ लोग “LLMs का उपयोग करके Rust में rewrite” को एक meme या vibe project मानते हैं, जिसे अक्सर एक अकेला व्यक्ति जल्दी से करता है और जिसमें लंबे समय तक maintenance की कोई योजना नहीं होती।
  • अन्य इसे एक महत्वपूर्ण proof-of-concept मानते हैं, जो दिखाता है कि बड़े पैमाने पर language ports अब कितने सस्ते हो गए हैं, और इससे modernization संभव हो सकती है (जैसे COBOL-युग की प्रणालियाँ)।

Tests, Reliability, और “Production Scars”

  • Postgres के 100% regression tests पास करना प्रभावशाली माना जा रहा है, लेकिन कई लोग ज़ोर देते हैं कि इससे केवल यह साबित होता है कि ज्ञात regressions नहीं हैं।
  • बार-बार उठी चिंताएँ:
    • असली reliability सालों के production incidents और “scar tissue” से आती है, सिर्फ tests से नहीं।
    • Tests हर success path, concurrency edge case, या performance corner को कवर नहीं करते।
    • Tests के अनुरूप overfitting संभव है, खासकर LLMs के लिए।
  • कुछ लोग differential testing (दोनों databases चलाकर outputs की तुलना करना), property-based testing, fuzzing, Jepsen-style tests, और bug reports को नई tests में बदलने का सुझाव देते हैं।

Rust, Memory Safety, और Performance

  • समर्थक: Rust का safety model और thread-per-connection architecture internals को सरल बना सकता है, shared-memory complexity घटा सकता है, और बेहतर parallelism खोल सकता है।
  • आलोचक: हजारों unsafe usages हैं (खासकर parser में), इसलिए C-जैसे कई जोखिम बने रहते हैं; कुछ लोग पूछते हैं, “अगर यह इतना unsafe है, तो Rust क्यों?”
  • Project author के दावे:
    • वर्तमान प्रकाशित version Postgres से लगभग 8× धीमा है।
    • एक नया, अभी जारी न किया गया version transactional workloads पर लगभग 50% तेज़ और analytic workloads पर लगभग 300× तेज़ है, columnar storage और batch execution के साथ, और clickbench पर ClickHouse से लगभग 2× धीमा है।

Licensing और Legality

  • यह port AGPL के तहत है; कुछ लोगों को Postgres के permissive license से copyleft की ओर जाना पसंद नहीं है।
  • इस पर बहस है कि LLM-जनित translations derivative works हैं, नए works हैं, या क्या वे copyrightable भी हैं; thread में आम सहमति है कि मामला “legally murky” है, लेकिन permissive upstream संभवतः अधिक restrictive wrapping की अनुमति देता है।

Maintenance, Trust, और Production में उपयोग

  • कई लोग इसे एक दिलचस्प experiment या learning tool मानते हैं, न कि ऐसी चीज़ जिसे अभी production में “for years” चलाया जाए।
  • चिंताएँ:
    • एकल-लेखक bus factor।
    • AI-जनित हजारों commits की reviewability।
    • लंबे समय की community, extension ecosystem, और backwards-compatible upgrades।
  • कुछ लोग एक सकारात्मक उपयोग सुझाते हैं: ऐसी rewrites को real workloads के खिलाफ चलाकर missing tests खोजें और सुधारों को upstream Postgres में वापस feed करें।