클라이언트 개요
클라이언트 개요 (Client Overview)
DuckDB는 인프로세스(in-process) 데이터베이스 시스템으로, 여러 언어를 위한 클라이언트 API("드라이버")를 제공해요. 오늘은 기본 클라이언트들과 지원 등급을 함께 살펴볼까요?
출처: 문서
본문
DuckDB는 인프로세스 데이터베이스 시스템으로, 여러 언어를 위한 클라이언트 API("드라이버")를 제공해요.
| Client API | 유지보수자 (Maintainer) | 지원 등급 (Support tier) | 최신 버전 (Latest version) |
|---|---|---|---|
| [C]({% link docs/current/clients/c/overview.md %}) | Core team | Primary | {% if site.current_duckdb_version != "" %}[{{ site.current_duckdb_version }}]({% link install/index.html %}?version=current&environment=c){% else %}[{{ site.lts_duckdb_version }}]({% link install/index.html %}?version=stable&environment=c){% endif %} |
| [CLI (command line interface)]({% link docs/current/clients/cli/overview.md %}) | Core team | Primary | {% if site.current_duckdb_version != "" %}[{{ site.current_duckdb_version }}]({% link install/index.html %}?version=current&environment=cli){% else %}[{{ site.lts_duckdb_version }}]({% link install/index.html %}?version=stable&environment=cli){% endif %} |
| [Java (JDBC)]({% link docs/current/clients/java/overview.md %}) | Core team | Primary | {% if site.current_duckdb_java_short_version != "" %}[{{ site.current_duckdb_java_short_version }}]({% link install/index.html %}?version=current&environment=java){% else %}[{{ site.lts_duckdb_java_short_version }}]({% link install/index.html %}?version=stable&environment=java){% endif %} |
| [Go]({% link docs/current/clients/go/overview.md %}) | Core team | Primary | {% if site.current_duckdb_go_version != "" %}[{{ site.current_duckdb_go_version }}]({% link install/index.html %}?version=current&environment=go){% else %}[{{ site.lts_duckdb_go_version }}]({% link install/index.html %}?version=stable&environment=go){% endif %} |
| [Node.js (node-neo)]({% link docs/current/clients/node_neo/overview.md %}) | Jeff Raymakers | Primary | {% if site.current_duckdb_node_neo_version != "" %}[{{ site.current_duckdb_node_neo_version }}]({% link install/index.html %}?version=current&environment=nodejs){% else %}[{{ site.lts_duckdb_node_neo_version }}]({% link install/index.html %}?version=stable&environment=nodejs){% endif %} |
| [ODBC]({% link docs/current/clients/odbc/overview.md %}) | Core team | Primary | {% if site.current_duckdb_odbc_short_version != "" %}[{{ site.current_duckdb_odbc_short_version }}]({% link install/index.html %}?version=current&environment=odbc){% else %}[{{ site.lts_duckdb_odbc_short_version }}]({% link install/index.html %}?version=stable&environment=odbc){% endif %} |
| [Python]({% link docs/current/clients/python/overview.md %}) | Core team | Primary | {% if site.current_duckdb_version != "" %}[{{ site.current_duckdb_version }}]({% link install/index.html %}?version=current&environment=python){% else %}[{{ site.lts_duckdb_version }}]({% link install/index.html %}?version=stable&environment=python){% endif %} |
| [R]({% link docs/current/clients/r.md %}) | Kirill Müller | Primary | {% if site.current_duckdb_r_version != "" %}[{{ site.current_duckdb_r_version }}]({% link install/index.html %}?version=current&environment=r){% else %}[{{ site.lts_duckdb_r_version }}]({% link install/index.html %}?version=stable&environment=r){% endif %} |
| [Rust]({% link docs/current/clients/rust/overview.md %}) | Core team | Primary | {% if site.current_duckdb_rust_version != "" %}[{{ site.current_duckdb_rust_version }}]({% link install/index.html %}?version=current&environment=rust){% else %}[{{ site.lts_duckdb_rust_version }}]({% link install/index.html %}?version=stable&environment=rust){% endif %} |
| [WebAssembly (Wasm)]({% link docs/current/clients/wasm/overview.md %}) | Core team | Primary | {% if site.current_duckdb_wasm_version != "" %}{{ site.current_duckdb_wasm_version }}{% else %}{{ site.lts_duckdb_wasm_version }}{% endif %} |
| [ADBC (Arrow)]({% link docs/current/clients/adbc.md %}) | Core team | Secondary | {% if site.current_duckdb_version != "" %}[{{ site.current_duckdb_version }}]({% link docs/current/clients/adbc.md %}){% else %}[{{ site.lts_duckdb_version }}]({% link docs/current/clients/adbc.md %}){% endif %} |
| C# (.NET) | Giorgi | Secondary | {% if site.current_duckdb_csharp_version != "" %}{{ site.current_duckdb_csharp_version }}{% else %}{{ site.lts_duckdb_csharp_version }}{% endif %} |
| [C++]({% link docs/current/clients/cpp.md %}) | Core team | Secondary | {% if site.current_duckdb_version != "" %}[{{ site.current_duckdb_version }}]({% link install/index.html %}?version=current&environment=c){% else %}[{{ site.lts_duckdb_version }}]({% link install/index.html %}?version=stable&environment=c){% endif %} |
위 표는 primary와 secondary 지원 등급의 DuckDB 클라이언트를 나열해요. tertiary 클라이언트 목록은 [“Tertiary Clients” 페이지]({% link docs/current/clients/tertiary_clients/overview.md %})를 참고하세요.
지원 등급 (Support Tiers)
클라이언트에는 세 가지 지원 등급이 있어요. Primary 클라이언트는 새 기능을 가장 먼저 받고 community support로 제공돼요. Secondary 클라이언트는 새 기능을 받지만 community support로는 제공되지 않아요. 마지막으로 tertiary 클라이언트는 기능이나 지원 보증이 전혀 없어요.
위에 나열된 DuckDB 클라이언트들은 오픈소스이며, 이 라이브러리들에 대한 커뮤니티 기여를 환영해요. 모든 primary와 secondary 클라이언트는 MIT 라이선스로 제공돼요. tertiary 클라이언트의 라이선스는 해당 저장소를 참고하세요.
호환성 (Compatibility)
모든 DuckDB 클라이언트는 같은 DuckDB SQL 구문을 지원하고 같은 온디스크 [데이터베이스 포맷]({% link docs/current/internals/storage.md %})을 사용해요. [DuckDB 확장]({% link docs/current/extensions/overview.md %})도 몇 가지 예외를 제외하면 클라이언트 간에 이식 가능해요 ([Wasm 확장]({% link docs/current/clients/wasm/extensions.md %}#available-extensions) 참고).