В связи с характером данных, которые мы собираем в нашем приложении, необходимо, чтобы пользователь имел возможность выполнять поиск в более чем 1 000 000 строк данных и получать результаты на стороне клиента как можно быстрее.
Мы поэкспериментировали с различными методами и в настоящее время экспериментируем с механизмом хранения документов MongoDB. По сути, мы храним данные отчета в Mongo так, как мы хотим показать их на стороне клиента.
Но именно здесь я и хотел опираться на ваш опыт. Мы использовали некоторые плагины таблиц отчетов, такие как datatables.net, но когда клиент запрашивает данные, которые могут соответствовать более 100 000 записей, задержка доставки этих данных на клиентскую сторону может занять больше минуты, чтобы экспортировать JSON с сервера на клиент.
Я попытался отфильтровать набор результатов, отправив клиенту только 1000 результатов за раз, но что если пользователь решит отсортировать столбец? Весь запрос должен быть выполнен снова, и первые 1000 результатов загружены в клиент.
Но что, если клиент выберет поиск в столбце, результаты должны быть повторно получены снова. Все эти проблемы не существуют, когда все данных были загружены на стороне клиента.
Поэтому, по сути, мой вопрос заключается в том, как вы можете эффективно и быстро разрешить клиентам выполнять поиск и манипулировать большими наборами данных, но получать результаты на стороне клиента таким образом, чтобы не требовалось передавать каждый результат за один раз, следовательно, поддерживая клиентскую часть как можно более легкой?
Я уверен, что для MongoDB должны быть некоторые внешние плагины с датируемыми типами, возможно, через node.js для прямой связи JSON, но я ничего не могу найти!
Спасибо за вашу помощь.