Форум → Программирование → PHP для идиотов → Проектирование архитектуры сайта
Проектирование архитектуры сайта
-
Господа профессионалы :)
Появилась такая проблема. Я нигде не нашел адекватной и структурированной информации о проектировании архитектуры web-приложений, размер таблиц в которых будет более 4 Гб(и даже больше раз эдак в 5-8).
Я приложение уже доделал (почти-почти). Это поисковая система(очень специфичная). Потестировал, время работы поиска занимает от 0.3 до 1.5 сек. Это нормально для товарных поисковых систем? Просто хочется быстрее, а рефакторинг сократит может 30%.
Вот у меня и зародились сомнения в правильности архитектуры.
Что сделал:
1) Запросы семантически разделяются по n типам.
2) Имеется n таблиц c товарами (tov_table), которым соответствуют n таблиц со значениями релевантности этих товаров (rel_table).
3) Когда поступает запрос, то происходит выборка по каждой паре tov_table и rel_table с их объединением, все парные выборки объединяются UNOIN-ом.
Появились вопросы:
1) Что будет, если таблицы со значениями релевантности станут больше 4Гб?
2) Что если ОС на сервере не будет поддерживать такие файлы?
3) А что если не разделять на типы, а тупо все товары в одной табличке держать, а их значения релевантности в другой? Это быстрее чем делать UNION-ы (с filesort к тому же), но тогда такие таблицы быстро перерастут и 4 Гб и вскорости вообще все немыслимые пределы.
Просьба не ставить под сомнение мои оценочные размеры таблиц, я хорошо посчитал да и вконце концов представим просто такие исходные данные. -
Март 15, 2011, 6:32 п.п., спустя 1 час 4 минуты 15 секунд
а рефакторинг сократит может 30%.
% кода, но не сокрости :-)
если скорости, то это уже не рефакторинг ;)Сапожник без сапог -
Март 15, 2011, 7:40 п.п., спустя 1 час 7 минут 51 секунду
Ну, оптимизация…
по сабжу очень хотелось бы услышать что-либо. Хоть ссылок побольше каких (если сами не касались глубоко этой темы). -
Март 15, 2011, 9:13 п.п., спустя 1 час 32 минуты 58 секунд
а хоть база данных какая?
вроде как для поисковых систем с большими базами данных используют нереляционные бд -
Март 15, 2011, 9:18 п.п., спустя 4 минуты 16 секунд
вроде как используются комплексные решения, и между прочим, когда ты что то делаешь, как программист ты должен сам отдавать себе отчет в том, что область которую ты пытаешься занять должна быть исследована тобой или хотя бы должна быть такая возможность, а не спрашивать абстрактные вещи на форумах…. -
Март 15, 2011, 9:27 п.п., спустя 9 минут 58 секунд
база - Mysql.
Отчет то я себе отдаю, просто желания вперед возможностей прут (разве у вас никогда такого не было?) Я надеялся, что задам абстрактный вопрос и обрисую его интерфейс, а кто-нибудь шаристый подскажет способ решения, задав пару вопросов-наследников:)
Пожалуйста, авторизуйтесь, чтобы написать комментарий!