Malloy - 더 나은 SQL by Looker
(github.com)- 데이터 관계성 및 변환을 위한 실험적인 언어
- RDB에 대해 시맨틱 모델링 및 쿼리를 실행
- 현재 BigQuery 및 Postgres 지원
- 기능
ㅤ→ 내 DB에 최적화된 SQL로 컴파일 됨
ㅤ→ 계산은 최신 프로그래밍 패러다임과 같은 방식으로 모듈화, 재사용, 확장 가능
ㅤ→ 중첩된 데이터 셋의 쿼리 및 생성에 탁월
ㅤ→ DB의 연결함정(Fan/Chasm Trap)을 해결하여 하나의 쿼리로 어떤것이듯 aggregate 할 수 있고, 팩트 테이블 및 지나치게 복잡한 SQL에 대한 필요성이 감소
ㅤ→ 기본값이 스마트하고, 언어는 간결함(SQL은 장황하고 종종 중복됨)
- SQL을 다루는 사람 모두를 위한 언어 (분석가, 데이터 사이언티스트, 데이터 엔지니어, 데이터 앱 개발자 등)
- VS Code 확장 제공
Malloy 코드 예
query: table('malloy-data.faa.flights') -> {
ㅤwhere: origin: 'SFO'
ㅤgroup_by: carrier
ㅤaggregate: [
ㅤㅤflight_count is count()
ㅤㅤaverage_flight_time is flight_time.avg()
ㅤ]
}