jepsen.tarantool
nosqlbench
Our great sponsors
jepsen.tarantool | nosqlbench | |
---|---|---|
4 | 4 | |
7 | 159 | |
- | 1.3% | |
0.0 | 9.9 | |
11 months ago | 1 day ago | |
Clojure | Java | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jepsen.tarantool
- Ask HN: What are some unpopular technologies you wish people knew more about?
-
Databases = Frameworks for Distributed Systems
Tarantool is an application server for distributed systems written in Lua. Lua applications launched in Tarantool have API access to the following components:
-
Ten-year experience in DBMS testing
In 2020, we added support for synchronous replication and MVCC. We had to test this functionality, so we decided to write some tests powered by Jepsen framework. We check consistency by analyzing the transaction history. But the story about testing with Jepsen is big enough for a separate article, so we'll talk about it next time.
nosqlbench
-
How a Single Line of Code Made a 24-Core Server Slower Than a Laptop
Not directly related, but https://github.com/nosqlbench/nosqlbench is very flexible benchmark tool for Cassandra and other distributed systems
-
Ten-year experience in DBMS testing
For performance testing, we also run common benchmarks: the popular YCSB (Yahoo! Cloud Serving Benchmark), NoSQLBench, LinkBench, SysBench, TPC-H, and TPC-C. We also run C Bench, our own Tarantool API benchmark. Its primitive operations are written in C, and scripts are described in Lua.
-
Requirements for running K8ssandra for development
We used NoSQLBench to perform moderate load benchmarks. It comes with a convenient Docker image that we could use straight away to run stress jobs in our k8s cluster.
-
Apache Cassandra 4.0: Taming Tail Latencies with Java 16 ZGC
Jonathan Shook created NoSQLBench to be a cross-platform performance testing tool that is easier to use than cassandra-stress and (much) more powerful than YCSB; in fact, its scripting layer is powerful enough to support things that no other testing tool can enable, with particular emphasis on modeling complex workloads with fidelity, as well as simulating realistic scenarios such as load spikes. As its name suggests, NoSQLBench is not Cassandra-specific and encourages participation from all who want to contribute; today there are clients for Cassandra, CockroachDB, JDBC, and MongoDB, as well as non-database products Kafka and Pulsar. If you’re serious about performance testing in 2021, you should check out NoSQLBench. You can get started at GitHub. Other useful links: releases, discord, docs.
What are some alternatives?
luatest - Tarantool test framework written in Lua
maelstrom - A workbench for writing toy implementations of distributed systems.
YCSB - Yahoo! Cloud Serving Benchmark
queue - Create task queues, add and take jobs, monitor failed tasks
cassandra-medusa - Apache Cassandra Backup and Restore Tool
luaunit - LuaUnit is a popular unit-testing framework for Lua, with an interface typical of xUnit libraries (Python unittest, Junit, NUnit, ...). It supports several output formats (Text, TAP, JUnit, ...) to be used directly or work with Continuous Integration platforms (Jenkins, Maven, ...).
tarantool - Get your data in RAM. Get compute close to data. Enjoy the performance.
msgpuck - A simple and efficient MsgPack binary serialization library in a self-contained header file
MicroRaft - Feature-complete implementation of the Raft consensus algorithm in Java
tarantool-c - A new C client for Tarantool 1.6+
Javet - Javet is Java + V8 (JAVa + V + EighT). It is an awesome way of embedding Node.js and V8 in Java.