Spice v0.15.1-alpha (July 8, 2024)
Categories:
The v0.15.1-alpha minor release focuses on enhancing stability, performance, and usability. Memory usage has been significantly improved for the postgres
and duckdb
acceleration engines which now use stream processing. A new Delta Lake Data Connector has been added, sharing a delta-kernel-rs based implementation with the Databricks Data Connector supporting deletion vectors.
Highlights
Improved memory usage for PostgreSQL and DuckDB acceleration engines: Large dataset acceleration with PostgreSQL and DuckDB engines has reduced memory consumption by streaming data directly to the accelerated table as it is read from the source.
Delta Lake Data Connector: A new Delta Lake Data Connector has been added for using Delta Lake outside of Databricks.
ODBC Data Connector Streaming: The ODBC Data Connector now streams results, reducing memory usage, and improving performance.
GraphQL Object Unnesting: The GraphQL Data Connector can automatically unnest objects from GraphQL queries using the unnest_depth
parameter.
Breaking Changes
None.
Contributors
What’s Changed
Dependencies
The MySQL, PostgreSQL, SQLite and DuckDB DataFusion TableProviders developed by Spice AI have been donated to the datafusion-contrib/datafusion-table-providers community repository.
From the v0.15.1-alpha release, a new dependency is taken on datafusion-contrib/datafusion-table-providers
Commits
- Update acknowledgements by @github-actions in https://github.com/spiceai/spiceai/pull/1842
- Update ROADMAP.md - Remove v0.15.0-alpha roadmap items. by @digadeesh in https://github.com/spiceai/spiceai/pull/1843
- update helm chart for v0.15.0-alpha by @y-f-u in https://github.com/spiceai/spiceai/pull/1845
- update cargo.toml and version.txt to 0.15.1-alpha (for next release) by @digadeesh in https://github.com/spiceai/spiceai/pull/1844
- Fix check for outdated Cargo.lock & update Cargo.lock by @phillipleblanc in https://github.com/spiceai/spiceai/pull/1846
- Add Debezium to README by @phillipleblanc in https://github.com/spiceai/spiceai/pull/1847
- use snmalloc as global allocator by @y-f-u in https://github.com/spiceai/spiceai/pull/1848
- Various improvements for mistral.rs by @Jeadie in https://github.com/spiceai/spiceai/pull/1831
- Enable streaming for accelerated tables refresh (common logic) by @sgrebnov in https://github.com/spiceai/spiceai/pull/1863
- Use in-memory DB pool for DuckDB functions by @Jeadie in https://github.com/spiceai/spiceai/pull/1849
- Generate Spicepod JSON Schema by @ewgenius in https://github.com/spiceai/spiceai/pull/1865
- Update http param names by @Jeadie in https://github.com/spiceai/spiceai/pull/1872
- Replace DuckDB, PostgreSQL, Sqlite and MySQL providers with the
datafusion-table-providers
crate by @phillipleblanc in https://github.com/spiceai/spiceai/pull/1873 - Remove more dead code moved to datafusion-table-providers by @phillipleblanc in https://github.com/spiceai/spiceai/pull/1874
- feat: Optimize ODBC for streaming results by @peasee in https://github.com/spiceai/spiceai/pull/1862
- Fix how models uses secrets by @Jeadie in https://github.com/spiceai/spiceai/pull/1875
- fix: Add support for varying duplicate columns behavior in GraphQL unnesting by @peasee in https://github.com/spiceai/spiceai/pull/1876
- fix: Remove GraphQL duplicate rename support by @peasee in https://github.com/spiceai/spiceai/pull/1877
- fix: Remove Overwrite GraphQL duplicates behavior by @peasee in https://github.com/spiceai/spiceai/pull/1882
- fix: Use tokio mpsc channels for ODBC streaming by @peasee in https://github.com/spiceai/spiceai/pull/1883
- Upgrade table providers to enable DuckDB streaming write by @sgrebnov in https://github.com/spiceai/spiceai/pull/1884
- Update ROADMAP.md - Add debezium (alpha) to connector list. by @digadeesh in https://github.com/spiceai/spiceai/pull/1880
- Allow defining user for mysql data connector via secrets by @sgrebnov in https://github.com/spiceai/spiceai/pull/1886
- Replace
delta-rs
withdelta-kernel-rs
and add newdelta
data connector. by @phillipleblanc in https://github.com/spiceai/spiceai/pull/1878 - Update README images by @lukekim in https://github.com/spiceai/spiceai/pull/1890
- Handle deletion vectors for
delta
tables by @phillipleblanc in https://github.com/spiceai/spiceai/pull/1891 - Rename
delta
todelta_lake
by @phillipleblanc in https://github.com/spiceai/spiceai/pull/1892 - Add where is the AI to the FAQ. by @lukekim in https://github.com/spiceai/spiceai/pull/1885
- update df table providers rev version by @y-f-u in https://github.com/spiceai/spiceai/pull/1889
- Enable other cloud providers for delta_lake integration by @phillipleblanc in https://github.com/spiceai/spiceai/pull/1893
- Add CLI parameters for logging into Databricks with Azure/GCP cloud storage by @phillipleblanc in https://github.com/spiceai/spiceai/pull/1894
- Bump zerovec from 0.10.2 to 0.10.4 by @dependabot in https://github.com/spiceai/spiceai/pull/1896
- Add ‘Content-Type’ to metrics exporter to be prometheus exposition format compliant by @sgrebnov in https://github.com/spiceai/spiceai/pull/1897
- Update enforce-labels.yml so it accepts depdenabot updates with kind/… by @digadeesh in https://github.com/spiceai/spiceai/pull/1898
Full Changelog: https://github.com/spiceai/spiceai/compare/v0.15.0-alpha...v0.15.1-alpha
Resources
Community
Spice.ai started with the vision to make AI easy for developers. We are building Spice.ai in the open and with the community. Reach out on Discord or by email to get involved.
- Twitter: @spice_ai
- Discord: https://discord.gg/kZnTfneP5u
- Telegram: Spice AI Discussion
- Reddit: https://www.reddit.com/r/spiceai
- Email: [email protected]