Автор Тема: Вопрос к экспертам  (Прочитано 4482 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн BrainForce

  • Коллежский регистратор
  • *
  • Сообщений: 1
  • Репутация: 0
Вопрос к экспертам
« : ДХТаРЫм 24, 2009, 03:36:10 pm »
Задача:
Придумать структуру БД, в ней будет производиться поиск, сортировка, максимально эффективно и быстро.
БД со временем может достигнуть объемов до 100ГБ - 300ГБ.
С данной БД будет работать один пользователь, так что нужно именно эффективность и быстрота для одного пользователя, а не для посещаемого сайта.

В данный момент придумали такую структуру и алгоритм Оптимизации базы для быстрого поиска:
(добавление данных не обязательно должно быть быстро, по гигабайту данных в сутки, максимальное время добавления до 7 часов,
а вот поиск и сортировка быстрей, ну хотя бы чтоб на один запрос уходило не более 1 - 5 минут)

Таблица в 5 полей.

id, uid, url, code, post_date

id = Уникальный кей записи
uid = Специальный айдишник того, кто урл добавил
ulr = сам урл (С него удалено http:// и www.)
code = первые три или пять букв урл
post_date = время добавления в Unix TIMESTAMP

Пример:

У нас есть записи:

id = цифра любая от 1 до 5 миллиардов (Как минимум)
uid = 1234567
ulr = google.com
code = goo или googl
post_date = 1235399496

т.е. для поиска нам нужно будет сделать следующий поиск:

code = googl

В теории это получается, что БД будет делать поиск не во всей базе, а только в тех записях, в которых ссылка начинается на нужный нам поиск.

Еще нужно учесть, что вывод будет постраничный, т.е. если MySQL или PostgreSQL то LIMIT 0, 50 и т.п.
----------------------------------
1.Какой максимальный размер MySql будет стабильно работать в этой ситуации?
2.Возможно, может лучше PostgreSQL? или ещё что-то ?  (MySQL может быть и потянет 100гб, MyISAM, InnoDB, но нужно оптимальная структура, по офиц. данным MySQL, PostgreSQL вытянут 100ГБ и даже 1ТБ)
3.Такой алгоритм быстрого поиска хороший или есть лучше ?Другая структура?

Оффлайн Hirockhiv

  • Коллежский регистратор
  • *
  • Сообщений: 2
  • Репутация: 0
  • Пол: Мужской
Re: Вопрос к экспертам
« Ответ #1 : БХЭвпСам 04, 2015, 10:01:27 am »
This will be followed through very well.