I have a project where I need to create a Wi-Fi mesh network of nodes sharing a distributed mesh database that requires relatively quick search access on each node. I was initially thinking of running this using nodes consisting of ESP8266's (https://github.com/Coopdis/easyMesh) each containing an SD card (to store the database), but I'm concerned that most of the Arduino type code I've seen mostly runs in memory. Does this mean I have to load the "database" (In reality probably just a list with 2 or three fields for each record) into memory? I don't want to loop through the list to find the record I'm looking for as I think this will not be efficient. I was hoping to implement some kind of binary search algorithm. Note that entries in this database could go to about 40 000+ entries.
My fallback option is to run Windows IoT Core on a Raspberry Pi where I can use C# and possibly even a real database. My issue with this solution is that I have not been able to find an example of running a mesh network using Windows IoT Core.
Any thoughts or assistance would be much appreciated.