У меня есть много экземпляров серверов в облаке Google, которые работают весь день и собирают данные с различных периферийных устройств. У меня около 100 серверов, каждый из которых собирает около 50 устройств.
Данные для каждого источника обновляются с разной частотой, некоторые могут быть в секунду, некоторые могут быть в минуту, 5 минут, полчаса, час, 4 часа, полдня, вплоть до дня.
Данные обычно представляют собой 2 столбца, дата + время в одном столбце и точка данных в другом, так что это могут быть данные о температуре или данные о влажности почвы, направлении ветра и тому подобное.
Прямо сейчас каждый сервер собирает данные в фреймы данных python pandas и обновляет их в реальном времени, а затем, в конце дня, они обновляются или сохраняются в файлы csv (2 столбца csv файла). Каждое устройство, собирающее данные, имеет свой собственный CSV-файл. Я не обновляю их в один большой фрейм данных, потому что в них будет много пустых пространств из-за разницы в частоте обновления.
Это могло выглядеть так:
DateTime Device-19-Location-27-Temperature
01-June-2020 1:00p.m. 21.4
01-June-2020 1:01p.m. 21.5
....
Когда мне нужно получить доступ к данным, я должен подключаться к серверам по SSH один за другим, загружать файлы на свой компьютер и работать с данными после этого.
Мои знания баз данных практически отсутствуют, поэтому я делал это таким образом.
Мой первый вопрос: лучше ли хранить их в отдельных файлах csv? Думал сделать это из-за разной частоты обновлений.
И мой второй вопрос: есть ли централизованное расположение или база данных в облаке Google или в другом месте, где я могу хранить все эти файлы, получать к ним доступ, обновлять их с помощью какого-то API-интерфейса python, чтобы мне нужно было получить доступ только к одному месту, чтобы получить все мои данные?