# Malloy - 데이터 관계/변환/모델링을 위한 모던 오픈소스 언어

> Clean Markdown view of GeekNews topic #31679. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=31679](https://news.hada.io/topic?id=31679)
- GeekNews Markdown: [https://news.hada.io/topic/31679.md](https://news.hada.io/topic/31679.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2026-07-22T09:31:02+09:00
- Updated: 2026-07-22T09:31:02+09:00
- Original source: [malloydata.dev](https://www.malloydata.dev/)
- Points: 3
- Comments: 1

## Topic Body

- **시맨틱 모델링 언어이자 쿼리 언어**로, 기존 SQL 엔진을 사용해 쿼리를 실행하는 이중 성격의 언어  
- 작성한 Malloy 쿼리는 **사용 중인 DB에 최적화된 SQL로 컴파일**되어 실행됨  
- [2022년에 소개](https://news.hada.io/topic?id=5840) 할 때는 **Looker 산하의 실험적 언어**였으나, 현재 **malloydata**로 별도 이관되어 Star 2.5k 규모로 성장  
- 지원 백엔드도 당시 **BigQuery,Postgres 2종**에서 **BigQuery/Snowflake/PostgreSQL/MySQL/Trino/Presto**로 확장되고 **DuckDB 네이티브 지원** 추가  
- **간결한 명명과 재사용성**: 반복적인 정의 작성을 피해 시간 절약, 쿼리하면서 모델을 반복적으로 다듬음  
- **정확해 보이지만 틀린 결과**를 방지: 겉보기엔 맞는 쿼리가 잘못된 값으로 이어지는 문제를 예방  
- **Nested Queries(중첩 쿼리)**: 데이터의 풍부한 계층적 뷰를 손쉽게 생성, 쿼리 자체가 재사용 가능한 컴포넌트로 동작해 계층 생성을 위한 재작성 불필요  
- **Symmetric Aggregates(대칭 집계)**: 합계/평균/개수 등의 오집계를 자동 방지, 연결함정(Fan/Chasm Trap) 문제를 언어 차원에서 해결  
- **Freedom and Safety(자유와 안전)**: SQL의 완전한 유연성과 시맨틱 데이터 모델의 안전성을 결합, LookML이 안전성만 주고 자유를 제약하는 것과 대비  
- **VS Code 확장** 제공 : 모델 구축, 쿼리·변환, 간단한 시각화 및 대시보드 생성 지원, 브라우저에서 바로 시험 가능  
- **문법 예시** : SFO 출발 항공편을 항공사별로 집계하는 쿼리, SQL의 SELECT/COUNT/AVG/GROUP BY 구조보다 간결하며 첫 번째 aggregate 기준으로 자동 정렬되어 `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()  
  }  
  ```

## Comments



### Comment 62209

- Author: click
- Created: 2026-07-22T13:45:25+09:00
- Points: 1

제가 SQL에 익숙해서 그런진 몰라도 SQL보다 간결하다는건 별로 동의가 안되고  
C# 의 LINQ 가 더 편해보이네요 지원되는 db 종류도 더 많고
