Improving the Performance of MongoDB with RDMA.
Fan Lu,Tao Fang,Ziyu Zhang,Sen Li,Junshi Chen,Hong An,Wenting Han
DOI: https://doi.org/10.1109/HPCC/SmartCity/DSS.2019.00144
2019-01-01
Abstract:MongoDB is a NoSQL database which stores the data in form of key-value pairs. It is an open-source, document database which is being used in many data-center applications (e.g. Google, Facebook, etc.) because of its high performance, high availability and automatic scaling. For this kind of data intensive applications, low latency and high throughput are extremely important. However, the existing MongoDB is built upon Boost. Asio, which is a cross-platform C++ library for network and low-level I/O. It can provide a great degree of portability, but at the price of performance due to the limitation of Ethernet network and TCP/IP protocol. This makes MongoDB hard to meet the performance requirements of data intensive applications. The High Performance Computing(HPC) domain has developed high performance networks such as InfiniBand for many years, which provides higher bandwidth and lower latency than Ethernet. These kind of networks also provide advanced features, such as Remote Direct Memory Access(RDMA), to achieve better performance. In this paper, we present a modern RDMA capable design of MongoDB. The performance evaluation on QDR (32 Gbps) shows that our RDMA design achieves 2.84X and 1.93X peak speedup over 1 Gigabit Ethernet (1 GigE) and IP-over-InfiniBand (IPoIB) in all experiments. To the best of our knowledge, this is first MongoDB design utilizing high performance RDMA capable interconnects.