Data availability, collection and storage have increased dramatically in recent years, raising new technological and algorithmic challenges for database design and data management. Moreover, the expansion of the Internet made possible the collaboration between large numbers of computers sharing data from around the globe. Peer-to-peer (P2P) systems provide a robust, scalable, and decentralized way to share and publish data. In such a system, the key question becomes: how to efficiently find the data one needs? In this paper, we propose P-Ring, a new P2P index structure that supports both equality and range queries, is fault-tolerant, provides logarithmic search performance even for highly skewed data distributions, and efficiently supports large sets of data items per peer. We experimentally evaluate P-Ring using both simulations and a real distributed deployment on PlanetLab. We compare its performance with Skip Graphs, Online Balancing and Chord.