ФорумПрограммированиеPHP для идиотов → Проектирование архитектуры сайта

Проектирование архитектуры сайта

  • gooddaytoday

    Сообщения: 38 Репутация: N Группа: Кто попало

    Spritz 15 марта 2011 г. 17:28

    Господа профессионалы :)

    Появилась такая проблема. Я нигде не нашел адекватной и структурированной информации о проектировании архитектуры 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 Гб и вскорости вообще все немыслимые пределы.
    Просьба не ставить под сомнение мои оценочные размеры таблиц, я хорошо посчитал да и вконце концов представим просто такие исходные данные.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 15 марта 2011 г. 18:32, спустя 1 час 4 минуты 15 секунд

    а рефакторинг сократит может 30%.

    % кода, но не сокрости :-)

    если скорости, то это уже не рефакторинг ;)
    Сапожник без сапог
  • gooddaytoday

    Сообщения: 38 Репутация: N Группа: Кто попало

    Spritz 15 марта 2011 г. 19:40, спустя 1 час 7 минут 51 секунду

    Ну, оптимизация…

    по сабжу очень хотелось бы услышать что-либо. Хоть ссылок побольше каких (если сами не касались глубоко этой темы).
  • soul

    Сообщения: 790 Репутация: N Группа: Кто попало

    Spritz 15 марта 2011 г. 21:13, спустя 1 час 32 минуты 58 секунд

    а хоть база данных какая?
    вроде как для поисковых систем с большими базами данных используют нереляционные бд
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 15 марта 2011 г. 21:18, спустя 4 минуты 16 секунд

    вроде как используются комплексные решения, и между прочим, когда ты что то делаешь, как программист ты должен сам отдавать себе отчет в том, что область которую ты пытаешься занять должна быть исследована тобой или хотя бы должна быть такая возможность, а не спрашивать абстрактные вещи на форумах….
  • gooddaytoday

    Сообщения: 38 Репутация: N Группа: Кто попало

    Spritz 15 марта 2011 г. 21:27, спустя 9 минут 58 секунд

    база - Mysql.

    Отчет то я себе отдаю, просто желания вперед возможностей прут (разве у вас никогда такого не было?) Я надеялся, что задам абстрактный вопрос и обрисую его интерфейс, а кто-нибудь шаристый подскажет способ решения, задав пару вопросов-наследников:)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!