2 पॉइंट द्वारा GN⁺ 2025-01-03 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • शुद्ध SQL में Advent of Code 2024 का प्रयास

  • अवलोकन

    • लेखक ने इस साल तय किया कि Advent of Code को शुद्ध SQL से हल करके देखा जाए।
    • यह अनुभव समस्याओं को अलग तरीके से सोचने के लिए मजबूर करने वाला था और रोचक लगा, और सभी चुनौतियाँ SQL में सुलझाई जा सकीं।
    • SQL का उपयोग करते समय अक्सर अपेक्षा से अधिक सहज और आरामदायक लगा।
  • Day 11 का उदाहरण

    • समस्या के इनपुट सहित पूरा समाधान प्रस्तुत है।
    • SQL में इनपुट पार्स करना थोड़ा झंझटभरा है, लेकिन असंभव नहीं।
    • एल्गोरिथ्म अपेक्षाकृत छोटा है और recursive field traversal करता है।
    • SQL छोटे स्तर के खोज कार्यों के लिए उपयुक्त है।
  • अन्य दिनों की चुनौतियाँ

    • Day 16 में field की न्यूनतम खोज दूरी निकालने जैसा समान काम किया गया।
    • SQL में इसे व्यक्त करना आसान है, लेकिन प्रदर्शन अक्सर अप्रभावी होता है।
    • बड़े इनपुट के साथ कई states बनाए रखने पड़ते हैं, और 200GB से अधिक मेमोरी की जरूरत पड़ सकती है।
    • कुछ DBMS में इसे हल करने वाली सुविधा मौजूद नहीं होती।
  • Recursive SQL की सीमाएँ

    • Day 23 में sparse graph पर maximum clique खोजनी थी।
    • Bron-Kerbosch एल्गोरिथम का उपयोग किया जा सकता है, लेकिन recursive SQL में उसे लिखना जटिल है।
    • Recursive SQL केवल एक ही सेट पास कर सकता है, जिससे कई सेट बनाए रखने वाले एल्गोरिथम से इसका मेल नहीं बैठता।
  • निष्कर्ष

    • जटिल algorithms को SQL में कोड करना संभव है, और कई बार SQL कोड अपेक्षा से अधिक आरामदायक लग सकता है।
    • यदि state अपडेट करने की कोई mechanism हो, तो recursive SQL अधिक कुशल और उपयोग में आसान हो सकता है।
    • अगर जटिल state-manipulation mechanisms जोड़े जाएँ, तो SQL डेटाबेस के भीतर complex algorithms चलाने के लिए एक मजबूत विकल्प बन सकता है।

1 टिप्पणियां

 
GN⁺ 2025-01-03
हैकर्स न्यूज़ टिप्पणी
  • नए मेनू आइटम पर मेरी प्रतिक्रिया लालच, शर्म और मानव क्रिएटिविटी के प्रति विस्मय का मिश्रण है
  • अपने करियर में मैंने सबसे ज़्यादा SQL लिखी है; पिछले 5 वर्षों से कम इस्तेमाल कर रहा/रही हूँ, लेकिन अब भी मज़ेदार लगती है
  • जब दोहराव में फँसे रहने के बजाय सेट ऑपरेशन के दृष्टिकोण से सोचना शुरू करते हैं, तो काम स्वाभाविक और शक्तिशाली हो जाता है
  • मैंने Google Sheets में AoC आज़माया और Day 6 तक पहुँचा, लेकिन कुछ इनपुट पर अक्षर सीमा (character limit) की समस्या आ गई
    • मोबाइल पर इसे खोलने की सलाह नहीं देता
  • पहले एक ऑपरेशंस इंटरव्यू में बड़े डेटा सेट की इनवॉइस रिपोर्ट बनाने का सवाल आया था
    • मैं डेटा साइंटिस्ट नहीं था, इसलिए समाधान डिजाइन करना मुश्किल लगा
    • मैंने बताया कि शायद मैं Crystal Reports जैसी रिपोर्टिंग पैकेज का इस्तेमाल करता
    • SQL से समस्या हल की, लेकिन इसमें कई तकनीकों की ज़रूरत पड़ी
  • मैंने EdgeQL में AoC की कोशिश की और यह एक दिलचस्प अनुभव था
    • संबंधित ट्वीट शेयर किया
  • मैंने SQL से एक queuing/containerization सिस्टम लिखा और कुछ अतिरिक्त फीचर इस्तेमाल किए
    • बुनियादी एल्गोरिथम SQL की केपेसिटी के साथ बहुत अच्छे से मैच हुआ
    • कुछ पहलुओं को SQL के अनुसार बनाना कठिन था
  • मैं AoC2024 पर Google Sheets में काम कर रहा हूँ और इसे डॉक्यूमेंट करने की योजना है
  • शुद्ध SQL में काम करना प्रभावशाली है, और पुराने ब्लॉग को संभालकर रखना 'niche mastery' दिखाता है