We're in the process of doing some VERY large scale IoT work, and due to the sheer mass of volume which is going to be coming in long term, I'm thinking ahead and trying to ensure that the solution that I architect is going to be able to handle said load.
As such, one of the things I'm contemplating is using a Digital Twin (ok, MANY MANY Digital Twins) as a middleware layer, thereby allowing our Complex Rule Engine instance to query\monitor the Digital Twin(s), instead of the firehose which will be the Sensor Feed.
One additional requirement that we're looking at is being able to run a digital twin on a lower footprint Facility level set of hardware\infrastructure, and then having the same model running at the cloud\data center. (This is a consideration to reduce latency and add redundancy in case of a loss of connectivity with the Satellite Facilities.)
But, most of the Digital Twin discussions I'm seeing are looking at Digital Twins have a limited number of attributes\features (looks like less than couple of dozen, by and large) which they are 'replicating'.
Our solution, on the other hand, is going to need to have (long term) thousands (potentially close to tens of thousands) of attributes being monitored (some physical, some derived) for each instance.
My initial thought was to build our own solution, utilizing an extremely configurable\flexible data model in a relational database (likely a free version, but full supported) but recognizing that building a custom solution is not always the best path, I recognize that utilizing a a COTS solution\option may be a better option, especially with where we're at in the SDLC.
Are there any options (preferably open source) which will meet our requirements\complexity, or should we just go ahead and build our own from the ground up?