3 ms·
I'm actually going to be discussing this at Strangeloop next month. http://www.thestrangeloop.com/2015/all-in-with-determinism-for-performance-and-testing-in-d
by jhugg 11y ago
I'm actually going to be discussing this at Strangeloop next month.
http://www.thestrangeloop.com/2015/all-in-with-determinism-for-performance-and-testing-in-distributed-systems.html http://www.thestrangeloop.com/2015/all-in-with-determinism-f...
VoltDB is actually a bit simpler with what it promises, full serializable ACID for all transactions. This is much easier to understand and verify than lesser isolation.
We think what we've done is pretty clever too. We've built a determinism checker into our replication engine, so that we can verify that each replica has the same state at each logical point in time, and each operation makes identical changes to that state.
Then we built test patterns that are designed to be as co-dependent as possible and run them against a replicated VoltDB cluster. That VoltDB cluster goes though one or more kinds of failure, including multiple simultaneous failure, and then a checker ensures no data is ever lost, corrupted or run in the wrong order.
It's different from the FDB thing. The simulation they did is certainly easier to run on a pure KV store, but keep in mind we also have to test SQL that queries millions of rows, along with upserts, materialized aggregations, etc...
We're working on some blog content on this in addition to my talk. Stay tuned.
- bsaul 11y agoGreat, i'm looking forward to see that talk. To me, it seems that the only way you can make sure that an implementation is correct, is either via extensive testing ( and when talking about acid property over a distributed system, i think the kind of simulator fdb built is a requirement), or run a theorem proover ofer your source code, ala Coq. But i've never heard of any code analysis tool that is able to guarantee properties over a distributed system. But, since i'm absolutely not working on the field, i'm really looking forward to see what professional people like you are finding to tackle those issues.