SQL을 일관된 방식으로 렌더링하거나, 지속적 통합(CI)에서 SQL 비즈니스 로직을 테스트하거나, 방언 특화 최적화를 위한 AST 변환을 적용하는 데 도움이 될 수 있음
sqlglot을 사용한 개인적인 경험 공유
과거에 직장에서 PoC(Proof of Concept) 작업 중 Postgres SQL 쿼리를 API에 적용해야 하는 상황이 있었는데, API 응답을 pandas dataframe으로 변환하고, sqlglot을 사용해 Postgres 방언에서 duckdb 방언으로 쿼리를 변환한 후, duckdb로 pandas dataframe을 쿼리하고 결과를 json으로 변환해 사용자에게 반환했음
여러 도구들이 비슷한 기능을 시도하고 있으며, CompilerWorks라는 회사가 다양한 SQL 방언을 변환하는 도구를 가지고 있었는데, 구글에 인수되었음
소스 코드에서 Oracle 지원이 명확히 나타나 있지만, 현재 지원되는 데이터베이스가 오직 Oracle뿐인지, Microsoft SQL Server에 대한 지원 계획이 있는지 궁금
Hacker News 의견
sqlglot
추천sqlglot
을 사용한 개인적인 경험 공유pandas dataframe
으로 변환하고,sqlglot
을 사용해 Postgres 방언에서 duckdb 방언으로 쿼리를 변환한 후,duckdb
로pandas dataframe
을 쿼리하고 결과를json
으로 변환해 사용자에게 반환했음