3 पॉइंट द्वारा xguru 4 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Semantic modeling language और query language के रूप में, यह एक दोहरे स्वभाव वाली भाषा है जो मौजूदा SQL engine का उपयोग करके query चलाती है
  • लिखी गई Malloy query उपयोग में मौजूद DB के लिए optimized SQL में compile होकर चलती है
  • 2022 में परिचय के समय यह Looker के अंतर्गत एक experimental language थी, लेकिन अब अलग होकर malloydata में स्थानांतरित हो चुकी है और 2.5k Star तक बढ़ चुकी है
  • समर्थित backend भी उस समय के BigQuery, Postgres दो विकल्पों से बढ़कर BigQuery/Snowflake/PostgreSQL/MySQL/Trino/Presto तक विस्तार कर चुके हैं, और DuckDB native support भी जुड़ गया है
  • संक्षिप्त naming और reusability: बार-बार definitions लिखने से बचाकर समय बचाता है, और query करते हुए model को बार-बार निखारा जा सकता है
  • सही दिखने वाले लेकिन गलत नतीजों को रोकता है: ऊपर से सही लगने वाली query के गलत values तक पहुंचने की समस्या को पहले ही रोकता है
  • Nested Queries: डेटा का समृद्ध hierarchical view आसानी से बनाता है, और query खुद reusable component की तरह काम करती है, इसलिए hierarchy बनाने के लिए दोबारा लिखने की जरूरत नहीं होती
  • Symmetric Aggregates: sum/average/count जैसी गलत aggregation को अपने-आप रोकता है, और join trap (Fan/Chasm Trap) समस्या को language स्तर पर हल करता है
  • Freedom and Safety: SQL की पूरी flexibility और semantic data model की safety को जोड़ता है, जो LookML के केवल safety देने और freedom सीमित करने से अलग है
  • VS Code extension उपलब्ध है: model बनाना, query/transform, सरल visualization और dashboard creation को support करता है, और browser में सीधे आज़माया जा सकता है
  • Syntax उदाहरण: SFO से उड़ान भरने वाली flights को airline के आधार पर aggregate करने वाली query, SQL की SELECT/COUNT/AVG/GROUP BY संरचना से अधिक संक्षिप्त है, और पहले aggregate के आधार पर अपने-आप sort होने से ORDER BY की जरूरत नहीं पड़ती
    run: bigquery.table('malloydata-org.faa.flights') -> {  
      where: origin = 'SFO'  
      group_by: carrier  
      aggregate:  
        flight_count is count()  
        average_flight_time is flight_time.avg()  
    }  
    

1 टिप्पणियां

 
click 34 분 전

शायद इसलिए कि मैं SQL से परिचित हूँ, लेकिन यह SQL से ज़्यादा संक्षिप्त है—इस बात से मैं ज़्यादा सहमत नहीं हूँ।
C# का LINQ ज़्यादा सुविधाजनक लगता है, और यह ज़्यादा तरह के DB भी सपोर्ट करता है।