A1: A Distributed In-Memory Graph Database - Risvik, Knut Magne; Brett, Paul; Castro, Miguel; Cho, Wonhee; Gloy, Nikolas; Kalyanaraman, Karthik; Cowhig, Joshua; Khanna, Richendra; Pao, John; Renzelmann, Matthew; Shamis, Alex; Tan, Timothy; et al. (2020 ACM SIGMOD International Conference on Management of Data, 2020)
A1 is an in-memory distributed database used by the Bing search engine to support complex queries over structured data. The key enablers for A1 are availability of cheap DRAM and high speed RDMA (Remote Direct Memory Access) networking in commodity hardware. A1 uses FaRM [11,12] as its underlying storage layer and builds the graph abstraction and query engine on top. The combination of in-memory storage and RDMA access requires rethinking how data is allocated, organized and queried in a large distributed system. A single A1 cluster can store tens of billions of vertices and edges and support a throughput of 350+ million of vertex reads per second with end to end query latency in single digit milliseconds. In this paper we describe the A1 data model, RDMA optimized data structures and query execution.