Установка SphinxSE
// 14 июня, 2011 // Sphinx, Ubuntu
Очень хотел попробовать SphinxSE. Кто не знает — это интерфейс работы mysql-sphinx, когда в рамках существующего соединения с mysql можно делать запросы к Sphinx. Итак, подробности установки под катом.
Зачем?
Да, безусловно можно использовать клиент для PHP/Ruby для доступа к Sphinx с помощью бинарного протокола. Но, как сказали на последних ZfConf и DevConf, сначала все новые возвожности будут внедряться в SphinxQL протокол, а только потом уже в бинаный.
Кроме того, используя одно соединение мы экономим ресурсы сервера. Я уже и не говорю, что мы можем использовать например Doctrine ORM (при небольшой доработке) да и любые другие, для доступа к Sphinx. А значит нам надо будет писать гораздо меньше кода. Тем более, что в больших проектах, так или иначе уже используется какая-либо ORM.
Как будем ставить?
К сожалению скомпилить SphinxSE ни с MySQL ни с Percona Server мне не удалось. Долго я мучался, пока не узнал, что MariaDB версии > 5.2.2 содержит в себе уже интегрированный движок SpginxSE. Т.к. последние тесты показали, что XtraDB в MariaDB быстрее даже чем у самой Percona, переход меня не смутил.
As of MariaDB 5.2.2, the Sphinx storage engine is included in the source, binaries, and packages of MariaDB. SphinxSE is built as a dynamically loadable .so plugin.
Установка SphinxSE с MariaDB на Ubuntu 10.10
0. Бекапим базы. Обязательно!
1. Удаляем предыдущие версии MySQL/Percona
Смотрим какие есть пакеты, связанные с MySQL
aptitude search mysql | grep ^i
и удаляем их
sudo apt-get remove mysql-server mysql-client sudo apt-get purge mysql-client-core-5.1 sudo apt-get purge mysql-server-core-5.1
2. Получаем адреса репозитариев для своей версии ОС (http://downloads.askmonty.org/mariadb/repositories/).
Обратите внимание, версию выбираем 5.2! Далее среди различных репозитариев я предпочёл перконовский. В /etc/sources.list я добавил полученные на этой страничке адреса репозитариев:
deb http://www.percona.com/downloads/MariaDB/repo/5.2/ubuntu maverick main deb-src http://www.percona.com/downloads/MariaDB/repo/5.2/ubuntu maverick main
3. Обновляем пакеты и устанавливаем саму Maria
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1BB943DB sudo apt-get update sudo apt-get install mariadb-server-5.2
Проверка установки
Теперь заходим в консоль базы:
root@vbox:/etc/apt# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 34 Server version: 5.2.6-MariaDB-mariadb101~maverick-log (MariaDB - http://mariadb.com/) MariaDB [(none)]> show engines; +------------+---------+------------------------------------------------------------+ | Engine | Support | Comment | +------------+---------+------------------------------------------------------------+ | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | | MRG_MYISAM | YES | Collection of identical MyISAM tables | | FEDERATED | YES | FederatedX pluggable storage engine | | BLACKHOLE | YES | /dev/null storage engine | | CSV | YES | CSV storage engine | | SPHINX | YES | Sphinx storage engine 0.9.9 | | ARCHIVE | YES | Archive storage engine | | MyISAM | YES | Default engine as of MySQL 3.23 with great performance | | InnoDB | DEFAULT | XtraDB engine based on InnoDB plugin. Supports transactions| | PBXT | YES | High performance, multi-versioning transactional engine | | OQGRAPH | YES | Open Query Graph Computation Engine, stored in memory | | Aria | YES | Crash-safe tables with MyISAM heritage | +------------+---------+------------------------------------------------------------+ 12 rows in set (0.00 sec)
Если вдруг движка SPHINX не будет в списке, активировать его можно следующей командой:
MariaDB [(none)]> INSTALL PLUGIN sphinx SONAME 'ha_sphinx.so';
В качестве бонуса мы получили поддержку движка для хранения графов: OQGRAPH, который, кстати, тоже очень интересный 🙂
Напоминаю, что движок SphinxSE — это по сути прокси к самому sphinx, который должен быть установлен в системе. Для Ubuntu его можно поставить так:
sudo apt-get install sphinxsearch
Пример использования SphinxSE
По этой ссылке можно посмотреть пример использования SphinxSE:
http://kb.askmonty.org/v/about-sphinxse/2941/#basic-usage
Спасибо!
Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это:
Вот никак не могут они сделать репозитарий для Ubuntu Natty, а ставить для Maverick совершенно не хочется.
Спасибо за вводную. Давно уже хотел разобраться с этой интеграцией
Так вроде есть (см. скриншот).
Простите, я конечно же имел в виду репозитарии Percona.
Maria — ещё очень сырая
Моё мнение MariaDB (СУБД) — нет, а Maria(storage engine) — да, сыроватая ещё.