Sphinx is a high-performance full-text search engine that is a perfect complement to a relational database, especially MySQL.
The Sphinx full-text search engine is a stand-alone service that provides an index into your database. It is blazingly fast and scalable, with seamless clustering across multiple machines to execute searches in parallel on many servers and CPUs simultaneously. Sphinx can index massive amounts of data. We have architected and implemented systems with many terabytes of data in Sphinx. Perhaps the most famous Sphinx user is Craigslist, which used Sphinx to consolidate a large cluster of overloaded search servers down to a few that are barely loaded, with lots of room to grow.
Adding Sphinx to your application can unload the relational database from its most difficult and performance-intensive workload. You'll get amazing performance and world-class search result relevance. You'll be able to migrate your MyISAM tables (which are the only tables that can support full-text search in MySQL) to the high-performance and reliable InnoDB storage engine. MySQL's native full-text search is limited and inflexible, and does not perform well on large datasets or when concurrent access is required.
Sphinx also has a variety of specialized features that make it almost more like a database than it is like a search engine. It even has a MySQL protocol interface, so you can connect to it seamlessly without special drivers, and interact with it just like a database. And for really seamless operation, you can use the SphinxSE storage engine, which makes Sphinx accessible directly inside of MySQL.
Percona is the oldest and largest Sphinx consulting firm. Percona's founder and CEO Peter Zaitsev co-founded Sphinx with Andrew Aksyonoff, the main Sphinx developer. Percona's consultants have designed and implemented dozens of large-scale Sphinx installations such as BoardReader. We can help you determine whether Sphinx is right for your application, help architect and design your installation, handle all the operational tasks such as configuration and maintenance, help you optimize and tune your Sphinx servers, support your application developers in learning to use Sphinx to its fullest capabilities, and help you wtih all the advanced features such as clustering and delta indexing. In addition, we have a close relationship with Sphinx Technologies, so we can seamlessly escalate development requests and support issues to the Sphinx developers if needed.
If you would like to learn more about Sphinx, you might be interested in the Sphinx appendix in our High Performance MySQL book.
Call us today to discuss pricing and services, or to schedule a pre-sales call with a technical expert. We can help you with Sphinx!