Implementing a Wasm Native Database API with Couchbase
summary
Shows a concrete WIT-driven integration: three interfaces (WASI-Keyvalue, Couchbase Subdoc, Couchbase Query) implemented and exposed via a wasmCloud provider, with generated Go bindings used by a newbase component. Workshop uses Gitpod + wash + tinygo to build and run a local Couchbase cluster (admin/password on port 8091) and exercises document CRUD, JSON Patch application, CAS optimistic locking and replace operations. Repo contains runnable dev flow and an unfinished batch upsert handler left for attendees; overall demo runs but required creating a newbase bucket to succeed.
AI-written summary · about
chapters (16)
- 0:00Workshop setup
- 1:03Talk introduction
- 2:05Couchbase architecture
- 5:11WebAssembly fundamentals and benefits
- 8:28Wasm language support
- 10:57Wasm Interface Types
- 13:50Setting up the development environment
- 18:28Project structure overview
- 23:00Verify Couchbase setup
- 25:52Newbase Go codebase
- 35:09Document operations in Go
- 41:30Wasm bindings and code
- 54:15CAS and optimistic locking
- 57:46Live coding session
- 1:01:35Batch upsert implementation
- 1:12:45Summary and next steps
related talks
33mWASI and the Cloud: A Game-Changing Duo
29mBuild Database Driven Applications in Wasm
07mGo and Couchbase
13mLightning Talk: Wildly Distributed Programming: Wasm and the Future of Distribute...
30mWriting apps on the edge with CouchDB
36mSQLite in Wasm: A Glimpse into the Future of Shared Libraries
18mCloud Native & WebAssembly: Better Together
15mSQLite in Wasm... why and how?
