- SQL पिछले 50 वर्षों से structured data processing की बुनियादी भाषा रही है, लेकिन इसे सीखना कठिन है, इस्तेमाल करना झंझटपूर्ण है, और इसे विस्तार देना मुश्किल है
- मौजूदा SQL की समस्याएँ: syntax order की अनिवार्यता, दोहराया हुआ syntax, subquery की आवश्यकता, 'अंदर से बाहर' data flow, extensibility की कमी आदि
- GoogleSQL ने SQL की समस्याओं को हल करने के लिए SQL को extend करने का दृष्टिकोण अपनाया है
- SQL में pipe-structured data flow syntax लाकर मौजूदा SQL की समस्याओं को हल करने की कोशिश की गई है
- इससे मौजूदा ecosystem को बनाए रखते हुए SQL को सीखना और इस्तेमाल करना अधिक लचीला हो जाता है, और मौजूदा SQL के साथ पूर्ण compatibility भी बनी रहती है
- मौजूदा SQL operators का पुन: उपयोग किया जा सकता है और उन्हें pipes के साथ मनचाहे क्रम में संयोजित किया जा सकता है
- हर pipe operator केवल input table को देखता है, इसलिए उसका scope स्पष्ट रहता है
- declarative semantics बनी रहती है
- relational algebra के साथ one-to-one mapping संभव हो जाती है
- table-valued functions के जरिए extensibility बेहतर होती है
- उदाहरण के लिए, multi-stage aggregation को subquery के बिना लगातार व्यक्त किया जा सकता है
- pipe syntax का उपयोग करने वाला SQL सीखने और इस्तेमाल करने में आसान है, और विभिन्न operators को मनचाहे क्रम में लागू किया जा सकता है, जिससे flexibility काफ़ी बढ़ जाती है
- pipe operators क्रमिक रूप से काम करते हैं, जिससे उपयोगकर्ता data को अधिक आसानी से filter, aggregate और sort कर सकते हैं
- GoogleSQL में उपयोग का अनुभव
- उपयोगकर्ताओं से लगातार adoption और सकारात्मक feedback मिला है
- जटिल query को भी linear रूप में व्यक्त किया जा सकता है
- editing और debugging कार्यों में सुविधा होती है
- IDE tool support बेहतर होता है
- SQL code generators और converters के लिए लाभदायक है
- AI अनुप्रयोगों के लिए संभावित फायदे हैं
- implementation और आगे की योजना
- GoogleSQL में pipe syntax को shared component के रूप में implement किया गया है
- मौजूदा query engines इस pipe syntax को आसानी से enable कर सकते हैं
- BigQuery और Spanner में इसे बाहरी रूप से support करने पर विचार किया जा रहा है
- भविष्य में इसे SQL standard में शामिल करने की संभावना तलाशना सार्थक हो सकता है
GN⁺ की राय
- pipe syntax के फायदे: यह SQL की जटिलता को हल करने वाला एक शक्तिशाली tool बन सकता है, खासकर क्योंकि यह data flow को सहज रूप से व्यक्त कर सकता है और SQL की usability को बहुत बेहतर बना सकता है।
- मौजूदा SQL के साथ compatibility: यह मौजूदा SQL को बदलने के बजाय उसे बेहतर बनाने का दृष्टिकोण अपनाता है, जिससे learning curve कम हो सकती है और मौजूदा code के साथ compatibility बनी रह सकती है।
- अपनाने के समय ध्यान देने योग्य बातें: pipe syntax अपनाते समय performance पर उसके प्रभाव और tool support के स्तर पर विचार करना चाहिए, खासकर बड़े पैमाने की queries में इसके फायदे का अधिकतम उपयोग किया जा सकता है।
- समान परियोजनाओं से तुलना: Pandas जैसी DataFrame APIs में भी pipe structure का उपयोग होता है, लेकिन SQL से इसका फर्क SQL की declarative semantics के साथ इसके संयोजन में है। SQL systems की extensibility और performance बनाए रखते हुए इस तरह की सुविधा का उपयोग किया जा सकता है।
11 टिप्पणियां
पाइप पर caret? यह तो कुछ ऐसा कॉम्बिनेशन लगता है जिससे दायाँ हाथ दुखने लगेगा 🤣
अभी के SQL में वाकई कुछ सुधार की ज़रूरत तो है।
लेकिन समस्या यह है कि करीब 30-40 साल से कोई सुधार का तरीका नहीं मिल पाया है..
मुझे लगता है कि SQL के अतिरिक्त syntax के मामले में ecosystem को Google को lead करना चाहिए, लेकिन क्या उनकी business unit इसे वाकई लंबे समय तक जारी रखेगी?
यह तो dplyr है हाहाहा
पता नहीं क्यों, जब Google कुछ करता है तो बस लगता है कि वह फेल ही होगा..
Gemini तो ऐसे जवाब देता है जैसे कोई बच्चा बोल रहा हो, इसलिए उसे इस्तेमाल करने का भी मन नहीं करता
यह ORM द्वारा अपनाए जाने वाले approach जैसा ही लगता है।
पेपर के नीचे दिए गए उदाहरण को देखकर भी साफ़ लगता है कि google sql पढ़ने में ज़्यादा आसान है।
standard sql
google sql
C# का LINQ याद आ रहा है। जब भी SQL इस्तेमाल करता था, हमेशा यही लगता था कि SELECT का क्रम बदलकर FROM, WHERE के बाद आ जाए तो अच्छा होगा....
शुरुआत में अनजान होने की वजह से अटपटा लगे, फिर भी धीरे-धीरे पढ़ें तो इसका flow कहीं ज़्यादा स्वाभाविक महसूस होता है.
मुझे लगता है कि SQL वाला पक्ष पढ़ने में ज़्यादा बेहतर है।
मुझे तो SQL वाला पक्ष कहीं ज़्यादा पढ़ने में आसान लगता है। हाहा, शायद जिन लोगों ने SQL से शुरुआत की है, वे ज़्यादातर ऐसा ही महसूस करते होंगे...
मुझे भी जो चीज़ ज़्यादा familiar है, उसे पढ़ना थोड़ा आसान लगता है.. haha
Hacker News राय