Read APIs#
Venice provides multiple client types optimized for different latency and resource trade-offs:
Point-in-Time Clients#
These clients read the current value for a given key:
| Client | Network Hops | Typical Latency | Best For |
|---|---|---|---|
| Thin Client | 2 (via Router) | < 10ms | Simple integration, moderate latency needs |
| Fast Client | 1 (direct) | < 2ms | Low latency with partition-aware routing |
| Da Vinci Client | 0 (local) | < 1ms | Ultra-low latency with local caching |
All point-in-time clients share the same read APIs (get, batchGet, compute), making migration straightforward.
Change Data Capture#
For streaming all changes to a store:
| Client | Description | Best For |
|---|---|---|
| CDC Client | Stream of all mutations with after images | Derived systems, event-driven workflows, cache sync |
Choosing a Client#
For point-in-time reads:
- Start simple: Use the Thin Client for initial integration
- Need lower latency: Upgrade to Fast Client for direct server routing
- Need sub-millisecond: Use Da Vinci Client with local data storage
For change streams:
- React to changes: Use the CDC client to consume all mutations as they occur