DuckDB 임베딩
DuckDB 임베딩 (Embedding DuckDB)
DuckDB를 자신의 애플리케이션이나 시스템에 내장(embed)해서 쓸 때, 어떤 클라이언트를 골라야 할지 고민이 될 수 있어요. 이번 페이지는 임베딩 상황에서 CLI 클라이언트를 쓰면 안 되는 이유를 설명합니다.
출처: 공식문서
CLI 클라이언트 (CLI Client)
명령줄 인터페이스(CLI) 클라이언트는 대화형(interactive) 사용 사례를 위한 것이지, 임베딩용이 아닙니다. 그래서 악의적인 사용자에게 악용될 수 있는 기능이 더 많아요. 예를 들어 CLI 클라이언트에는 임의의 셸 명령을 실행할 수 있는 .sh 기능이 있습니다. 이 기능은 CLI 클라이언트에만 있고, 다른 DuckDB 클라이언트에는 없어요.
.sh ls
💡 팁: 임베딩할 때 셸 명령으로 DuckDB의 CLI 클라이언트를 호출하는 것은 권장하지 않습니다. Python, R, Java 등 클라이언트 라이브러리 중 하나를 쓰는 것을 권장해요.
더 알아보기 (Learn more)
- 각 클라이언트 라이브러리 사용법은 클라이언트 개요 문서를 참고하세요.
- 보안 관련 전반은 DuckDB 보안 개요 문서에서 다룹니다.