By Charles Lamb on Sep 21, 2012
We ran a set of YCSB performance tests on Oracle NoSQL Database
using SSD cards and Intel Xeon
E5-2690 CPUs with the goal of achieving 1M mixed ops/sec on a 95% read /
5% update workload. We used the standard YCSB parameters: 13 byte keys
and 1KB data size (1,102 bytes after serialization). The maximum
database size was 2 billion records, or approximately 2 TB of data. We
sized the shards to ensure that this was not an "in-memory" test (i.e.
the data portion of the B-Trees did not fit into memory). All updates
were durable and used the "simple majority" replica ack policy, effectively 'committing to the network'. All read operations used the Consistency.NONE_REQUIRED parameter allowing reads to be performed on any replica.
In the past we have achieved 100K ops/sec using SSD cards on a
single shard cluster (replication factor 3) so for this test we used 10
shards on 15
Storage Nodes with each SN carrying 2 Rep Nodes and each RN assigned to
its own SSD card.
After correcting a scaling problem in YCSB, we blew past the 1M ops/sec
mark with 8 shards and proceeded to hit 1.2M ops/sec with 10 shards.