Какая БД / БД Engine хорошо поддерживает поиск? - PullRequest
0 голосов
/ 28 марта 2010

Я запускаю сайт, который сильно зависит от поиска. Хотя в начале он, вероятно, будет искать основные метаданные, в будущем он может вырасти до чего-то большего.

Итак, какой движок БД / БД является лучшим на ваш взгляд, когда речь идет о производительности поиска и будущей масштабируемости?

Ценю вашу помощь

Ответы [ 3 ]

0 голосов
/ 28 марта 2010

Что такое «поиск»? Что вы ищете и какие запросы ожидаете?

PostgreSQL очень мощный, имеет полнотекстовый поиск, индексы btree, hash, gin и gist. Вы также можете настроить свои собственные типы и операторов, все есть для оптимизации поиска в базе данных. Это зависит от вас, чтобы использовать и настроить его для вашей ситуации.

PostgreSQL прост в использовании с PHP, никаких проблем. И это бесплатно, вроде BSD-лицензии.

0 голосов
/ 28 марта 2010

В зависимости от того, что вы подразумеваете под «поиском», может работать любая система баз данных. (MySQL - хорошо известная и быстрая СУБД).

Если вы действительно ищете «полнотекстовый поиск», вам следует взглянуть на индексы FULLTEXT MySQL (можно использовать только с бэкэндом MyISAM, IIRC), Lucene или Xapian.

Zend Framework (написан на PHP) имеет готовый адаптер для lucene, см .: http://devzone.zend.com/article/91

0 голосов
/ 28 марта 2010

Это зависит от того, что вы ищете.

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

Однако, если вы выполняете только простой текстовый поиск, MySQL MyISAM предлагает полнотекстовый поиск, который я использую для небольших объемов текста (менее нескольких ГБ).

Другие поиски включают в себя использование ключей и индексов, которые могут привести вас к PostgreSQL за его превосходное соответствие ACID или MySQL с INNODB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...