ScyllaDB NoSQL Database Testing

Our comprehensive Apache Cassandra and Amazon DynamoDB compatibility testing, distributed systems testing, filesystem error testing, longevity testing, and packaging testing ensures the highest means of guarantee for your data.

On a 24×7 basis we hit ScyllaDB with intensive NoSQL database testing. Many tests were adopted from Apache Cassandra and third parties, though we’ve also written some of our own. Many of the NoSQL performance tests were developed exclusively for clearing all possible database issues, from correctness, to data-loss to distributed behavior. Here are some highlights from our ScyllaDB NoSQL testing blog series:

Apache Cassandra compatibility testing

ScyllaDB is an Apache Cassandra compatible database. Thus, besides ScyllaDB’s own tests, the project must pass the relevant Apache Cassandra test suite. This ensures that ScyllaDB will handle the CQL query language exactly as Apache Cassandra does. Learn about ScyllaDB / Apache Cassandra compatibility testing

Jepsen distributed systems testing

The latest hit on the distributed software testing scene is Kyle Kingsbury’s Jepsen. A flexible distributed systems safety research tool that causes hard-to-handle network outages, Jepsen partitions and delays for a variety of distributed database systems, including Apache Cassandra, and now ScyllaDB. Learn more about ScyllaDB / Jepsen testing

CharybdeFS database filesystem error testing

Testing for proper handling of filesystem errors is critical. We have developed a new emulated filesystem that can inject any error for any operation, under the control of a test script. CharybdeFS makes rare error conditions into repeatable filesystem error test cases. Learn how it works

Project Gemini data integrity testing

A ScyllaDB system-under-test (SUT) is tested against a test oracle (a version known to pass various automatic random abuse tests) in order to discover various hard-to-detect bugs that can lead to data corruption. We even made it open source under an Apache license! Learn how it works
 

Distributed testing

ScyllaDB distributed tests are an extended version of the dtest project originally developed for Apache Cassandra. Apache Cassandra dtests are functional black boxes that test Apache Cassandra cluster operation. By providing a test suite covering how a Apache Cassandra server should operate, distributed testing allows us to validate that ScyllaDB is compatible in functionality with Apache Cassandra. Learn more about ScyllaDB / Apache Cassandra distributed testing

Longevity testing

Longevity tests create a ScyllaDB cluster in AWS and exercise it by running cassandra-stress and other clients specified in the test scripts. This testing finds problems in the operation of long-running clusters, as is the case with existing ScyllaDB deployments. The system uses Boto for controlling Amazon AWS from Python. Learn more about ScyllaDB longevity testing.

ScyllaDB University Mascot

ScyllaDB University

Get started on the path to ScyllaDB expertise

ScyllaDB Cloud Mascot

ScyllaDB Cloud

It’s easy to get started with our NoSQL DBaaS