SonicBase. In-memory embedded or distributed streaming sql database

Batch Identity Query Benchmark

In this benchmark we read records by id from the database in batches on a 4, 8, 16 and 32 server cluster.


for (int i = 0; ; i += batchsize) {
    PreparedStatement stmt = con.prepareStatement("select id from persons where persons.id in (?, ?...)")
    stmt.setLong(1, i);
    stmt.setLong(2, i + 1);
          ...
    ResultSet rs = stmt.executeQuery();
    rs.next();
}
Metric 4-server 8-server 16-server 32-server
Record size 120 bytes 120 bytes 120 bytes 120 bytes
Record count 750 million 1.5 billion 3 billion 6 billion
Batch size 3200 3200 3200 3200
Server total mem 60g 60g 60g 60g
Server xmx 36g 36g 36g 36g
Resident mem 52g 52g 52g 52g
Client machine count 8 16 32 64
Cores per client machine 4 4 4 4
Cores per server machine 8 8 8 8
Call rate 4.3 mil/sec 8.6 mil/sec 15 mil/sec 26 mil/sec
Call latency 15 micros 15 micros 16 micros 19 micros
Threads per client 8 8 8 8
Shard Count 4 8 16 32
Replica Count 1 1 1 1