Оптимизация затрат Firestore для данных временных рядов? - PullRequest
0 голосов
/ 08 мая 2020

Я использовал Postgres для хранения данных датчиков временных рядов, но я взвешиваю стоимость использования Firestore, потому что я предпочитаю бессерверный характер Firestore. Меня беспокоит только стоимость Firestore, потому что я плачу за каждое чтение. Я хочу иметь возможность отображать информацию об этом датчике в моем веб-приложении. Теперь я беру данные каждые 10 секунд, и имеется более 400+ сенсорных точек (400 столбцов на строку в моей postgres таблице)

В настоящее время, если пользователь запрашивает данные за неделю работы, это около 60000 строк данных, но я оптимизирую его, просто беря каждое n-е значение, чтобы «растушевать» данные. Таким образом, взяв, например, каждую 20-ю строку, я уменьшил возвращение данных до 3000 строк, что является управляемым, и все же диаграмма показывает четкую тенденцию.

Я хочу иметь возможность сделать это в Firestore, чтобы сохранить затрат, потому что, если пользователь запрашивает данные за неделю, я плачу за 60000 чтений документа, и я все равно не могу отобразить все эти точки данных в веб-приложении. Я попытался найти способы запросить firestore для получения N-й строки данных, но не нашел никаких конкретных решений.

Есть ли у кого-нибудь рекомендации, как я могу оптимизировать свои затраты Firestore для данных временных рядов или, возможно, какие-либо другие дешевые бессерверные методы управления этими данными?

1 Ответ

1 голос
/ 08 мая 2020

Firestore не предлагает никакого способа "удалить" данные из запросов, как вы говорите. Вместо этого вы могли бы поместить целое число в каждый документ, описывающее его «N-е» значение, а затем запрашивать только те «N», которые вам нужны.

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