Как масштабируется MyISAM по сравнению с Solr для поиска в Django? - PullRequest
0 голосов
/ 01 июля 2010

Представьте, что у вас есть веб-приложение, написанное на Django и Python 2.65, и MySQL 5.1 - ваша база данных.

Теперь представьте, что вам нужно будет масштабировать ваше приложение для обработки поиска сотен тысяч документов, и потенциально сотни тысяч пользователей будут использовать его.

Реальность: Haystack 1.0 с PySolr и Solr 1.4.0 работает медленно в вышеуказанных сценариях. Является ли MyISAM более приемлемой альтернативой или мне нужно больше времени уделять работе с моей текущей конфигурацией, используя Solr «умнее»?

Предложения? Советы?

Спасибо за любую помощь! Мишо

Ответы [ 2 ]

1 голос
/ 01 июля 2010

Полагаю, вы говорите о сравнении Solr с полнотекстовым поиском MySQL , иначе сравнивались бы яблоки с апельсинами.

Я не знаю о Haystack или PySolr, но у самого Solr не должно быть проблем с обработкой документов порядка 100000 с большим количеством пользователей. Этих двух параметров недостаточно для определения проблемы. Например, частота обновлений, реальная частота запросов, размер документа, размер страницы, сортировка, огранка и т. Д.

Solr легко масштабируется как по вертикали, так и по по горизонтали , и имеет лицензию Apache, в то время как решение для горизонтального масштабирования для MySQL имеет лицензию GPL +, коммерчески лицензированную .

Я не согласен с ответом Баджера о Tomcat, это очень отлаженный, проверенный, стабильный сервер, который существует уже более 10 лет , и миф о производительности Java должен быть отменен однажды и для всех.

Итог: очень вероятно, что вам нужно оптимизировать свой экземпляр Solr (как запросы на стороне клиента, так и индекс на стороне сервера и настройки производительности ). Solr работает на некоторых из крупнейших веб-сайтов , поэтому вполне вероятно, что он может справиться и с вашей нагрузкой.

1 голос
/ 01 июля 2010

У меня нет опыта работы с Haystack или PySolr, но просто взгляд на Solr заставляет меня думать, что MySQL может быть лучшим выбором.Я знаю, что MySQL может масштабироваться до очень больших приложений, если он настроен правильно.

Apache Solr только на Tomcat.Tomcat может быть немного ресурсом и может работать медленно.MySQL запускается из скомпилированных двоичных файлов.Это должно немного подстегнуть.Сервер, с которого вы его запускаете, также будет иметь большое значение.Я бы сказал, что если у вас есть возможность, попробуйте и настройте систему MySQL и посмотрите, есть ли какая-то разница.

...