@WikiTuki

Выбор технологий для крупного портала?

Хочу создать крупный информационный портал на несколько миллионов статичных сгенерированных страниц из имеющейся базы данных (база данных линейная в ней находится 4кк строк и порядка 30 столбцов, пока в формате .csv). Архитектура будет строиться таким образом, что данные из базы будут комбинироваться и выводиться в зависимости от типа страницы. В общем на выходе должно получится что-то вроде структурированного каталога.

Нужна возможность легко и быстро управлять всеми кастомными областями контента через админку.

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

1. Какой тип сервера выбрать apache или nginx?
2. Какую БД использовать для оптимальной и бесперебойной работы, нужно ли кэширование базы?
3. Какие технологии использовать для бэк-части проекта (логика вывода данных, запросы к БД)?
4. Как и на чем лучше написать админку (или есть готовые решения/фрэймворки)?

Спасибо заранее!
  • Вопрос задан
  • 163 просмотра
Решения вопроса 2
inoise
@inoise
Solution Architect, AWS Certified, Serverless
А давайте определимся
несколько миллионов статичных сгенерированных страниц

или
легко и быстро управлять всеми кастомными областями контента


не, можно, конечно, сделать, но я бы даже как архитектор не стал бы этим заморачиваться. Проект с постоянным обновлением статики практически тупиковый по тому что приводит к цикличному обновлению ресурсов и все-равно придется вставлять какую-то динамику. Да те же фильтры, постраничный вывод и много чего еще.

А вообще
1. Какой тип сервера выбрать apache или nginx?

без разницы

2. Какую БД использовать для оптимальной и бесперебойной работы, нужно ли кэширование базы?

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

3. Какие технологии использовать для бэк-части проекта (логика вывода данных, запросы к БД)?

Так вы статику или динамику делаете?) Статодинамика это в спорт к бодибилдерам. А если серьезно то вообще не важно

4. Как и на чем лучше написать админку (или есть готовые решения/фрэймворки)?

Опять таки без разницы
Ответ написан
ThunderCat
@ThunderCat Куратор тега Веб-разработка
{PHP, MySql, HTML, JS, CSS} developer
TL;DR: Если коротко - абсолютно верный ответ дал Sanes, то есть проект будет хорошо работать если его сделает разбирающийся в своей области специалист.

Longread: Скажем так: разница между реализациями на разных технологиях будет, и весьма серьезная, но вы как заказчик и пользователь готового продукта ее не заметите (в идеальном мире). В реальности более компетентный исполнитель даже на менее подходящем стеке сделает качественнее. С другой стороны важно не только (и не столько) качество реализации, сколько распространенность технологии и наличие спецов с не запредельным ценником на обслуживание системы. По этому лучший выбор - спецы, хорошо реализующие проекты (с портфолио) на неэкзотичной технологии.

Все остальные вопросы вы задаете не по адресу, а большинство из них выдает полную некомпетентность в вопросе и вызывают улыбку (без обид, таких вопросов здесь реально очень много, просто в основном мало кто понимает что нужно искать на самом деле, вместо перебора модных слов).

Например достаточно странно тут:
...несколько миллионов статичных сгенерированных страниц... данные из базы будут комбинироваться и выводиться в зависимости от типа страницы.
Статикой тут даже не пахнет.

Какой тип сервера выбрать apache или nginx?
Понятно что речь идет о выборе софта (который на самом деле тоже сильно зависит от нюансов проекта, а кроме того еще и может комбинироваться), но слово "тип" не применимо в данном контексте и больше подходит к описанию железа или ОС.

Какую БД использовать для оптимальной и бесперебойной работы
Тип бд никак не влияет на бесперебойность работы (если не брать какой-то откровенный треш или нестабильные релизы), а производительность зависит от правильного подбора архитектуры, где есть КУЧА нюансов, таких как отношение количества запросов на запись и чтение, индексы нужного типа, необходимость в процедурах/триггерах, еще куча всяких вещей которые для вас, как для неспециалиста неочевидны или неизвестны.

нужно ли кэширование базы?
на 90% уверен что да, нужно, но все зависит от специфики и нюансов, вполне возможно что у вас кеш будет вечно холодный или вечно протухший, кроме того кэш - инструмент оптимизации, то есть сначала пишется логика, а за тем решают где и что можно закешировать без ущерба консистентности и актуальности.

Какие технологии использовать для бэк-части проекта (логика вывода данных, запросы к БД)?
Выше осветил данный вопрос.

Как и на чем лучше написать админку (или есть готовые решения/фрэймворки)?
Если вы не пишете ее самостоятельно, то ответ тот же что и для пункта выше, кроме того КРАЙНЕ РЕДКО админка пишется на технологии отличной от фронта.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Sanes
@Sanes
На усмотрение исполнителя.
Ответ написан
zorca
@zorca
Я бы делал на любом движке, который генерит статические версии страниц, то есть на любой CMS. Можно на Headless CMS + новомодном Gatsby для генерации статики.
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Apache + SSI + немного PHP
Стартуем новый стартап
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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