Задать вопрос

Правильно выбрать БД

На данный момент есть MySQL БД состоящая из нескольких таблиц. Каждая из таблиц это несколько миллионов строк из в основном текстовых полей. Сейчас поиск есть по единственному индексированному полю.
Сейчас где-то 100-200 тысяч запросов в сутки
Объём данных постоянно увеличивается, есть желание расширить поиск ещё на несколько полей(все — текст).
Как правильно подойти к этому вопросу? Другая БД, NoSQL, квантовый компьютер?
Заранее спасибо за любые мысли или линки по этому поводу
  • Вопрос задан
  • 2445 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
mark_ablov
@mark_ablov
Sphinx / Solr
Ответ написан
Комментировать
@rPman
Ответ кроется в том, как именно происходит поиск в строках? сравнение, подстрока like, полнотекстовый индекс. Что ищется… случайная строка или ключевое слово (подстроки, заранее определенные и редко изменяемые, максимум дополняемые). Так же очень важно каких запросов больше и на сколько (изменения, добавления, удаления, чтение или поиск).

А дальше, в зависимости от ответов, можно заменить тестовые поля на группу строго типизированных полей (в т.ч. и сложную структуру таблиц), можно поверх имеющейся базы настроить 'индекс из своих полей' (кстати это может позволить убрать индекс БД, что может в некоторых случаях ускорить запись) и т.п.
Ответ написан
taliban
@taliban
php программист
Если у Вас запросы вида LIKE «test%», то бейте таблицу на несколько, допустим а-з, и-т, у-я.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы