user2601966
user2601966

Reputation: 1

What are important performance mechansims of nosql dbs?

I want to benchmark (CRUD operations) some NoSQL databases with the popular YCSB-benchmark tool on some nodes.

But before I do this I want to understand what the key mechanisms of such databases are when it comes to CRUD benchmarking. E.g. does the concurrency control like MVCC has a big impact on performance?. Or...

Upvotes: 0

Views: 65

Answers (2)

Dennis Anikin
Dennis Anikin

Reputation: 1011

It depends on the specific NoSQL databases that you're going to test. If they're in memory ones with persistence like Redis, CouchBase, Tarantool, Aerospike then CRUD operations should be extremely fast as all they do is just writing to the end of a file (commonly called write ahead log) and changing in-memory structures.

When it comes to concurrency then it also depends. For example Tarantool is fully non-blocking, Redis otherwise is single-threaded, so you should issue a lot of CRUD operations in parallel to test it.

Upvotes: 1

Igor Katkov
Igor Katkov

Reputation: 6380

Producing a good performance test is hard, producing one that is reliable is even harder. That being said, you are right correct that one needs

to understand what the key mechanisms of such databases

Key bottleneck is always disk I/O. When you learn how some NoSQL DB works, look into how and when it writes to disk, track it down to the real-real fsync() call. You might be unpleasantly surprised. Then look at the CAP theorem. See what compromised DB authors have made. If they claim otherwise, look at the code to prove them wrong. Clearly understand what pair of CAP this DB is. You can't compare CP vs. AP and get any meaningful conclusion. It's OK though to massage and change you business case a bit so it fits a particular DB better. The reverse is also true - if your usecase OK with say eventual consistency, you have one selection of NoSQL dbs, if not - you have another.

Upvotes: 1

Related Questions