3 puan yazan xguru 4 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Mevcut SQL motorlarını kullanarak sorgu çalıştıran, ikili karaktere sahip bir semantik modelleme dili ve sorgu dili
  • Yazılan Malloy sorguları, kullanılan veritabanı için optimize edilmiş SQL’e derlenerek çalıştırılır
  • 2022’de tanıtıldığında Looker bünyesinde deneysel bir dil idi; bugün ise ayrı olarak malloydata altında taşındı ve 2,5 bin Star ölçeğine ulaştı
  • Desteklenen backend’ler de o dönemdeki BigQuery, Postgres ikilisinden BigQuery/Snowflake/PostgreSQL/MySQL/Trino/Presto seçeneklerine genişledi ve yerel DuckDB desteği eklendi
  • Kısa ve net adlandırma ile yeniden kullanılabilirlik: Tekrarlayan tanımlar yazmaktan kaçınarak zaman kazandırır; sorgulama sırasında modeli yinelemeli olarak iyileştirirsiniz
  • Doğru gibi görünen ama hatalı sonuçları önler: Dışarıdan doğru görünen sorguların yanlış değerlere yol açması sorununu engeller
  • Nested Queries (iç içe sorgular): Verinin zengin hiyerarşik görünümlerini kolayca oluşturur; sorgunun kendisi yeniden kullanılabilir bir bileşen gibi çalıştığından hiyerarşi oluşturmak için yeniden yazım gerekmez
  • Symmetric Aggregates (simetrik agregasyonlar): Toplam/ortalama/sayı gibi değerlerde hatalı agregasyonu otomatik olarak önler; Fan/Chasm Trap bağlantı tuzağı sorununu dil düzeyinde çözer
  • Freedom and Safety (özgürlük ve güvenlik): SQL’in tam esnekliği ile semantik veri modelinin güvenliğini birleştirir; LookML’in yalnızca güvenlik sunup özgürlüğü kısıtlamasıyla karşıtlık oluşturur
  • VS Code eklentisi sunar: Model oluşturma, sorgu ve dönüşüm, basit görselleştirme ve dashboard oluşturmayı destekler; tarayıcıda doğrudan denenebilir
  • Sözdizimi örneği: SFO çıkışlı uçuşları havayoluna göre gruplayan sorgu; SQL’deki SELECT/COUNT/AVG/GROUP BY yapısından daha kısadır ve ilk aggregate’e göre otomatik sıralandığı için ORDER BY gerekmez
    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 yorum

 
click 33 분 전

Ben SQL'e alışkın olduğum için böyle geliyor olabilir ama SQL'den daha kısa olduğu görüşüne pek katılmıyorum.
C#'ın LINQ'u bana daha kullanışlı görünüyor, desteklenen veritabanı türü de daha fazla.