Где я должен сортировать и фильтровать? back-end или front-end? - PullRequest
0 голосов
/ 06 апреля 2019

Я сталкиваюсь с концептуальным конфликтом относительно того, должен ли я сортировать и фильтровать интерфейс или бэкэнд.

Некоторые предположили, что логика должна быть на бэкэнде и ограниченное количество данных, т. Е.) Клиенту следует предоставлять 10-100 результатов за раз, если у вас есть как миллионы данных, установленных для сокращения времени загрузки страницы.Что меня смущает, так это то, что если много клиентов сортируют и фильтруют одновременно (то есть 100 пользователей). Если это так, то вам придется постоянно сортировать и фильтровать миллионы записей 100 раз, что, я думаю, замедлитсервер.

Если я предполагаю, что мой набор данных составляет около 10000 - 100000, и у меня есть 10-50 пользователей, использующих приложение одновременно, и если начальная временная нагрузка не так важна, как частное предприятиеприложение т.е.) ERP, где должна фильтроваться и сортироваться логика вживую?

1 Ответ

1 голос
/ 06 апреля 2019

Нет единственно правильного ответа на ваш вопрос, ниже приведены плюсы и минусы вашего вопроса.

Сортировка на стороне сервера:

  1. Перегрузка сервера при сортировке данных.

  2. Меньше передачи данных для пользователя, поскольку вы уже отправляете отфильтрованные данные.

  3. Работа пользователя может быть плохой, если сортировка занимает много времени, пользователь будет ждать с пустым экраном.

Сортировка на стороне пользователя:

  1. Увеличение использования сети как для сервера, так и для пользователя, следовательно, длительный процесс для сервера.

  2. Может дать немного лучший пользовательский опыт, это может увеличить общее увеличение времени загрузки страницы, но у пользователя будут некоторые данные на его экране.

Лучше всего будет использовать лучшее из обоих миров, чем придерживаться одного.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...