Part 1 here Some Optimizations in RethinkDB - Part 1
Yes, it’s RethinkDB, a discontinued product. Again, read my introduction in the previous post.
It’s not only about RethinkDB but it also the basic idea for many other database systems. This
post introduces other techniques that I and the team have applied at AR to maximize the workload that
RethinkDB can handle but most of them can be applied for other database systems as well.
Increase the Memory with NVME SSD
Well, sound like a very straight forward solution, huh? More memory, better performance, sound quite
obvious! Yes, the key thing is how to increase the memory without significant cost. The answer is to
setup swap as the temporary space for storing RethinkDB cached data. RethinkDB, as well as other
database systems, caches the query result data into memory so that it can be re-used next time the
same query executes again. The problem is that swap is much slower than RAM, because we rely on
the disk to store the data. However, since we are running on Google Cloud and Google Cloud offers
the Local-SSDs solution, we have been exploiting this to place our swap data. Here is the
Local-SSDs definition, according to Google
Local SSDs are physically attached to the server that hosts your virtual machine instance. Local
SSDs have higher throughput and lower latency than standard persistent disks or SSD persistent
disks. The data that you store on a local SSD persists only until the instance is stopped or
deleted.
Read more