Thanks a lot for the detailed reply <@U03T1CD7XUJ>...
# general
j
Thanks a lot for the detailed reply @Felix GV. A follow up question. For Da Vinci mode, do you keep a copy of the data both on the client side and on the Venice server side? Do you really need the server-side copy?
f
We do keep a server-side copy always. In the case of batch-only stores (those getting batch pushes but no streaming writes) it is conceivable to get rid of the server copy, but we haven't considered seriously, because in our experience the use cases that need Da Vinci are oftentimes highly replicated (e.g. 50 replicas) and so the 3 replicas we keep on the Venice server are kind of a small increment in the grand scheme of things, and we didn't think it was worth the complexity to add this extra mode. For stores with streaming writes, the leader replica on the server-side is responsible for handling merges / conflict resolution, so it does need the data locally to achieve that. The Da Vinci Clients (and server follower replicas) consume the result of the merge and apply it blindly (which is cheaper than the work performed by servers).
👍 1
j
Make sense, thanks!