malloy logo Malloy Documentation

About Malloy

Malloy is an experimental language for describing data relationships and transformations. It is an analytical language that runs on SQL databases. It provides the ability to define a semantic data model and query it. Malloy currently works with SQL databases BigQuery, Postgres, and DuckDB.

  • Queries compile to SQL, optimized for your database.

  • Has both a semantic data model and a query language. The semantic model contains reusable calculations and definitions, making queries short and readable.

  • Excels at reading and writing nested data sets.

  • Things that are complicated in SQL are simple to express in Malloy. For example: level of detail calculations, percent of total, aggregating against multiple tables across a join safely, date operations, reasonable ordering by default, and more.

Malloy is a work in progress. Malloy is designed to be a language for anyone who works with SQL--whether you’re an analyst, data scientist, data engineer, or someone building a data application. If you know SQL, Malloy will feel familiar, while more powerful and efficient. Malloy allows you to model as you go, so there is no heavy up-front work before you can start answering complex questions, and you're never held back or restricted by the model.

Try Malloy Today:

  • Learn the language with zero install using our entirely browser-based Malloy Fiddle.

  • Write Malloy in the Visual Studio Code extension: build semantic data models, query and transform data, and create simple visualizations and dashboards.

  • Build data applications with npm modules in javascript or typescript.

  • Explore data with the Malloy Composer, a demo of a data exploration application built on top of Malloy

Get involved:

  • Join our Slack community.

  • File feature requests/bugs, join discussions, or contribute to Malloy on our Repo.