Also, about the data structures, from Making a hash of it • Life In 19x19 we have
As a reference point, on my machine Kombilo seems to use about 2G on a 110,000-game database that occupies about 15MB
So 40m/110k * 2GB = 726 GB
Beefy
Also links to Search Algorithms at Sensei's Library