The amount of data you receive every day is quite a lot (~ 5 GB), but the number of inserted rows is actually quite low. Therefore, you need to develop your physical model in order to simplify the administration of the database warehouse and efficiently execute queries.
Having a separate database in each city makes sense only if you have a server for the database. But you do not need load balancing, as you only need to process eight inserts every ten minutes. On the other hand, this architecture will turn every query that compares one city with another into a distributed query.
, , . . , .
, , (TOWN_ID). , spring Oracle Partitioning.