Updating jepsen youtube paul washer on dating part 1
ACID stands for the following: Our Jepsen test suite verifies each of the above properties of the database while subjecting it to various failure scenarios.The Jepsen framework subjects the tests to a number of failure scenarios, rightfully called nemesis failures.But fortunately, there are some models that make this possible.Let us look at a few of these in the context of Yuga Byte DB.The unique key-value inserts test creates a table with one primary key column and one value column.It inserts unique key-values pairs into the table, and verifies durability (by checking if successfully written values can be read back) and consistency (by ensuring failed writes are not present in the database).
Yuga Byte DB uses the TCP protocol for inter-process communication.
In terms of the CAP theorem, Yuga Byte DB is a consistent and partition-tolerant (CP) database, while ensuring high availability (HA) for most practical situations.
Thus, the Jepsen test suite needs to verify strong consistency of data in the presence of partitions and failures.
Because they span multiple nodes, the tests need to verify the assertions of the database under a lot of failure scenarios such as the failure of any node, network partitions or imperfectly synchronized clocks between nodes and so on. From the Jepsen website: The Jepsen suite runs a number of test cases against a database while simultaneously subjecting them to a number of nemesis failures (failure scenarios such as those mentioned above).
The Jepsen suite then verifies that the database actually holds true to its marketing claims by comparing what was observed by the test suite with what is expected in theory.
It is important to note that while many database vendors will claim to have run and passed Jepsen tests on their own, the Jepsen test framework is only as good as the test suites designed to run on top.