Wasmtime: Supporting UDFs in ScyllaDB with WebAssembly
Blog post from ScyllaDB
WebAssembly (WASM) is emerging as a suitable backend for user-defined functions (UDFs) in ScyllaDB due to its portability, performance, and secure sandbox environment. ScyllaDB is experimenting with WebAssembly through the Wasmtime engine, which is implemented in Rust and offers a lighter and more asynchronous-friendly alternative to Google's v8 engine. This integration allows UDFs to be written in various languages and compiled into WASM, facilitating complex database operations like User Defined Aggregates (UDAs). ScyllaDB plans to enhance this functionality by developing helper libraries for Rust and C++ and transitioning the UDF layer to Rust to leverage Wasmtime’s asynchronous capabilities fully. This initiative is part of ScyllaDB's broader effort to incorporate WebAssembly into its database infrastructure, aiming to optimize performance and expand functionality.