DuckDB Extensions in MotherDuck
MotherDuck's support for DuckDB extensions is a key aspect of its architecture that enables users to leverage the full power of DuckDB's ecosystem while benefiting from cloud-native capabilities. Understanding how extensions work in MotherDuck helps you make informed decisions about which tools and features are available for your analytics workflows.
Extension Support Architecture
MotherDuck's extension support operates on a dual-layer architecture that reflects its hybrid local-cloud execution model:
Local Execution Layer: When using the DuckDB CLI or running duckdb -ui
, all DuckDB extensions are available locally, giving you complete access to the DuckDB ecosystem.
Cloud Execution Layer: MotherDuck selectively supports extensions server-side, enabling cloud-native functionality while maintaining performance and security standards.
Web UI Layer: The MotherDuck Web UI provides a curated subset of extensions optimized for interactive analytics and data exploration.
Extension Categories and Support Levels
MotherDuck's extension support can be categorized into three distinct levels based on where and how they're available:
Server-Side Supported Extensions
These extensions are fully supported in MotherDuck's cloud infrastructure, enabling distributed queries and cloud-native analytics:
- Data Format Extensions: Arrow, Delta, Iceberg, Parquet
- Cloud Storage Extensions: AWS, Azure, HTTPFS
- Database Connectivity: MySQL Scanner, PostgreSQL Scanner
- Advanced Analytics: Vector Similarity Search (vss), Substrait
- System Extensions: jemalloc
Web UI Supported Extensions
These extensions are available in the MotherDuck Web UI for interactive analytics:
- Data Analysis: AutoComplete, Excel formatting, Full-text search (fts)
- Data Formats: JSON, Parquet, SQLite Scanner
- Geospatial: Spatial extensions
- Internationalization: Time Zones and collations (icu)
- Testing and Development: TPC-DS, TPC-H data generation
Local-Only Extensions
Extensions that are available locally but not yet supported server-side or in the Web UI may still be used through the DuckDB CLI or local DuckDB instances connected to MotherDuck.
Extension Support Matrix
The following table summarizes the current support for DuckDB extensions in MotherDuck:
Extension | Supported Server-Side | Supported in MotherDuck Web UI |
---|---|---|
Arrow | Yes | No |
AutoComplete | Yes | Yes |
AWS | Yes | No |
Azure | Yes | No |
Delta | Yes | No |
Excel number and date formatting | Yes | Yes |
Full-text search (fts) | Yes | Yes |
HTTPFS | Yes | Yes |
Iceberg | Yes | No |
inet | Yes | Yes |
jemalloc | Yes | No |
JSON | Yes | Yes |
MySQL Scanner | Yes | No |
Parquet | Yes | Yes |
PostgreSQL Scanner | Yes | No |
SQLite Scanner | Yes | Yes |
Spatial | Yes | Yes |
Substrait | Yes | No |
Time Zones and collations (icu) | Yes | Yes |
TPC-DS data generation and queries (tpcds) | Yes | Yes |
TPC-H data generation and queries (tpch) | Yes | Yes |
Vector Similarity Search (vss) | Yes | No |
Practical Implications
Understanding MotherDuck's extension support has several important implications for your analytics workflows:
Query Optimization
Extensions that are supported server-side can participate in MotherDuck's dual execution model, automatically routing operations to the most efficient location (local vs. cloud).
Development Workflow
- Use the DuckDB CLI for development and testing with all extensions
- Leverage the Web UI for interactive analysis with supported extensions
- Deploy production workloads using server-side supported extensions
Data Integration
- Cloud storage extensions (AWS, Azure) enable seamless integration with cloud data sources
- Database scanners allow direct querying of external databases
- Format extensions provide flexibility in data ingestion and export
Performance Considerations
- Server-side extensions benefit from MotherDuck's cloud infrastructure and scaling
- Local extensions provide low-latency access for development and testing
- Web UI extensions are optimized for interactive use cases
Future Development
MotherDuck's extension support is continuously evolving. The team regularly evaluates and adds support for new extensions based on user demand and technical feasibility. If you need specific extensions enabled, please reach out to the MotherDuck team.
Summary
MotherDuck's extension support strategy balances the need for comprehensive DuckDB compatibility with the requirements of a cloud-native analytics platform. By understanding which extensions are available in different environments, you can design analytics workflows that leverage the full power of both local and cloud execution while maintaining optimal performance and functionality.