bg
BangDB Vs Other DBs – YCSB – BangDB = NoSQL + AI + Stream

BangDB Vs Other DBs – YCSB

chevron

Evaluation of BangDB, MongoDB and Redis using YCSB framework

10M records, for different workloads (A to F)

Following configurations were used for the evaluation purpose.

Redis Server: 5.07, x86/64 MongoDB server: 4.4.2, x86_64 BangDB server: 2.0.0, x86_64 Number of records: 10M RAM: 32GB Cores: 16 YCSB workloads: see github.com/brianfrankcooper/YCSB/wiki/Core-Workloads

Summary

To summarize the test, here is the high-level report of the tests, load and run both.

image

Load is consistent for all dbs for all tests as expected as this phase is to load the data. However, run shows BangDB doing much better than other dbs for all the tests/workloads.

Next, let’s go into details of each test. We will have two charts one depicting throughput and other the depicting rate/speed at which db completes the test.

Workload A: Update heavy workload

This workload has a mix of 50/50 reads and writes. An application example is a session store recording recent actions.

image

BangDB throughput is lot higher than the others, even with different number of client connections it was not possible to improve the performance of other dbs

Workload B: Read mostly workload

This workload has a 95/5 reads/write mix. Application example: photo tagging; add a tag is an update, but most operations are to read tags.

image

With less write percentages, performance improves for other dbs, but still BangDB performance is ~2X than the others

Workload C: Read only

This workload is 100% read. Application example: user profile cache, where profiles are constructed elsewhere (e.g., Hadoop).

image

Workload D: Read latest workload

In this workload, new records are inserted, and the most recently inserted records are the most popular. Application example: user status updates; people want to read the latest.

image

Workload E: Short ranges

In this workload, short ranges of records are queried, instead of individual records. Application example: threaded conversations, where each scan is for the posts in a given thread (assumed to be clustered by thread id).

image

This requires a lots of scans. The result shows that BangDB and MongoDB has similar performance. Redis on the other hand is much slower, almost 8X slower than BangDB

Workload F: Read-modify-write

In this workload, the client will read a record, modify it, and write back the changes. Application example: user database, where user records are read and modified by the user or to record user activity.

image

In this case records are read and updated. BangDB has 3X more performance than the other dbs.
This concludes the test report.

You may download the detailed test report from bangdb on github