최근 발견한 오픈소스인데, SQL 템플릿을 API로 만드는 오픈소스입니다. SQL 템플릿은 dbt을 사용하는 방법가 유사해서, 앞으로 상황이 맞다면 한번 사용해봐도 좋을 것 같네요. 지금은 초반 프로젝트지만 나중에 사용해보기 좋을 것 같네요
쿼리 예시문
select
revenue,
{% if user.role != 'manager' %}
'***' as name
{% else %}
name
{% endif %}
from sales
where date = {{ date }}
여기서 user.role, date가 파라미터입니다. user.role이 매니저가 아니면 이름을 ***로 마스킹(개인 정보 보호를 위해)로 변경하고 매니저라면 이름을 그대로 노출합니다. where 조건에선 특정 일자를 필터링합니다. 즉 특정 일자의 수익, 이름을 보여주는 쿼리입니다. 이 쿼리를 API로 사용해서 쓸 수 있습니다
Sales 일반 직원이
API : /api/sales?date=2023/05/02 로 요청을 하면
revenue name
15000 ****
Sales Manager가 요청하면
revenue name
15000 Michael
## 핵심 기능
- 1) 다양한 데이터 소스에 연결
- 2) SQL 템플릿 작성
- 3) 데이터셋 캐싱 : DuckDB 사용
- 4) 에러 핸들링
- 5) API 파라미터 유효성 확인
- 6) 데이터 보안 핸들링
- API Catalog, Documentation을 도와줄 수 있음
https://vulcansql.com/