Approximate nearest neighbor search (ANNS) is a fundamental problem in databases and data mining. A scalable ANNS algorithm should be both memory efficient and fast. Some early graph-based approaches have shown attractive theoretical guarantees on search time complexity, but they all suffer from the problem of high indexing time complexity. Recently, some graph-based methods have been proposed to reduce indexing complexity by approximating the traditional graphs; these methods have achieved revolutionary performance on million-scale datasets. Yet, they still can not scale to billion-node databases. In this paper, to further improve the search-efficiency and scalability of graph-based methods, we start by introducing four aspects: (1) ensuring the connectivity of the graph; (2) lowering the average out-degree of the graph for fast traversal; (3) shortening the search path; and (4) reducing the index size. Then, we propose a novel graph structure called Monotonic Relative Neighborhood Graph (MRNG) which guarantees very low search complexity (close to logarithmic time). To further lower the indexing complexity and make it practical for billion-node ANNS problems, we propose a novel graph structure named Navigating Spreading-out Graph (NSG) by approximating the MRNG. The NSG takes the four aspects into account simultaneously. Extensive experiments show that NSG outperforms all the existing algorithms significantly. In addition, NSG shows superior performance in the E-commercial search scenario of Taobao (Alibaba Group) and has been integrated into their search engine at billionnode scale. 11: end while 12: return the first k nodes in S proximates the Relative Neighborhood Graphs (RNG) [37], and Hierarchical NSW (HNSW) [33] is proposed to take advantage of properties of the Delaunay Graph, the NSWN, and the RNG. Moreover, a hierarchical structure is used in HNSW to enable multi-scale hopping on different layers of the graph.These approximations are mainly based on intuition and generally lack rigorous theoretical support. In our experimental study, we find that they are still not powerful enough for billion-node applications, which are in great demand today. To further improve the search-efficiency and scalability of graph-based methods, we start with how ANNS is performed on a graph. Despite the diversity of graph indices, almost all graph-based methods [3,7,13,21,26,32] share the same greedy best-first search algorithm (given in Algorithm 1), we refer to it as the search-on-graph algorithm below.Algorithm 1 tries to reach the query-node by the following greedy process. For a given query q, we are required to retrieve its nearest neighbors from the dataset. Algorithm 1 tries to reach the query point with the following greedy process. For a given query q, we are required to retrieve its nearest neighbors from the dataset. Given a starting node p, we follow the out-edges to reach p's neighbors, and compare them with q to choose one to proceed. The choosing principle is to minimize the distance to q, and the new iterati...