Provisa / Data provisioning
Now three other teams need it, and each one wants its own pipeline.
The consuming team writes SQL and gets the result fast, as Arrow over Flight or typed gRPC. Past a row threshold it gets a presigned URL for the multi-GB result, where an HTTP response would time out. Kafka carries the change notifications, so the team pulls the delta and skips the snapshot.
Connect your data, deliver it to every team, in five minutes
1. Install and start Provisa
Download the installer for your machine from the download section and run it. The first launch finishes a one-time setup with no internet needed. Then start the services and open the UI.
provisa start # every service, on your machine
provisa open # the UI, in your browser2. Connect the sources
In the UI, open Sources and add the systems the teams read. Provisa reads each source's catalog; pick the tables to register. Nothing is copied. Queries go to the data where it lives.
3. Publish it as a data product
Group the tables into a data product with the offers teams can ask for. A team finds the product in the catalog and requests an offer; the owner's approval gives that team its role and entitlements in one step. Provisa enforces each team's view, so nobody builds a pipeline for it.
4. Deliver a large result as a file
Ask for the result to be delivered, and Provisa writes it to the results store and answers with where it is.
curl -X POST http://localhost:8001/data/sql \
-H "Content-Type: application/json" \
-H "X-Provisa-Role: finance" \
-H "X-Provisa-Redirect: true" \
-d '{"sql": "SELECT * FROM transactions"}'5. Stream the changes
Subscribe to a table and send its changes to a Kafka topic, so a team reads what changed since its last pull.
What stays true
- Every team reads the same governed model, with no copy per team.
- The operator's limits protect each source from a team's load.
- Each delivery is in the request record, with the role it ran as.