Run duckdb query on remote server
Maintainer(s):
dentiny
Installing and Loading
INSTALL duckherder FROM community;
LOAD duckherder;
Example
SELECT duckherder_start_local_server(8815); ATTACH DATABASE 'dh' (TYPE duckherder, server_host 'localhost', server_port 8815);
About duckherder
This extension is built on storage extension, to execute query on remote server and transfer data back with arrow flight. For remote and distributed execution, there're two key components: driver and worker(s). As their names suggest, driver node is the control plane, and worker nodes do the real execution tasks. Users are allowed to implement their own driver and worker(s), and register to the duckdb client-side, as long they speaks duckherder dialect (i.e., grpc stubs and arrow flight). From users' perspective, all DML and DDL SQL statements should be used exactly the same as local duckdb.
Added Functions
| function_name | function_type | description | comment | examples |
|---|---|---|---|---|
| duckherder_clear_query_recorder_stats | scalar | NULL | NULL | |
| duckherder_get_query_execution_stats | table | NULL | NULL | |
| duckherder_get_query_history | table | NULL | NULL | |
| duckherder_get_worker_count | scalar | NULL | NULL | |
| duckherder_load_extension | scalar | NULL | NULL | |
| duckherder_register_or_replace_driver | scalar | NULL | NULL | |
| duckherder_register_remote_table | pragma | NULL | NULL | |
| duckherder_register_worker | scalar | NULL | NULL | |
| duckherder_start_local_server | scalar | NULL | NULL | |
| duckherder_start_standalone_worker | scalar | NULL | NULL | |
| duckherder_stop_local_server | scalar | NULL | NULL | |
| duckherder_unregister_remote_table | pragma | NULL | NULL |