Archive for the ‘Andrew Aksyonoff’ tag
This is an engaging short introduction to Sphinx. At 146 pages, you shouldn’t expect it to go into every detail, and it doesn’t. There are major topics that it omits entirely or mentions only tangentially, such as distributed searching across a cluster of machines, real-time updating of indexes and attributes, and so on. But although the book doesn’t boil the ocean, it does a great job at covering an introductory subset of Sphinx. It’s just the book you need to get rid of MyISAM full-text indexes and return MySQL to proper performance again.
This book is about how to get started with Sphinx: getting it up and running, basic configuration, creating and maintaining indexes, and querying with the SphinxAPI and SphinxQL languages. It covers relevance and ranking, so you can understand how Sphinx is different from most relevance engines and why it produces better results.
If you haven’t explored Sphinx, you should start with this book. If you know Sphinx, it might be redundant to you.
Either way, it’s a fun book to read. Andrew is a great writer with a charming sense of geeky humor, and he makes a lot of jokes in his examples. These don’t interfere with the learning, but they do make it a lot less dull. (It isn’t forced or overdone, either, unlike a lot of books that have to make constant Beatles references at every opportunity.)
Peter wrote about this recently, but I don’t know if it was really clear what was going on.
Point One: Sphinx can be contacted by the MySQL protocol. Not “as a MySQL storage engine.” Not “from MySQL.” It understands the MySQL protocol itself. So from the protocol point of view, the Sphinx search daemon can look just like a MySQL server.
Point Two: Sphinx understands a SQL-like query language. Don’t be fooled. You’re not writing SQL. It just looks like you are.
Point Three: Because of point One and point Two, you can use the mysql command-line client program to talk directly to Sphinx, with absolutely no MySQL server anywhere in sight. This also means you can connect to Sphinx from your application and query it, exactly like connecting to a MySQL server and querying it.
Go take a look at Peter’s blog post. He’s not writing MySQL queries. He’s writing queries to Sphinx.
Now think about how cool this is — how easy this is to integrate with your code that already communicates with MySQL. Is there any other external full-text search system that masquerades as a MySQL server? I don’t know of one.
Having written about what I think is cool about the upcoming MySQL Conference and the MySQL Camp, now I want to finish up with what I’d like to see at the Percona Performance Conference. Just to recap, this is a conference we created to serve those who want to learn about performance — not “learn about MySQL,” not “learn about database performance,” just learn about performance, period.
I want to see everything. I think this is going to be the single best conference I’ve ever been to. Even the way the conference is organized is exciting. For example, it’s running from early morning till late at night, nonstop. The sessions are also (mostly) only 25 minutes. This means if you decide a session isn’t all that interesting, you didn’t spend much time on it, and you don’t have long to wait for the next one.
So here is a small sample of the sessions:
- CouchDB: Behind the Buzz (Jan Lehnardt)
- Performance Instrumentation: Beyond What You Do Now (Cary Millsap)
- Hive: Distributed Data Warehousing with Hadoop (Ashish Thusoo and Prasad Chakka, Facebook)
- High Performance Erlang (Jan Henry Nystrom)
These are not just people who’ve learned about something and want to talk at you. These are the inventors, the originators, the gurus. It is truly the who’s who, and that’s just a few of them. If you aren’t familiar with those names, Google them and see. And after that, why not Google Theo Schlossnagle, Eric Burton, Monty Widenius, Andrew Aksyonoff, and a few others.
I hope to see you there. Bring your business cards and introduce yourself to me!