Почему вы беспокоитесь о промежуточных компьютерах / базах данных?Попросите Raspberry сделать HTTP-запрос к центральному серверу, чтобы он «зарегистрировался», и периодически отправлять его содержимое на этот централизованный сервер.
Если нагрузка слишком велика, разделите этот централизованный сервер на уровни приложения / базы данных и распределите нагрузку на уровне приложения.Если нагрузка на базу данных все еще слишком велика, перепроектируйте вашу базу данных.
Наличие нескольких источников «истины» является одним из самых больших недостатков дизайна приложения.Не пытайтесь синхронизировать свой выход из этого, просто создайте единственную точку правды.Если вам нужно масштабировать этот централизованный дБ выше, тогда посмотрите на решения, которые поддаются этому, такие как решения NoSQL, вместо того, чтобы пытаться распространять их среди клиентов.